Try / src /TextToSpeech /gtts_tts.py
Alamgirapi's picture
Upload folder src
b325aad verified
import os
from gtts import gTTS
def text_to_speech_with_gtts_old(input_text, output_filepath, language="en"):
audioobj= gTTS(
text=input_text,
lang=language,
slow=False
)
audioobj.save(output_filepath)
# input_text="Hi this is AI with Hassan for testing purpose!"
input_text= "مرحبًا، هذا ذكاء اصطناعي مع حسن لغرض الاختبار!"
text_to_speech_with_gtts_old(input_text=input_text, output_filepath="gtts_testing.mp3", language="ar")
#Step1b: Setup Text to Speech–TTS–model with ElevenLabs
import elevenlabs
from elevenlabs.client import ElevenLabs
ELEVENLABS_API_KEY=os.environ.get("ELEVEN_API_KEY")
def text_to_speech_with_elevenlabs_old(input_text, output_filepath):
client=ElevenLabs(api_key=ELEVENLABS_API_KEY)
audio=client.generate(
text= input_text,
voice= "Aria",
output_format= "mp3_22050_32",
model= "eleven_turbo_v2"
)
elevenlabs.save(audio, output_filepath)
#text_to_speech_with_elevenlabs_old(input_text, output_filepath="elevenlabs_testing.mp3")
#Step2: Use Model for Text output to Voice
import subprocess
import platform
def text_to_speech_with_gtts(input_text, output_filepath):
language="en"
audioobj= gTTS(
text=input_text,
lang=language,
slow=False
)
audioobj.save(output_filepath)
os_name = platform.system()
try:
if os_name == "Darwin": # macOS
subprocess.run(['afplay', output_filepath])
elif os_name == "Windows": # Windows
subprocess.run(['powershell', '-c', f'(New-Object Media.SoundPlayer "{output_filepath}").PlaySync();'])
elif os_name == "Linux": # Linux
subprocess.run(['aplay', output_filepath]) # Alternative: use 'mpg123' or 'ffplay'
else:
raise OSError("Unsupported operating system")
except Exception as e:
print(f"An error occurred while trying to play the audio: {e}")
input_text="Hi this is Ai with Hassan, autoplay testing!"
#text_to_speech_with_gtts(input_text=input_text, output_filepath="gtts_testing_autoplay.mp3")
def text_to_speech_with_elevenlabs(input_text, output_filepath):
client=ElevenLabs(api_key=ELEVENLABS_API_KEY)
audio=client.generate(
text= input_text,
voice= "Aria",
output_format= "mp3_22050_32",
model= "eleven_turbo_v2"
)
elevenlabs.save(audio, output_filepath)
os_name = platform.system()
try:
if os_name == "Darwin": # macOS
subprocess.run(['afplay', output_filepath])
elif os_name == "Windows": # Windows
subprocess.run(['powershell', '-c', f'(New-Object Media.SoundPlayer "{output_filepath}").PlaySync();'])
elif os_name == "Linux": # Linux
subprocess.run(['aplay', output_filepath]) # Alternative: use 'mpg123' or 'ffplay'
else:
raise OSError("Unsupported operating system")
except Exception as e:
print(f"An error occurred while trying to play the audio: {e}")
#text_to_speech_with_elevenlabs(input_text, output_filepath="elevenlabs_testing_autoplay.mp3")