Athspi commited on
Commit
7582b7f
·
verified ·
1 Parent(s): fe3e319

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -4
app.py CHANGED
@@ -1,4 +1,5 @@
1
  import os
 
2
  from flask import Flask, request, jsonify, send_file, send_from_directory
3
  import google.generativeai as genai
4
  from gtts import gTTS, lang
@@ -78,16 +79,27 @@ def translate_audio():
78
  response = model.generate_content(prompt)
79
  translated_text = response.text.strip()
80
 
81
- # Generate TTS
82
  if target_language in KOKORO_LANGUAGES:
83
  lang_code = KOKORO_LANGUAGES[target_language]
84
  pipeline = KPipeline(lang_code=lang_code)
85
  generator = pipeline(translated_text, voice="af_heart", speed=1)
86
- audio_data = next((audio for _, _, audio in generator), None)
87
- if audio_data:
 
 
 
 
 
 
 
 
88
  _, temp_output_path = tempfile.mkstemp(suffix=".wav")
89
  sf.write(temp_output_path, audio_data, 24000)
 
 
90
  else:
 
91
  lang_code = next((k for k, v in GTTS_LANGUAGES.items() if v == target_language), 'en')
92
  tts = gTTS(translated_text, lang=lang_code)
93
  _, temp_output_path = tempfile.mkstemp(suffix=".mp3")
@@ -116,4 +128,4 @@ def download_file(filename):
116
  return jsonify({'error': 'File not found'}), 404
117
 
118
  if __name__ == '__main__':
119
- app.run(host="0.0.0.0", port=7860)
 
1
  import os
2
+ import numpy as np
3
  from flask import Flask, request, jsonify, send_file, send_from_directory
4
  import google.generativeai as genai
5
  from gtts import gTTS, lang
 
79
  response = model.generate_content(prompt)
80
  translated_text = response.text.strip()
81
 
82
+ # Generate TTS (corrected version)
83
  if target_language in KOKORO_LANGUAGES:
84
  lang_code = KOKORO_LANGUAGES[target_language]
85
  pipeline = KPipeline(lang_code=lang_code)
86
  generator = pipeline(translated_text, voice="af_heart", speed=1)
87
+
88
+ # Collect all audio segments
89
+ audio_segments = []
90
+ for _, _, audio in generator:
91
+ if audio is not None: # Explicit None check
92
+ audio_segments.append(audio)
93
+
94
+ if audio_segments:
95
+ # Concatenate audio tensors
96
+ audio_data = np.concatenate(audio_segments)
97
  _, temp_output_path = tempfile.mkstemp(suffix=".wav")
98
  sf.write(temp_output_path, audio_data, 24000)
99
+ else:
100
+ raise ValueError("No audio generated by Kokoro")
101
  else:
102
+ # Fallback to gTTS
103
  lang_code = next((k for k, v in GTTS_LANGUAGES.items() if v == target_language), 'en')
104
  tts = gTTS(translated_text, lang=lang_code)
105
  _, temp_output_path = tempfile.mkstemp(suffix=".mp3")
 
128
  return jsonify({'error': 'File not found'}), 404
129
 
130
  if __name__ == '__main__':
131
+ app.run(host='0.0.0.0', port=5000, debug=True)