KIMOSSINO commited on
Commit
c578c49
·
verified ·
1 Parent(s): f5001e3

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +14 -19
app.py CHANGED
@@ -13,39 +13,34 @@ vocoder = SpeechT5HifiGan.from_pretrained("microsoft/speecht5_hifigan")
13
  LANGUAGES = {"English": "en", "French": "fr", "Spanish": "es"}
14
 
15
  def generate_speaker_embedding(speaker_type):
16
- """
17
- توليد تعبيرات الصوت بناءً على نوع الصوت (ذكر أو أنثى).
18
- """
19
  base_embedding = torch.randn(1, 512)
20
  if speaker_type == "Female":
21
  return base_embedding * 0.8
22
  return base_embedding * 1.2
23
 
24
- def adjust_speed(audio, speed, sampling_rate=24000):
25
- """
26
- تعديل سرعة الصوت باستخدام مكتبة librosa.
27
- """
28
  return librosa.effects.time_stretch(audio, speed)
29
 
30
  def text_to_speech(text, language, speaker_type, speed):
31
- """
32
- تحويل النص إلى صوت.
33
- """
34
  try:
35
  # توليد تعبيرات الصوت بناءً على نوع المتحدث
36
  speaker_embeddings = generate_speaker_embedding(speaker_type)
37
 
38
  # معالجة النص
39
  inputs = processor(text=text, return_tensors="pt")
40
-
41
  # توليد الصوت
42
- generated_speech = model.generate_speech(
43
- inputs["input_ids"],
44
- speaker_embeddings,
45
- vocoder=vocoder
46
- ).cpu().numpy()
47
-
48
- # تعديل سرعة الصوت
 
49
  adjusted_speech = adjust_speed(generated_speech, speed)
50
 
51
  # حفظ الصوت كملف WAV
@@ -90,4 +85,4 @@ def create_interface():
90
 
91
  # تشغيل التطبيق
92
  demo = create_interface()
93
- demo.launch()
 
13
  LANGUAGES = {"English": "en", "French": "fr", "Spanish": "es"}
14
 
15
  def generate_speaker_embedding(speaker_type):
16
+ """توليد تعبيرات الصوت بناءً على نوع الصوت (ذكر أو أنثى)."""
 
 
17
  base_embedding = torch.randn(1, 512)
18
  if speaker_type == "Female":
19
  return base_embedding * 0.8
20
  return base_embedding * 1.2
21
 
22
+ def adjust_speed(audio, speed):
23
+ """تعديل سرعة الصوت باستخدام مكتبة librosa."""
 
 
24
  return librosa.effects.time_stretch(audio, speed)
25
 
26
  def text_to_speech(text, language, speaker_type, speed):
27
+ """تحويل النص إلى صوت."""
 
 
28
  try:
29
  # توليد تعبيرات الصوت بناءً على نوع المتحدث
30
  speaker_embeddings = generate_speaker_embedding(speaker_type)
31
 
32
  # معالجة النص
33
  inputs = processor(text=text, return_tensors="pt")
34
+
35
  # توليد الصوت
36
+ with torch.no_grad(): # تحسين إدارة الموارد
37
+ generated_speech = model.generate_speech(
38
+ inputs["input_ids"],
39
+ speaker_embeddings,
40
+ vocoder=vocoder
41
+ ).cpu().numpy()
42
+
43
+ # ضبط سرعة الصوت
44
  adjusted_speech = adjust_speed(generated_speech, speed)
45
 
46
  # حفظ الصوت كملف WAV
 
85
 
86
  # تشغيل التطبيق
87
  demo = create_interface()
88
+ demo.launch(server_name="0.0.0.0", timeout=180)