Spaces:
Runtime error
Runtime error
| import speech_recognition as sr | |
| from gtts import gTTS | |
| import tempfile | |
| from pydub import AudioSegment | |
| class AudioProcessor: | |
| def __init__(self): | |
| self.recognizer = sr.Recognizer() | |
| def audio_to_text(self, audio_file): | |
| """Process an uploaded audio file and convert it to text.""" | |
| try: | |
| # Convert audio file to WAV format | |
| audio = AudioSegment.from_file(audio_file) | |
| wav_file = tempfile.NamedTemporaryFile(delete=False, suffix=".wav") | |
| audio.export(wav_file.name, format="wav") | |
| print(f"Converted audio to WAV: {wav_file.name}") # Debug statement | |
| with sr.AudioFile(wav_file.name) as source: | |
| audio = self.recognizer.record(source) | |
| try: | |
| text = self.recognizer.recognize_google(audio) | |
| except sr.UnknownValueError: | |
| text = "Could not understand audio" | |
| except sr.RequestError: | |
| text = "Could not request results" | |
| print(f"Recognized text: {text}") # Debug statement | |
| return text | |
| except Exception as e: | |
| print(f"Error processing audio file: {e}") # Debug statement | |
| return f"Error processing audio file: {e}" | |
| def text_to_speech(self, text): | |
| """Convert text to speech using gTTS and save as a .mp3 file.""" | |
| tts = gTTS(text) | |
| with tempfile.NamedTemporaryFile(delete=False, suffix=".mp3") as temp_audio: | |
| tts.save(temp_audio.name) | |
| return temp_audio.name |