Bot telegram berdasarkan Python 3 untuk menjalankan kueri pidato-ke-teks (STT) dan teks-ke-pidato (TTS) . Bahasa didukung: Rusia , Inggris (kueri dan antarmuka).

Modul untuk bekerja dengan API Telegram: Aiogram.
Perangkat lunak untuk mengonversi file audio menjadi format yang berbeda: FFMPEG.
Kueri STT dan TTS dilakukan dengan menggunakan pustaka berikut:
Vosk (STT)
Pyttsx3 (tts)
Bot mendukung dua suara (pria dan wanita), yang namanya diatur dalam file konfigurasi.
Bot memiliki fungsi khusus yang disebut extra_text_processing , yang memperkenalkan metode tambahan untuk memproses teks yang diterima dari vosk. Dengan melewatinya, teks dapat dibuat lebih manusiawi dan benar dalam hal penulisan. Bahan yang diperlukan untuk fungsi ini disimpan secara ketat di SRC/ETP .
Catatan: Dibuat dan Diuji pada Windows Platform, Python 3.11.4
Langkah -langkah berikut diperlukan agar Rantovox bekerja dengan benar:
Klon The Repository (Unduh Kode Sumber)
Buat lingkungan virtual menggunakan python -m venv venv dan aktifkan
Instal dependensi menggunakan PIP dengan persyaratan.txt
Unduh model bahasa Rusia dan Inggris Vosk terbaru (model kecil lebih disukai), masukkan ke dalam src/lang (Anda dapat menggunakan make download untuk mengunduh dan memposting secara otomatis, membutuhkan curl dan tar)
Buat file .env Anda sendiri di folder root dengan variabel yang dijelaskan di bagian file lingkungan .
git clone https://github.com/Ggorets0dev/rantovox-telegram-bot.git
cd rantovox-telegram-bot
pip install -r requirements.txtPerintah berikut tersedia di Rantovox:
Mulai - Luncurkan bot untuk akun Anda
Bantuan - Dapatkan ringkasan informasi dari prinsip operasi
SetLocale - Set Bahasa Antarmuka Bot
SetVoice - Setel Jenis Kelamin Suara untuk Permintaan (TTS)
Setlang - Set Bahasa untuk Permintaan (STT)
File .env dengan variabel berikut harus dibuat sebelum menjalankan bot:
| Nama | Contoh | Bawaan | Keterangan |
|---|---|---|---|
| Telegram_token | 1234567890: ABCDEFGHIJKLMNOPQRSTUVXYZABCDEFGHI | - | Akses token ke bot telegram yang dibuat |
| Pria_voice_name | Aleskandr | - | Nama suara yang akan digunakan dalam sulih suara pria |
| Wanita_voice_name | Elena | - | Nama suara yang akan digunakan dalam sulih suara wanita |
| Ru_lang_model_dirname | Vosk-Model-Small-RU-0.22 | - | Nama folder dengan model bahasa Rusia (harus di SRC/Lang) |
| Eng_lang_model_dirname | Vosk-Model-Small-en-US-0.15 | - | Nama folder dengan model bahasa Rusia (harus di SRC/Lang) |
| MAX_REQUEST_INDEX | 100 | 1000 | Nilai dari kisaran 0 - n akan ditugaskan ke file yang dibuat sementara (mempengaruhi jumlah klien yang dilayani secara bersamaan) |
| Etp_enabled | PALSU | BENAR | Apakah postsing post teks mentah dari konversi akan digunakan |
Catatan: Default - Nilai bahwa bot akan diambil sendiri jika nilainya dalam format yang salah dalam file lingkungan
Catatan: Hubungi bot untuk daftar suara yang tersedia, mengisi semua variabel yang tersisa. Ini akan menampilkan daftar nilai yang tersedia (hati -hati: tidak semua suara mendukung bahasa Rusia dan Inggris pada saat yang sama)
Bot menghapus semua file sementara segera setelah permintaan TTS atau STT. Semua konversi dilakukan pada host dengan bantuan perpustakaan yang dijelaskan di atas. Hanya login dan ID pengguna yang dicatat dalam log saat meminta, komposisi permintaan tetap disembunyikan untuk di -host.