Fix Piper 1.2+ synthesize API: pass wav_file BytesIO buffer
Browse files
main.py
CHANGED
|
@@ -90,9 +90,9 @@ async def tts(request: TTSRequest):
|
|
| 90 |
raise HTTPException(400, f"Voice load failed: {str(e)}")
|
| 91 |
|
| 92 |
try:
|
| 93 |
-
audio = voice.synthesize(request.text, speaker_id=request.speaker_id)
|
| 94 |
buffer = BytesIO()
|
| 95 |
-
|
|
|
|
| 96 |
buffer.seek(0)
|
| 97 |
return Response(
|
| 98 |
content=buffer.read(),
|
|
@@ -113,4 +113,4 @@ async def root():
|
|
| 113 |
"available_voices": list(VOICE_MODELS.keys()),
|
| 114 |
"endpoint": "/tts (POST)",
|
| 115 |
"example": {"text": "你好,这是 Piper TTS 测试", "lang": "zh"}
|
| 116 |
-
}
|
|
|
|
| 90 |
raise HTTPException(400, f"Voice load failed: {str(e)}")
|
| 91 |
|
| 92 |
try:
|
|
|
|
| 93 |
buffer = BytesIO()
|
| 94 |
+
# Piper 1.2+ requires wav_file parameter
|
| 95 |
+
voice.synthesize(request.text, speaker_id=request.speaker_id, wav_file=buffer)
|
| 96 |
buffer.seek(0)
|
| 97 |
return Response(
|
| 98 |
content=buffer.read(),
|
|
|
|
| 113 |
"available_voices": list(VOICE_MODELS.keys()),
|
| 114 |
"endpoint": "/tts (POST)",
|
| 115 |
"example": {"text": "你好,这是 Piper TTS 测试", "lang": "zh"}
|
| 116 |
+
}
|