Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -33,10 +33,7 @@ try:
|
|
33 |
)
|
34 |
|
35 |
# 2. نموذج توليف الصوت (نموذج بديل)
|
36 |
-
tts_model =
|
37 |
-
"coqui/tts-arabic",
|
38 |
-
token=os.getenv("HF_TOKEN")
|
39 |
-
)
|
40 |
|
41 |
except Exception as e:
|
42 |
logger.error(f"فشل تحميل النماذج: {str(e)}")
|
@@ -94,9 +91,7 @@ async def generate_response(text: str, user_id: str) -> str:
|
|
94 |
|
95 |
async def text_to_speech(text: str) -> None:
|
96 |
try:
|
97 |
-
|
98 |
-
tts_pipeline = pipeline("text-to-speech", model="coqui/tts-arabic", token=os.getenv("HF_TOKEN"))
|
99 |
-
audio = tts_pipeline(text)
|
100 |
sf.write("bot_response.wav", audio, 22050) # تأكد من استخدام معدل العينة الصحيح
|
101 |
except Exception as e:
|
102 |
logger.error(f"فشل تحويل النص إلى صوت: {str(e)}")
|
@@ -112,15 +107,15 @@ async def process_voice(update: Update, context):
|
|
112 |
await voice_file.download_to_drive("user_voice.ogg")
|
113 |
|
114 |
user_text = await speech_to_text("user_voice.ogg")
|
115 |
-
|
116 |
-
await update.message.reply_text("
|
117 |
return
|
118 |
|
119 |
bot_response = await generate_response(user_text, str(user_id))
|
120 |
await text_to_speech(bot_response)
|
121 |
|
122 |
if enhance_audio("bot_response.wav", "bot_response_enhanced.wav"):
|
123 |
-
await update.message.reply_voice("bot_response_enhanced.wav")
|
124 |
else:
|
125 |
await update.message.reply_voice("bot_response.wav")
|
126 |
|
|
|
33 |
)
|
34 |
|
35 |
# 2. نموذج توليف الصوت (نموذج بديل)
|
36 |
+
tts_model = pipeline("text-to-speech", model="coqui/tts-arabic", token=os.getenv("HF_TOKEN"))
|
|
|
|
|
|
|
37 |
|
38 |
except Exception as e:
|
39 |
logger.error(f"فشل تحميل النماذج: {str(e)}")
|
|
|
91 |
|
92 |
async def text_to_speech(text: str) -> None:
|
93 |
try:
|
94 |
+
audio = tts_model(text)
|
|
|
|
|
95 |
sf.write("bot_response.wav", audio, 22050) # تأكد من استخدام معدل العينة الصحيح
|
96 |
except Exception as e:
|
97 |
logger.error(f"فشل تحويل النص إلى صوت: {str(e)}")
|
|
|
107 |
await voice_file.download_to_drive("user_voice.ogg")
|
108 |
|
109 |
user_text = await speech_to_text("user_voice.ogg")
|
110 |
+
if not user_text:
|
111 |
+
await update.message.reply_text("لم أتمكن من فهم الصوت. يرجى المحاولة مرة أخرى.")
|
112 |
return
|
113 |
|
114 |
bot_response = await generate_response(user_text, str(user_id))
|
115 |
await text_to_speech(bot_response)
|
116 |
|
117 |
if enhance_audio("bot_response.wav", "bot_response_enhanced.wav"):
|
118 |
+
await update .message.reply_voice("bot_response_enhanced.wav")
|
119 |
else:
|
120 |
await update.message.reply_voice("bot_response.wav")
|
121 |
|