samplevoicebot
1.0.0
テレグラムテキストからスピーチボット。インラインモードとテキストモードの両方で機能し、テキストから音声を生成するための便利なインターフェイスを提供します。
試してみてください:@samplevoicebot。
ボットでは、AWSアカウントが機能する必要があります。 Amazon Pollyを使用してVoiceとS3を生成して、生成された音声ファイルを保存および共有します。
ボットは、 config.pyにリストされている環境変数を介して構成されています。
以下の表は、必要なパラメーターを示しています。
| パラメーター | 説明 |
|---|---|
TELEGRAM_BOT_TOKEN | @botfatherが発行したトークン |
AWS_ACCESS_KEY_ID 、 AWS_SECRET_ACCESS_KEY | AWS資格情報 |
AWS_S3_BUCKET | ファイルが保存されるAWSバケット名 |
AWS_REGION_NAME | あなたのバケツが配置されているAWSリージョン名us-east-1 |
その他のパラメーター:
| パラメーター | 値 | デフォルト | 説明 |
|---|---|---|---|
TELEGRAM_ADMIN_ID | int | -1 | ユーザーID-このボットの管理者 |
TELEGRAM_MIN_MESSAGE_LENGTH | int | 1 | 音声を生成するための最小限のメッセージ長 |
TELEGRAM_MAX_MESSAGE_LENGTH | int | 255 | 音声を生成するための最大メッセージ長(インラインメッセージは256文字を超えることはできません) |
TELEGRAM_INLINE_DEBOUNCE_MILLIS | int | 1000 | 不必要な音声世代を避けるための着信インラインリクエストのデバウンス間隔 |
LANGUAGE_DETECT_MAPPINGS | str | from=to形式の言語マッピング。複数の置換mk=ru,bg=ru,uk=ruコンマと結合することができます | |
MAX_WORKERS | int | 4 | 同時ジョブに使用される多くの労働者(例:音声統合) |
PREFETCH_LANGUAGES | str | ボットスタートアップの声をプリフレッジする言語( ru,enなど) | |
VOICES | str | 使用する声を指定します。たとえば、 ru-RU=Tatyana,Maxim 。複数のマッピングに参加します; 。サポートされている声のリスト | |
DEBUG | 1 0 | 0 | 冗長ロギングを有効/無効にします |
*インラインモードでは、ボットは言語ごとに2つの声のみを使用してリクエストを最小限に抑えます
バケット内のオブジェクトへの無制限の無許可のパブリックアクセスが必要です。これは、バケットポリシーで達成できます。
{
"Version" : " 2012-10-17 " ,
"Statement" : [
{
"Sid" : " PublicRead " ,
"Effect" : " Allow " ,
"Principal" : " * " ,
"Action" : " s3:GetObject " ,
"Resource" : " arn:aws:s3:::samplebucket/* "
}
]
} * samplebucket 、バックセット名に置き換える必要があります。
詳細については、ドキュメントを参照してください。
画像はghcr.ioで入手できます。
$ docker build -t samplevoicebot .
.envという名前のファイルを作成し、資格情報を配置します。たとえば
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>
走る:
$ docker run -d --env-file .env samplevoicebot