docs: Add model downloading instructions to README

This commit adds a crucial "Downloading Models" section to the README.md.

- Explains that models are not included in the Docker image and must be downloaded manually.
- Provides detailed instructions for downloading Piper models from Hugging Face, including an example for the  voice.
- Clarifies the expected directory structure for placing the downloaded models.
- Mentions that StyleTTS is currently a placeholder and does not require model downloads.
This commit is contained in:
2025-12-04 23:04:08 +01:00
parent 2669af6cf1
commit 06a484d0aa

View File

@ -20,6 +20,43 @@ This guide covers local development. For information on using the container regi
- [Docker](https://docs.docker.com/get-docker/) - [Docker](https://docs.docker.com/get-docker/)
- [Docker Compose](https://docs.docker.com/compose/install/) - [Docker Compose](https://docs.docker.com/compose/install/)
### Downloading Models (Crucial Step!)
The Docker image for AudioEngineHub does *not* include the large TTS model files to keep the image small and portable. You need to **manually download** the models for the engines you wish to use and place them in the correct local directory. The `docker-compose.yml` then makes these models available to the container via a volume mount.
#### Piper Models
* **Source:** [https://huggingface.co/rhasspy/piper-voices/tree/main](https://huggingface.co/rhasspy/piper-voices/tree/main)
**Instructions:**
1. Go to the link above and navigate to a voice you want to use (e.g., `en/en_GB/vctk/medium/`).
2. For each voice, you need to download two files:
* The `.onnx` model file (e.g., `en_GB-vctk-medium.onnx`)
* The corresponding `.onnx.json` configuration file (e.g., `en_GB-vctk-medium.onnx.json`)
3. Create a directory for the voice inside your local `app/models/piper/` directory. The directory name must match the model's base name (e.g., `en_GB-vctk-medium`).
4. Place both downloaded files into that new directory.
**Example: Setting up `en_GB-vctk-medium`:**
Your local directory structure should look like this:
```
AudioEngineHub/
├── app/
│ ├── models/
│ │ ├── piper/
│ │ │ ├── en_GB-vctk-medium/ <-- This directory's name MUST match the model name
│ │ │ │ ├── en_GB-vctk-medium.onnx
│ │ │ │ └── en_GB-vctk-medium.onnx.json
│ │ └── styletts/ # Placeholder, no external models currently needed
│ └── ...
├── ...
```
#### StyleTTS Models
The `styletts` engine is currently a placeholder (dummy implementation) and does not require external model downloads at this time. Its `list_models()` method provides hardcoded model names.
### Local Development Setup ### Local Development Setup
1. **Clone the repository:** 1. **Clone the repository:**
@ -33,7 +70,7 @@ This guide covers local development. For information on using the container regi
```bash ```bash
cp .env.example .env cp .env.example .env
``` ```
Open the `.env` file and configure the `ACTIVE_ENGINES` list to include the engines you want to use. For example: Open the `.env` file and configure the `ACTIVE_ENGINES` list to include the engines you want to use. Make sure the model directories exist for activated engines (e.g., if you enable `piper`, ensure its models are downloaded). For example:
``` ```
ACTIVE_ENGINES='["piper", "styletts"]' ACTIVE_ENGINES='["piper", "styletts"]'
``` ```