Discordで読み上げメッセージを送るには、テキストチャンネルで/ttsに続けてメッセージを入力します。次は英語のサンプルです。
/tts Welcome to the server!
Discordはメッセージを読み上げられますが、誰に聞こえるかは各自の設定次第です。ボイスチャンネルへの一斉配信ではなく、他の利用者の再生設定を上書きするものでもありません。
以下の手順ではデスクトップ版Discordを使います。Discord公式のTTSガイドに、コマンド、通知オプション、ユーザー補助の設定が記載されています。1
コマンドを有効にする
- ユーザー名の近くにある歯車アイコンからユーザー設定を開きます。
- アプリの設定で「ユーザー補助」を開きます。
- 「/ttsコマンドの再生と使用を許可する」を有効にします。英語表示では「Allow playback and usage of /tts command」です。
- TTSが許可されたテキストチャンネルに、短い
/ttsメッセージを送ります。
チャンネルでTTSメッセージが許可されていない場合は、サーバー管理者に権限の確認を依頼します。管理者はチャンネル設定の「権限」を開き、対象のロールまたはメンバーの「Send TTS Messages」を確認できます。チャンネルの制限が、ロールのサーバー全体の権限より優先されることがあります。
設定にはテスト用チャンネルを使いましょう。サーバー全員が「テスト、テスト」を12回も聞く必要はありません。
読み上げるメッセージを選ぶ
ユーザー設定の「通知」を開き、テキスト読み上げによる通知を探します。Discordのガイドには3つの選択肢があります。1
- 「For all channels」は、チャンネルやサーバーをまたいで、
/ttsがないメッセージも読み上げます。 - 「For current selected channel」は、現在選択中のテキストチャンネルだけを自動で読み上げます。
- 「Never」は、自動のTTS通知をオフにします。
この通知設定と、「ユーザー補助」にあるコマンド設定は別です。TTSをオフにする場合は両方を確認してください。自分の設定を変えても、他の利用者が聞く内容は変わりません。
読み上げ速度と音声を調整する
「ユーザー補助」の読み上げ速度の設定で速さを変更できます。短いメッセージで違いを聞いてみてください。
Discord内蔵のTTSは、実行しているシステムやブラウザーに従います。そのため、Windows、macOS、ブラウザー間で音声が異なる場合があります。1 Cartesiaの音声ではないため、Cartesiaのプレイグラウンドで音声を選んでも変わりません。
読み上げが動作しない場合
送信と再生を制御する設定を、分けて確認します。
/tts、スペース、メッセージの順で入力したか確認します。- そのチャンネルでTTSメッセージを送信する権限があるか確認します。
- 「ユーザー補助」のコマンド再生設定を確認します。
- 「通知」のテキスト読み上げ通知を確認します。
- システムの出力デバイスと音量を確認し、必要に応じてDiscordを再起動または更新します。
他の人とテストする場合は、相手にも通知設定を確認してもらってください。送信に成功しても、相手のクライアントが読み上げるとは限りません。
問題が続く場合は、Discordサポートに相談してください。OS、デスクトップアプリとブラウザーのどちらを使っているか、確認済みの設定を伝えます。
Botでカスタム音声を使う
カスタムBotは別の方法です。音声APIで音声を生成し、ボイスチャンネルで再生できます。Discord標準の/ttsの動作は変わりません。
Cartesiaでこの仕組みを作る開発者は、次の手順で進めます。
- Cartesiaプレイグラウンドで音声とサンプルテキストを試します。
- Cartesia APIドキュメントを参照し、BotのバックエンドからSonicに音声生成を要求します。APIキーはサーバーに保管し、チャットやクライアントコードに含めないでください。
- DiscordのBot APIと音声APIを使って、参加を許可されたボイスチャンネルに入り、生成した音声を再生します。再生ライブラリの要件に音声形式を合わせます。
- メンバーが再生を制御できるよう、権限チェック、レート制限、停止コマンドを追加します。
Sonicが提供するのは音声生成です。Botの実装とホスティング、Discordの権限管理、ボイスチャンネルへの音声接続は別途必要です。デプロイ前に、現在のCartesiaの料金とDiscordの開発者向け要件を確認してください。
脚注
-
Discordサポート、Text-to-Speech 101。 ↩ ↩2 ↩3
