Spaces:
Running
Running
| import os | |
| from gtts import gTTS | |
| from dotenv import load_dotenv | |
| load_dotenv() | |
| def text_to_speech_with_gtts_old_no_autoplay_functionality(input_text , output_file): | |
| language = 'en' | |
| gttsObj = gTTS( | |
| text=input_text, | |
| lang=language, | |
| slow=False | |
| ) | |
| gttsObj.save(output_file) | |
| text = "hello this is me danish with ai voice" | |
| text_to_speech_with_gtts_old_no_autoplay_functionality(input_text=text,output_file= "output_gtts.mp3") | |
| # import elevenlabs | |
| # from elevenlabs.client import ElevenLabs | |
| # ELEVENLABS_API_KEY = os.environ.get("ELEVENLABS_API_KEY") | |
| # def text_to_speech_with_elevenlabs_old_no_autoplay_functionality(input_text , output_file): | |
| # client = ElevenLabs(api_key = ELEVENLABS_API_KEY) | |
| # audio = client.text_to_speech.convert( | |
| # text = input_text, | |
| # voice_id = "sunJnCSgZmOuefCgCWBd", | |
| # model_id = "eleven_turbo_v2", | |
| # output_format = "mp3_22050_32" | |
| # ) | |
| # elevenlabs.save(audio , output_file) | |
| # text_to_speech_with_elevenlabs_old_no_autoplay_functionality(input_text=text,output_file= "output_elevenlabs.mp3") | |
| import subprocess | |
| import platform | |
| from pydub import AudioSegment | |
| def text_to_speech_with_gtts_new_autoplay(input_text , output_file): | |
| language = 'en' | |
| #create gtts object | |
| gttsObj = gTTS( | |
| text=input_text, | |
| lang=language, | |
| slow=False | |
| ) | |
| #save the audio file | |
| gttsObj.save(output_file) | |
| #converstion from mp3 to wav | |
| wav_file = output_file.replace('.mp3', '.wav') | |
| AudioSegment.from_mp3(output_file).export(wav_file,format="wav") | |
| # Optionally remove the original mp3 file | |
| # os.remove(output_file) | |
| # Play the wav file based on the operating system | |
| os_name = platform.system() | |
| try: | |
| if os_name == "Darwin": | |
| subprocess.run(['afplay', wav_file]) | |
| elif os_name == "Windows": | |
| subprocess.run(['powershell', '-c', f'(New-Object Media.SoundPlayer "{wav_file}").PlaySync();']) | |
| elif os_name == "Linux": | |
| subprocess.run(['aplay', wav_file]) | |
| else: | |
| raise OSError("Unsupported operating system") | |
| except Exception as e: | |
| print(f"An error occurred while trying to play the audio: {e}") | |
| text = "hello this is me danish with ai voice" | |
| text_to_speech_with_gtts_new_autoplay(input_text=text,output_file= "gtts_testing_autoplay.mp3") | |
| # def text_to_speech_with_elevenlabs_new_autoplay(input_text , output_file): | |
| # client = ElevenLabs(api_key = ELEVENLABS_API_KEY) | |
| # audio = client.text_to_speech.convert( | |
| # text = input_text, | |
| # voice_id = "sunJnCSgZmOuefCgCWBd", | |
| # model_id = "eleven_turbo_v2", | |
| # output_format = "mp3_22050_32" | |
| # ) | |
| # elevenlabs.save(audio , output_file) | |
| # wav_file = output_file.replace("mp3", "wav") | |
| # AudioSegment.from_mp3(output_file).export(wav_file,format="wav") | |
| # # os.remove(output_file) | |
| # os_name = platform.system() | |
| # try: | |
| # if os_name == "Darwin": | |
| # subprocess.run(['afplay', wav_file]) | |
| # elif os_name == "Windows": | |
| # subprocess.run(['powershell', '-c', f'(New-Object Media.SoundPlayer "{wav_file}").PlaySync();']) | |
| # elif os_name == "Linux": | |
| # subprocess.run(['aplay', wav_file]) | |
| # else: | |
| # raise OSError("Unsupported operating system") | |
| # except Exception as e: | |
| # print(f"An error occurred while trying to play the audio: {e}") | |
| # text = "hello this is me danish with ai voice" | |
| # text_to_speech_with_elevenlabs_new_autoplay(input_text=text,output_file= "output_elevenlabs_autoplay.mp3") |