Update README.md
Browse files
README.md
CHANGED
|
@@ -1,32 +1,35 @@
|
|
| 1 |
---
|
| 2 |
-
title:
|
| 3 |
-
emoji:
|
| 4 |
-
colorFrom:
|
| 5 |
-
colorTo:
|
| 6 |
-
sdk:
|
| 7 |
pinned: false
|
| 8 |
---
|
| 9 |
|
| 10 |
# ActualTTS (Piper CLI, CPU)
|
| 11 |
|
| 12 |
FastAPI wrapper around the *Piper* TTS CLI for CPU-only synthesis.
|
| 13 |
-
Voices are
|
| 14 |
|
| 15 |
## Endpoints
|
| 16 |
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
Body (JSON): { "voice": "en_US-amy-medium" }
|
| 20 |
-
Known: en_US-lessac-high, en_US-libritts-high, en_US-amy-medium
|
| 21 |
-
- POST /speak – synthesize a WAV and return an audio_url
|
| 22 |
-
Body (JSON): { "text": "Hello", "voice": "en_US-lessac-high", "rate_wpm": 170 }
|
| 23 |
-
- GET /file/{name} – fetch a generated WAV
|
| 24 |
-
- WS /ws/tts – near-real-time streaming:
|
| 25 |
-
1) send {"event":"init","voice":"en_US-lessac-high","rate_wpm":170}
|
| 26 |
-
2) send {"event":"speak","text":"Your paragraph..."}
|
| 27 |
-
3) receive {event:"ready", sr, channels}, then *binary* wav bytes and {event:"done"}
|
| 28 |
|
| 29 |
-
|
|
|
|
|
|
|
|
|
|
| 30 |
|
| 31 |
-
|
| 32 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
---
|
| 2 |
+
title: ActualTTS (Piper CLI, CPU)
|
| 3 |
+
emoji: 🗣
|
| 4 |
+
colorFrom: blue
|
| 5 |
+
colorTo: purple
|
| 6 |
+
sdk: docker
|
| 7 |
pinned: false
|
| 8 |
---
|
| 9 |
|
| 10 |
# ActualTTS (Piper CLI, CPU)
|
| 11 |
|
| 12 |
FastAPI wrapper around the *Piper* TTS CLI for CPU-only synthesis.
|
| 13 |
+
Voices are cached under a writable dir and can be provisioned via API.
|
| 14 |
|
| 15 |
## Endpoints
|
| 16 |
|
| 17 |
+
### Health
|
| 18 |
+
GET /health → engine info, available voices, cache dirs
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 19 |
|
| 20 |
+
### Provision
|
| 21 |
+
POST /provision
|
| 22 |
+
Body: {"voice":"en_US-amy-medium"}
|
| 23 |
+
Downloads the ONNX + JSON for the requested voice if missing.
|
| 24 |
|
| 25 |
+
### Make WAV (JSON → URL)
|
| 26 |
+
POST /speak
|
| 27 |
+
Body:
|
| 28 |
+
```json
|
| 29 |
+
{
|
| 30 |
+
"text": "Hello",
|
| 31 |
+
"voice": "en_US-lessac-high",
|
| 32 |
+
"length_scale": 1.08,
|
| 33 |
+
"noise_scale": 0.35,
|
| 34 |
+
"noise_w": 0.90
|
| 35 |
+
}
|