Télégramme Bot basé sur Python 3 pour l'exécution des requêtes de la parole en texte (STT) et du texte-parole (TTS) . Langues soutenues: Russe , anglais (requêtes et interface).

Module pour travailler avec Telegram API: Aiogram.
Logiciel de conversion de fichiers audio en différents formats: FFMPEG.
Les requêtes STT et TTS sont effectuées à l'aide des bibliothèques suivantes:
VOSK (STT)
Pyttsx3 (TTS)
Bot prend en charge deux voix (hommes et femmes), dont les noms sont définis dans le fichier de configuration.
Bot a une fonction spéciale appelée Extra_text_processing , qui introduit des méthodes de traitement supplémentaires de texte reçues de VOSK. En le traversant, le texte peut être rendu plus humain et correct en termes d'écriture. Les matériaux requis pour cette fonction sont stockés strictement dans le SRC / ETP .
Remarque: créé et testé sur la plate-forme Windows, Python 3.11.4
Les étapes suivantes sont nécessaires pour que Rantovox fonctionne correctement:
Clone the Repository (téléchargez le code source)
Créez un environnement virtuel en utilisant python -m venv venv et activez-le
Installez les dépendances à l'aide de PIP avec exigences.txt
Télécharger les derniers modèles de langue russe et anglaise Vosk (le petit modèle est plus préférable), déposez-les dans SRC / Lang (vous pouvez utiliser make download pour télécharger et publier automatiquement, nécessite Curl et Tar)
Créez votre propre fichier .env dans un dossier racine avec des variables décrites dans la section des fichiers environnementaux .
git clone https://github.com/Ggorets0dev/rantovox-telegram-bot.git
cd rantovox-telegram-bot
pip install -r requirements.txtLes commandes suivantes sont disponibles dans Rantovox:
Démarrer - Lancez un bot pour votre compte
Aide - obtenir un résumé d'information des principes de fonctionnement
setLocale - Définir la langue de l'interface de Bot
SetVoice - Définir le genre vocal pour les demandes (TTS)
setLang - Définir la langue pour les demandes (STT)
Un fichier .env avec les variables suivantes doit être créé avant d'exécuter le bot:
| Nom | Exemple | Défaut | Description |
|---|---|---|---|
| Télégram_token | 1234567890: abcdefghijklmnopqrstuvxyzabcdefghi | - | Jeton d'accès au bot télégramme créé |
| Male_voice_name | Aleskandr | - | Nom de la voix à utiliser dans la voix off masculine |
| Femme_Voice_name | Elena | - | Nom de la voix à utiliser dans la voix off féminine |
| Ru_lang_model_dirname | VOSK-Model-Small-Ru-0.22 | - | Nom du dossier avec modèle de langue russe (devrait être en SRC / Lang) |
| ENG_LANG_MODEL_DIRNAME | VOSK-Model-Small-en-US-0.15 | - | Nom du dossier avec modèle de langue russe (devrait être en SRC / Lang) |
| Max_request_index | 100 | 1000 | Une valeur de la plage 0 - n sera attribuée aux fichiers créés temporairement (affecte le nombre de clients simultanément servis) |
| ETP_ENABLED | FAUX | Vrai | Si le post-traitement du texte brut de la conversion sera utilisé |
Remarque: par défaut - valeur que le bot prendra lui-même si la valeur est dans le mauvais format dans le fichier d'environnement
Remarque: Appelez le bot pour une liste des votes disponibles, en remplissant toutes les variables restantes. Il affichera une liste des valeurs disponibles (soyez prudent: toutes les voix ne prennent pas en charge le russe et l'anglais en même temps)
Bot supprime tous les fichiers temporaires immédiatement après une demande TTS ou STT. Toute la conversion est effectuée sur l'hôte à l'aide des bibliothèques décrites ci-dessus. La connexion et l'ID de l'utilisateur seuls sont enregistrés dans les journaux lors de la demande, la composition de la demande reste cachée pour héberger.