Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -8,7 +8,7 @@ import soundfile as sf
|
|
8 |
from pydub import AudioSegment
|
9 |
from telegram import Update
|
10 |
from telegram.ext import ApplicationBuilder, MessageHandler, filters, CommandHandler
|
11 |
-
from transformers import pipeline
|
12 |
from huggingface_hub import login
|
13 |
import asyncio
|
14 |
from collections import defaultdict
|
@@ -33,7 +33,7 @@ try:
|
|
33 |
)
|
34 |
|
35 |
# 2. نموذج توليف الصوت (نموذج بديل)
|
36 |
-
|
37 |
|
38 |
except Exception as e:
|
39 |
logger.error(f"فشل تحميل النماذج: {str(e)}")
|
@@ -91,8 +91,8 @@ async def generate_response(text: str, user_id: str) -> str:
|
|
91 |
|
92 |
async def text_to_speech(text: str) -> None:
|
93 |
try:
|
94 |
-
audio =
|
95 |
-
sf.write("bot_response.wav", audio, 22050) # تأكد من استخدام معدل العينة الصحيح
|
96 |
except Exception as e:
|
97 |
logger.error(f"فشل تحويل النص إلى صوت: {str(e)}")
|
98 |
|
@@ -115,7 +115,7 @@ async def process_voice(update: Update, context):
|
|
115 |
await text_to_speech(bot_response)
|
116 |
|
117 |
if enhance_audio("bot_response.wav", "bot_response_enhanced.wav"):
|
118 |
-
await update
|
119 |
else:
|
120 |
await update.message.reply_voice("bot_response.wav")
|
121 |
|
|
|
8 |
from pydub import AudioSegment
|
9 |
from telegram import Update
|
10 |
from telegram.ext import ApplicationBuilder, MessageHandler, filters, CommandHandler
|
11 |
+
from transformers import pipeline
|
12 |
from huggingface_hub import login
|
13 |
import asyncio
|
14 |
from collections import defaultdict
|
|
|
33 |
)
|
34 |
|
35 |
# 2. نموذج توليف الصوت (نموذج بديل)
|
36 |
+
tts_pipeline = 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_pipeline(text)
|
95 |
+
sf.write("bot_response.wav", audio["audio"], 22050) # تأكد من استخدام معدل العينة الصحيح
|
96 |
except Exception as e:
|
97 |
logger.error(f"فشل تحويل النص إلى صوت: {str(e)}")
|
98 |
|
|
|
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_enh hanced.wav")
|
119 |
else:
|
120 |
await update.message.reply_voice("bot_response.wav")
|
121 |
|