перешёл на aiogram, добавил коменты
This commit is contained in:
+30
-18
@@ -12,27 +12,39 @@ class Converter:
|
||||
self.message = message
|
||||
|
||||
def audio_to_text(self) -> str:
|
||||
import mutagen
|
||||
f = mutagen.File(self.path_to_file)
|
||||
if float(f.info.length) >= 30.0:
|
||||
self.service = "google"
|
||||
return self.google()
|
||||
else:
|
||||
self.service = "yandex"
|
||||
return self.yandex()
|
||||
try:
|
||||
try:
|
||||
import mutagen
|
||||
f = mutagen.File(self.path_to_file)
|
||||
if float(f.info.length) >= 30.0:
|
||||
self.service = "google"
|
||||
return self.google()
|
||||
else:
|
||||
self.service = "yandex"
|
||||
return self.yandex()
|
||||
except:
|
||||
return self.google()
|
||||
except sr.RequestError:
|
||||
return "Толи файл слишком большой, толи с ботом что-то случилось"
|
||||
|
||||
def google(self) -> str:
|
||||
subprocess.run(['ffmpeg', '-v', 'quiet', '-i', self.path_to_file, self.path_to_file.replace(".ogg", ".wav")])
|
||||
os.remove(self.path_to_file)
|
||||
wav_file = self.path_to_file.replace(".ogg", ".wav")
|
||||
r = sr.Recognizer()
|
||||
with sr.AudioFile(wav_file) as source:
|
||||
audio = r.record(source)
|
||||
r.adjust_for_ambient_noise(source)
|
||||
response = "google\n\n" + r.recognize_google(audio, language=self.language)
|
||||
loging(self.message, "google", wav_file, response)
|
||||
os.remove(wav_file)
|
||||
return response
|
||||
try:
|
||||
os.remove(self.path_to_file)
|
||||
wav_file = self.path_to_file.replace(".ogg", ".wav")
|
||||
r = sr.Recognizer()
|
||||
with sr.AudioFile(wav_file) as source:
|
||||
audio = r.record(source)
|
||||
r.adjust_for_ambient_noise(source)
|
||||
try:
|
||||
response = "google\n\n" + r.recognize_google(audio, language=self.language)
|
||||
loging(self.message, "google", wav_file, response)
|
||||
os.remove(wav_file)
|
||||
return response
|
||||
except sr.UnknownValueError:
|
||||
return "google\n\n Слова не распознаны, вы что вообще мне впихнуть пытаетесь"
|
||||
except FileNotFoundError:
|
||||
return "Толи файл слишком большой, толи с ботом что-то случилось"
|
||||
|
||||
def yandex(self) -> str:
|
||||
from speechkit import ShortAudioRecognition, Session
|
||||
|
||||
Reference in New Issue
Block a user