feat(radio): replace robot TTS with Piper Neural voices & add instant voice preview

- Integrate local Piper ONNX neural TTS engine (Dmitri, Irina, Denis, Ruslan)
- Add GET /api/radio/preview-voice endpoint with cached pre-rendered samples
- Add '▶ Прослушать голос' button in Web UI for 1-click preview before generating
- Add automated filter to strip LLM refusals and fall back to clean radio phrasing
This commit is contained in:
Antigravity committed 2026-10-12 16:58:59 +03:00
1 parent e5afeb06cc
commit 4ed8e0c71a
7 files changed
+183 -24

No files matched your search

+2 -5
View File
@@ -146,11 +146,8 @@ class RadioManager:
"playlist_ready": playlist_ready,
"speech_clips_count": len(speech_files),
"speech_clips": speech_files,
"default_voice": settings.RADIO_VOICE,
"available_voices": [
{"id": "ru-RU-DmitryNeural", "name": "Дмитрий (Харизматичный DJ)", "gender": "Мужской"},
{"id": "ru-RU-SvetlanaNeural", "name": "Светлана (Мягкий вечерний голос)", "gender": "Женский"}
]
"default_voice": settings.RADIO_VOICE or "ru_RU-dmitri-medium",
"available_voices": dj_host.get_available_voices()
}
radio_manager = RadioManager()