Telegram Text-to-Speech Bot. Ini berfungsi baik dalam mode inline dan teks dan menawarkan antarmuka yang nyaman untuk menghasilkan suara dari teks.
Cobalah: @samplevoiceBot.
Bot membutuhkan akun AWS untuk bekerja. Ini menggunakan Amazon Polly untuk menghasilkan suara dan S3 untuk menyimpan dan berbagi file suara yang dihasilkan.
Bot dikonfigurasi melalui variabel lingkungan, tercantum dalam config.py .
Tabel di bawah ini menunjukkan parameter yang diperlukan:
| Parameter | Keterangan |
|---|---|
TELEGRAM_BOT_TOKEN | Token yang dikeluarkan oleh @botfather |
AWS_ACCESS_KEY_ID , AWS_SECRET_ACCESS_KEY | Kredensial AWS |
AWS_S3_BUCKET | Nama ember AWS di mana file akan disimpan |
AWS_REGION_NAME | AWS Region Name Where Your Bucket berada misalnya us-east-1 |
Parameter lain:
| Parameter | Nilai | Bawaan | Keterangan |
|---|---|---|---|
TELEGRAM_ADMIN_ID | int | -1 | ID Pengguna - Admin bot ini |
TELEGRAM_MIN_MESSAGE_LENGTH | int | 1 | Panjang pesan minimal untuk menghasilkan suara |
TELEGRAM_MAX_MESSAGE_LENGTH | int | 255 | Panjang pesan maksimum untuk menghasilkan suara (pesan sebaris tidak dapat melebihi 256 karakter) |
TELEGRAM_INLINE_DEBOUNCE_MILLIS | int | 1000 | Debounce Interval untuk permintaan inline masuk untuk menghindari generasi suara yang tidak perlu |
LANGUAGE_DETECT_MAPPINGS | str | Pemetaan bahasa dalam format from=to . Beberapa pengganti dapat digabungkan dengan koma misalnya mk=ru,bg=ru,uk=ru | |
MAX_WORKERS | int | 4 | Sejumlah pekerja yang digunakan untuk pekerjaan bersamaan (misalnya sintesis bicara) |
PREFETCH_LANGUAGES | str | Daftar Bahasa ( ru,en . | |
VOICES | str | Tentukan suara untuk digunakan, misalnya ru-RU=Tatyana,Maxim . Bergabunglah dengan beberapa pemetaan dengan ; . Daftar suara yang didukung | |
DEBUG | 1 , 0 | 0 | Mengaktifkan/menonaktifkan logging verbose |
* Dalam mode inline bot hanya menggunakan 2 suara per bahasa untuk meminimalkan permintaan sintesis
Diperlukan akses publik yang tidak terbatas dan tidak sah ke benda -benda dalam ember diperlukan. Ini dapat dicapai dengan kebijakan ember:
{
"Version" : " 2012-10-17 " ,
"Statement" : [
{
"Sid" : " PublicRead " ,
"Effect" : " Allow " ,
"Principal" : " * " ,
"Action" : " s3:GetObject " ,
"Resource" : " arn:aws:s3:::samplebucket/* "
}
]
} * samplebucket harus diganti dengan nama backet Anda.
Lihat dokumen untuk info lebih lanjut.
Gambar tersedia di GHCR.IO.
$ docker build -t samplevoicebot .
Buat file bernama .env dan letakkan kredensial Anda, misalnya:
AWS_ACCESS_KEY_ID=<your-aws-access-key-id>
AWS_SECRET_ACCESS_KEY=<your-aws-secret-access-key>
AWS_REGION_NAME=<aws-region-name>
AWS_S3_BUCKET=<your-s3-bucket-name>
TELEGRAM_BOT_TOKEN=<your-telegram-bot-token>
<any-additional-parameters>
Berlari:
$ docker run -d --env-file .env samplevoicebot