sultan-hassan commited on
Commit
2a1a45f
·
verified ·
1 Parent(s): 0e40cd6

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +22 -17
app.py CHANGED
@@ -1,22 +1,24 @@
1
  import os
2
  import gradio as gr
3
- import elevenlabs
4
- from elevenlabs.client import ElevenLabs
5
- from speech_recognition import Recognizer, AudioFile
6
  import io
7
  from google import genai
8
  from google.genai import types
9
- from dotenv import load_dotenv
10
- from elevenlabs import play
 
11
 
12
- load_dotenv()
13
-
14
- elevenlabs = ElevenLabs(
15
- api_key=os.getenv("ELEVENLABS_API_KEY"),
16
- )
17
 
 
 
 
18
 
19
 
 
 
20
 
21
  # --- API Keys (Set as environment variables for security!) ---
22
  genai_api_key = os.environ.get("GOOGLE_API_KEY") # Gemini API Key
@@ -28,7 +30,7 @@ genai_api_key = os.environ.get("GOOGLE_API_KEY") # Gemini API Key
28
  client = genai.Client(api_key=genai_api_key)
29
 
30
  # --- ElevenLabs Voice ---
31
- voice = "Bella" # Choose a voice from ElevenLabs
32
 
33
  # --- Language Tutor Parameters ---
34
  target_language = "Arabic"
@@ -70,15 +72,18 @@ def evaluate_answer(question, answer):
70
  def text_to_speech(text, voice):
71
  """Converts text to speech using ElevenLabs."""
72
 
73
- audio = elevenlabs.text_to_speech.convert(
74
- text=text,
75
- voice_id="JBFqnCBsd6RMkjVDRZzb",
76
- model_id="eleven_monolingual_v1",
77
  #output_format="mp3_44100_128",
78
  )
79
 
80
  #audio = elevenlabs.tts(text=text, voice=voice, model="eleven_monolingual_v1")
81
- return b"".join(audio)
 
 
 
82
 
83
  def transcribe_audio(audio_file):
84
  """Transcribes audio using SpeechRecognition."""
@@ -111,7 +116,7 @@ def process_answer(audio_file, question, question_audio):
111
 
112
  # --- Gradio Interface ---
113
  with gr.Blocks() as demo:
114
- gr.Markdown("# Adaptive Language Tutor (Spanish)")
115
  with gr.Row():
116
  generate_button = gr.Button("Generate Question")
117
  question_audio_output = gr.Audio(label="Question")
 
1
  import os
2
  import gradio as gr
3
+ #import elevenlabs
4
+ #from elevenlabs.client import ElevenLabs
5
+ #from speech_recognition import Recognizer, AudioFile
6
  import io
7
  from google import genai
8
  from google.genai import types
9
+ #from dotenv import load_dotenv
10
+ #from elevenlabs import play
11
+ from TTS.api import TTS
12
 
13
+ #load_dotenv()
 
 
 
 
14
 
15
+ #elevenlabs = ElevenLabs(
16
+ # api_key=os.getenv("ELEVENLABS_API_KEY"),
17
+ #)
18
 
19
 
20
+ # --- TTS Setup ---
21
+ tts = TTS(model_name="tts_models/multilingual/multi-dataset/xtts_v2", progress_bar=False, gpu=False)
22
 
23
  # --- API Keys (Set as environment variables for security!) ---
24
  genai_api_key = os.environ.get("GOOGLE_API_KEY") # Gemini API Key
 
30
  client = genai.Client(api_key=genai_api_key)
31
 
32
  # --- ElevenLabs Voice ---
33
+ voice = "p225"#"Bella" # Choose a voice from ElevenLabs
34
 
35
  # --- Language Tutor Parameters ---
36
  target_language = "Arabic"
 
72
  def text_to_speech(text, voice):
73
  """Converts text to speech using ElevenLabs."""
74
 
75
+ #audio = elevenlabs.text_to_speech.convert(
76
+ #text=text,
77
+ #voice_id="JBFqnCBsd6RMkjVDRZzb",
78
+ #model_id="eleven_monolingual_v1",
79
  #output_format="mp3_44100_128",
80
  )
81
 
82
  #audio = elevenlabs.tts(text=text, voice=voice, model="eleven_monolingual_v1")
83
+ #return b"".join(audio)
84
+ wav = tts.tts(text=text, speaker=voice, language=target_language, speed=1.0)
85
+ return wav
86
+
87
 
88
  def transcribe_audio(audio_file):
89
  """Transcribes audio using SpeechRecognition."""
 
116
 
117
  # --- Gradio Interface ---
118
  with gr.Blocks() as demo:
119
+ gr.Markdown("# Adaptive Language Tutor (Arabic)")
120
  with gr.Row():
121
  generate_button = gr.Button("Generate Question")
122
  question_audio_output = gr.Audio(label="Question")