add computing connect

This commit is contained in:
2023-11-11 09:47:34 +07:00
parent 8c04c67c27
commit ebd1b6002b
42 changed files with 280 additions and 121 deletions
Regular → Executable
+27 -14
View File
@@ -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 "Толи файл слишком большой, толи с ботом что-то случилось" # возвращение ошибки