interstellar_ai/py/voice.py
Patrick_Pluto 58d1a68bac small fix?
2024-09-26 10:43:39 +02:00

44 lines
1.3 KiB
Python

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