add computing connect
This commit is contained in:
Regular → Executable
+27
-14
@@ -2,17 +2,19 @@ import subprocess
|
||||
import speech_recognition as sr
|
||||
import os
|
||||
from functions.loging import loging
|
||||
import requests
|
||||
|
||||
|
||||
class Converter:
|
||||
"""
|
||||
Этот класс выполняет главную функцию, конвертирует голос в текст
|
||||
"""
|
||||
def __init__(self, path_to_file: str, message, language: str = "ru-RU"):
|
||||
def __init__(self, path_to_file: str, message, model, language: str = "ru-RU"):
|
||||
self.language = language
|
||||
self.path_to_file = path_to_file
|
||||
self.service = None
|
||||
self.message = message
|
||||
self.model = model
|
||||
|
||||
def audio_to_text(self) -> str:
|
||||
"""
|
||||
@@ -20,21 +22,32 @@ class Converter:
|
||||
|
||||
:return: str - текст + служебная информация
|
||||
"""
|
||||
f = -1.0
|
||||
# f = -1.0
|
||||
try:
|
||||
try:
|
||||
import mutagen
|
||||
f = mutagen.File(self.path_to_file) # получение данных mutagen
|
||||
f = float(f.info.length)
|
||||
if f >= 30.0: # если длинна больше 30 секунд
|
||||
self.service = "google" # устанавливаю сервис google
|
||||
return self.google(f) # запуск функции google
|
||||
r = requests.get("http://192.168.0.108:5000/ping")
|
||||
if r.status_code == 200:
|
||||
response = requests.post("http://192.168.0.108:5000/decrypt_audio",
|
||||
files={"file": open(self.path_to_file, "rb").read()})
|
||||
if response.status_code == 200:
|
||||
return f"От компа:\n{response.text.replace('"', '')}"
|
||||
else:
|
||||
self.service = "yandex" # устанавливаем сервис yandex
|
||||
return self.yandex(f) # запуск функции yandex
|
||||
except Exception as e: # если какая-то проблема
|
||||
print(e)
|
||||
return self.google(f) # запуск функции google
|
||||
return 'Не удалось получить текст.'
|
||||
else:
|
||||
result = self.model.transcribe(self.path_to_file)
|
||||
return result["text"]
|
||||
# try:
|
||||
# import mutagen
|
||||
# f = mutagen.File(self.path_to_file) # получение данных mutagen
|
||||
# f = float(f.info.length)
|
||||
# if f >= 30.0: # если длинна больше 30 секунд
|
||||
# self.service = "google" # устанавливаю сервис google
|
||||
# return self.google(f) # запуск функции google
|
||||
# else:
|
||||
# self.service = "yandex" # устанавливаем сервис yandex
|
||||
# return self.yandex(f) # запуск функции yandex
|
||||
# except Exception as e: # если какая-то проблема
|
||||
# print(e)
|
||||
# return self.google(f) # запуск функции google
|
||||
except sr.RequestError: # обработка ошибки размера файлов
|
||||
return "Толи файл слишком большой, толи с ботом что-то случилось" # возвращение ошибки
|
||||
|
||||
|
||||
Reference in New Issue
Block a user