Spaces:
Sleeping
Sleeping
import speech_recognition as sr | |
from gtts import gTTS | |
import os | |
import wave | |
def record_audio(filename, sec=5, sr=44100): | |
# Initialize recognizer class (for recognizing speech) | |
recognizer = sr.Recognizer() | |
# Set the microphone for recording | |
with sr.Microphone() as source: | |
print("Recording... Speak now!") | |
recognizer.adjust_for_ambient_noise(source) # Adjust for ambient noise | |
audio = recognizer.listen(source, timeout=sec) | |
# Save the audio to a file | |
with open(filename, "wb") as f: | |
f.write(audio.get_wav_data()) | |
def transcribe_audio(filename): | |
recognizer = sr.Recognizer() | |
with sr.AudioFile(filename) as source: | |
audio = recognizer.record(source) | |
try: | |
# Recognize speech using Google's speech recognition | |
transcript = recognizer.recognize_google(audio) | |
return {"text": transcript} | |
except sr.UnknownValueError: | |
return {"text": "Sorry, I could not understand the audio."} | |
except sr.RequestError as e: | |
return {"text": f"Request failed; {e}"} | |
def save_text_as_audio(text, audio_filename): | |
tts = gTTS(text=text, lang='en', slow=False) | |
tts.save(audio_filename) | |
def play_audio(filename): | |
# Play audio using the default system player (e.g., vlc, mplayer) | |
os.system(f"start {filename}") # For Windows; on Linux/macOS use `os.system(f"mpg321 {filename}")` | |