from gtts import gTTS from pydub import AudioSegment import os from dotenv import load_dotenv # Optional, only if you need environment variables import pygame import warnings warnings.filterwarnings("ignore") # Optional, only if you have any environment variables to load load_dotenv() def text_to_speech_with_gtts(text, mp3_output_path): """ Converts text to speech using gTTS, saves it as MP3, and optionally converts it to WAV. Args: - text (str): The text that will be converted to speech. - mp3_output_path (str): The path where the MP3 file will be saved. - wav_output_path (str, optional): If provided, will save the converted WAV file here. """ try: # Convert text to speech print("Converting text to speech...") tts = gTTS(text=text, lang='en') tts.save(mp3_output_path) print(f"MP3 file saved to {mp3_output_path}") # Initialize pygame mixer pygame.mixer.init() # Play the MP3 file print("Playing the MP3 file...") pygame.mixer.music.load(mp3_output_path) pygame.mixer.music.play() while pygame.mixer.music.get_busy(): pygame.time.Clock().tick(14) print("Audio playback finished.") except Exception as e: print(f"Error during text-to-speech conversion: {e}") # Example usage # text = "Hello my name is waris. i am from islamabad, Right now i am struggling to get the job in the field of Art" # mp3_file = r"C:\Users\HP\Desktop\ChatWithDoctorAny\ChatWithDoctorAny\output.mp3" # text_to_speech_with_gtts(text, mp3_file)