aboutsummaryrefslogtreecommitdiff
path: root/app/docs/backend-faster.md
blob: e7bcc8f0c36550d3eec7fb7dd08a4f6e86ed80c9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# faster-qwen3-tts (`--backend faster`)

Runs the OpenAI-compatible demo server from [faster-qwen3-tts](https://github.com/andimarafioti/faster-qwen3-tts). The package installs into its own managed venv (`app/envs/faster`), the repo is cloned to `app/faster-qwen3-tts`.

Run all commands from the project root (next to `audiobook.py`).

## Requirements

- NVIDIA GPU
- git

## Install

1. Venv and package:

```bash
python3 -m venv app/envs/faster
app/envs/faster/bin/pip install "faster-qwen3-tts[demo]"
```

Do not install upstream `qwen-tts` into this venv — the two ship conflicting `qwen_tts` modules.

2. Clone the repo (the pip package does not include the server script):

```bash
git clone https://github.com/andimarafioti/faster-qwen3-tts app/faster-qwen3-tts
```

3. Create a `voices.json` mapping voice names to reference clips:

```json
{
    "default": {"ref_audio": "voice1.wav", "ref_text": "Transcript of voice 1.", "language": "English"},
    "obama": {"ref_audio": "voice2.wav", "ref_text": "Transcript of voice 2.", "language": "English"}
}
```

This backend always clones: every voice is a key in this file, and `ref_text` is the transcript of the clip.

## Run the server

```bash
app/envs/faster/bin/python app/faster-qwen3-tts/examples/openai_server.py --voices voices.json --port 8000
```

## Use it

```bash
python audiobook.py --backend faster --api-url http://127.0.0.1:8000 --voice default
```

`--voice` must be a key in the server's `voices.json`.