Speech-tostex(STT)およびテキストツースピーチ(TTS)クエリを実行するためのPython 3に基づくTelegramボット。サポートされている言語:ロシア語、英語(クエリとインターフェイス)。

Telegram APIを操作するためのモジュール:aiogram。
オーディオファイルを異なる形式に変換するためのソフトウェア:FFMPEG。
STTおよびTTSクエリは、次のライブラリを使用して実行されます。
Vosk(Stt)
pyttsx3(TTS)
ボットは、2つの声(男性と女性)をサポートし、その名前は構成ファイルに設定されています。
BOTには、 extra_text_processingと呼ばれる特別な関数があり、VOSKから受信したテキストを処理する追加方法を導入します。それを通過することにより、テキストは執筆の観点からより人間的かつ正しいものにすることができます。この機能に必要な材料は、SRC/ETPに厳密に保存されます。
注: Windowsプラットフォームで作成およびテストされたPython 3.11.4
Rantovoxが正しく機能するには、次の手順が必要です。
リポジトリをクローンする(ソースコードをダウンロード)
python -m venv venvを使用して仮想環境を作成し、それをアクティブにします
recumporation.txtを備えたPIPを使用して依存関係をインストールします
最新のVoskロシア語モデルと英語モデル(小さなモデルがより好ましい)をダウンロードし、 SRC/Langにドロップします( make downloadを使用して自動的にダウンロードして投稿し、カールとタールが必要です)
環境ファイルセクションで説明されている変数を使用して、ルートフォルダーに独自の.ENVファイルを作成します。
git clone https://github.com/Ggorets0dev/rantovox-telegram-bot.git
cd rantovox-telegram-bot
pip install -r requirements.txt次のコマンドはRantovoxで利用できます。
開始- アカウントのボットを起動します
ヘルプ- 運用原則の情報概要を取得する
SetLocale-ボットのインターフェイスの言語を設定します
setVoice-リクエストに音声性別を設定する(TTS)
Setlang-リクエストの言語を設定(STT)
ボットを実行する前に、次の変数を持つ.ENVファイルを作成する必要があります。
| 名前 | 例 | デフォルト | 説明 |
|---|---|---|---|
| telegram_token | 1234567890:abcdefghijklmnopqrstuvxyzabcdefghi | - | 作成されたテレグラムボットにトークンにアクセスします |
| MALE_VOICE_NAME | アレスカンドル | - | 男性のナレーションで使用される声の名前 |
| female_voice_name | エレナ | - | 女性のナレーションで使用される声の名前 |
| ru_lang_model_dirname | Vosk-Model-Small-Ru-0.22 | - | ロシア語モデルを備えたフォルダーの名前(SRC/Langにあるはずです) |
| eng_lang_model_dirname | Vosk-Model-Small-en-us-0.15 | - | ロシア語モデルを備えたフォルダーの名前(SRC/Langにあるはずです) |
| max_request_index | 100 | 1000 | 範囲0 -Nからの値は、一時的に作成されたファイルに割り当てられます(同時に提供されるクライアントの数に影響します) |
| ETP_ENABLED | 間違い | 真実 | 変換からの生のテキストのポストプロセッシングが使用されるかどうか |
注:デフォルト - 環境ファイルの値が間違った形式にある場合、ボットが単独で取得する値
注:利用可能な投票のリストについては、ボットに電話して、残りのすべての変数を記入してください。利用可能な値のリストが表示されます(注意してください:すべての声がロシアと英語を同時にサポートするわけではありません)
ボットは、TTSまたはSTTリクエストの直後にすべての一時ファイルを削除します。すべての変換は、上記のライブラリの助けを借りてホストで行われます。リクエスト時にユーザーのログインとIDのみがログに記録されます。リクエストの構成はホストに隠されたままです。