import speech_recognition as sr from pydub import AudioSegment class VoiceRecognition: def check_audio_format(self, file_path): try: audio = AudioSegment.from_ogg(file_path) print(f"Audio format: {audio.format}") return True except Exception as e: print(f"Error reading audio file: {e}") return False def basic_recognition(self, audio, option): print(type(audio)) print("preparing") r = sr.Recognizer() # Read the data from the FileStorage object audio_data = audio.read() # Write the audio data to a file with open('output.wav', 'wb') as file: file.write(audio_data) self.check_audio_format(audio) if option == "online": with sr.AudioFile(audio) as source: print(type(source)) print("online") text = r.recognize_google_cloud(source) print("recognized as: " + text) return text elif option == "offline": with sr.AudioFile(audio) as source: print(type(source)) print("offline") text = r.recognize_sphinx(source) print("recognized as: " + text) return text print("nothing") return False