Jacky2305 commited on
Commit
e80218c
·
1 Parent(s): 4e65862

Fix Piper 1.2+ synthesize API: pass wav_file BytesIO buffer

Browse files
Files changed (1) hide show
  1. main.py +3 -3
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
- sf.write(buffer, audio, request.sample_rate, format='WAV')
 
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
+ }