Bot de telegrama basado en Python 3 para ejecutar consultas de voz a texto (STT) y texto a voz (TTS) . Idiomas compatibles: ruso , inglés (consultas e interfaz).

Módulo para trabajar con Telegram API: Aiogram.
Software para convertir archivos de audio en diferentes formatos: FFMPEG.
Las consultas STT y TTS se realizan utilizando las siguientes bibliotecas:
Vosk (STT)
PYTTSX3 (TTS)
Bot admite dos voces (masculina y femenina), cuyos nombres están establecidos en el archivo de configuración.
Bot tiene una función especial llamada Extra_Text_Processing , que introduce métodos adicionales de procesamiento de texto recibido de Vosk. Al revisarlo, el texto puede hacerse más humano y correcto en términos de escritura. Los materiales requeridos para esta función se almacenan estrictamente en el SRC/ETP .
Nota: Creado y probado en la plataforma de Windows, Python 3.11.4
Se requieren los siguientes pasos para que Rantovox funcione correctamente:
Clon el repositorio (descargue el código fuente)
Cree un entorno virtual usando python -m venv venv y activelo
Instale dependencias utilizando PIP con requisitos.txt
Descargue los últimos modelos de idiomas rusos e inglés Vosk (el modelo pequeño es más preferible), envíelos en SRC/Lang (puede usar make download para descargar y publicar automáticamente, requiere rizo y alquitrán)
Cree su propio archivo .env en la carpeta raíz con variables descritas en la sección Archivo de entorno .
git clone https://github.com/Ggorets0dev/rantovox-telegram-bot.git
cd rantovox-telegram-bot
pip install -r requirements.txtLos siguientes comandos están disponibles en Rantovox:
Inicio : inicie un bot para su cuenta
Ayuda : obtenga un resumen informativo de los principios operativos
SetLocale - Establecer el lenguaje de la interfaz de Bot
SetVoice - Establecer género de voz para solicitudes (TTS)
SetLang - Establecer lenguaje para solicitudes (STT)
Se debe crear un archivo .env con las siguientes variables antes de ejecutar el bot:
| Nombre | Ejemplo | Por defecto | Descripción |
|---|---|---|---|
| Telegram_token | 1234567890: ABCDEFGHIJKLMNOPQRSTUVXYZABCDEFGHI | - | Token de acceso al bot de telegrama creado |
| Macho_voice_name | Aleskandr | - | Nombre de la voz que se utilizará en la voz en off masculina |
| Femenino_voice_name | Elena | - | Nombre de la voz que se utilizará en la voz en off femenina |
| Ru_lang_model_dirname | Vosk-Modelo-Small-Ru-0.22 | - | Nombre de la carpeta con el modelo de idioma ruso (debería estar en SRC/Lang) |
| Eng_lang_model_dirname | VOSK-MODEL-SMALL-EN-US-0.15 | - | Nombre de la carpeta con el modelo de idioma ruso (debería estar en SRC/Lang) |
| Max_request_index | 100 | 1000 | Se asignará un valor desde el rango 0 - n a los archivos creados temporalmente (afecta el número de clientes atendidos simultáneamente) |
| ETP_Enabled | FALSO | Verdadero | Se utilizará si se utilizará el procesamiento posterior al texto sin procesar desde la conversión |
Nota: Valor predeterminado: valor que el bot tendrá por su cuenta si el valor está en formato incorrecto en el archivo de entorno
Nota: Llame al bot para obtener una lista de votos disponibles, completando todas las variables restantes. Mostrará una lista de valores disponibles (tenga cuidado: no todas las voces admiten ruso e inglés al mismo tiempo)
Bot elimina todos los archivos temporales inmediatamente después de una solicitud TTS o STT. Toda la conversión se realiza en el host con la ayuda de las bibliotecas descritas anteriormente. Solo el inicio de sesión y la ID del usuario se registran en los registros cuando solicitan, la composición de la solicitud sigue oculta al host.