Gemini-TTS

Colab ノートブックを試す GitHub でノートブックを表示

Gemini-TTS は Google の Text-to-Speech テクノロジーの最新の進化形であり、単に自然さを追求するだけでなく、テキストベースのプロンプトを使って生成音声を細かくコントロールできるようになっています。Gemini-TTS を使用すると、短い断片的な文章から長文のナラティブまで、単一または複数の話者の音声を合成することができ、スタイル、アクセント、速度、声のトーン、さらに感情表現まで正確に指定できます。しかも、すべて自然言語のプロンプトでコントロール可能です。

コンソールでこのモデルを確認するには、Model Garden に移動して Gemini-TTS モデルカードを確認します([Media Studio] タブからアクセスできます)。

Vertex AI で Gemini-TTS を試す(Vertex AI Studio)

Gemini-TTS の機能は以下によって実現されています。

  • gemini-2.5-flash-tts: Gemini 2.5 Flash TTS は、費用対効果の高い日常的な TTS アプリケーションに適しています。

  • gemini-2.5-pro-tts: Gemini 2.5 Pro TTS は、制御可能な音声生成(TTS)や、複雑なプロンプトに対する最先端の品質に適しています。

モデル 適した用途 入力モダリティ 出力モダリティ 単一話者 マルチスピーカー
Gemini 2.5 Flash TTS 低レイテンシで制御可能な、単一話者および複数話者の Text-to-Speech 音声生成により、費用対効果の高い日常的なアプリケーションを実現 テキスト 音声 ✔️ ✔️
Gemini 2.5 Pro TTS ポッドキャスト制作、オーディオブック、カスタマー サポートなどの構造化されたワークフローを高度に制御 テキスト 音声 ✔️ ✔️

上記のほかに次のような制御オプションや機能があります。

  1. 自然な会話: 非常に低いレイテンシで、優れた品質の音声インタラクション、より適切な表現力、韻律(リズムのパターン)が提供されるため、スムーズに会話できます。

  2. スタイルの制御: 自然言語のプロンプトを使えば、会話の中で話し方を調整し、特定のアクセントを採用させたり、さまざまなトーンや表現(ささやき声など)を生成させたりすることができます。

  3. 動的なパフォーマンス: これらのモデルは、詩の表現豊かな朗読やニュース放送、引き込まれるようなストーリーテリングでテキストを生き生きと表現できます。また、リクエストに応じて特定の感情を込めて話したり、アクセントを付けたりすることも可能です。

  4. ペースと発音のより詳細なコントロール: 話す速度を調整することで、特定の単語を含めて発音の精度を高めることができます。

model: "gemini-2.5-pro-tts"
prompt: "You are having a casual conversation with a friend. Say the following in a friendly and amused way."
text: "hahah I did NOT expect that. Can you believe it!."
speaker: "Callirhoe"

model: "gemini-2.5-flash-tts"
prompt: "Say the following in a curious way"
text: "OK, so... tell me about this [uhm] AI thing.",
speaker: "Orus"

model: "gemini-2.5-flash-tts"
prompt: "Say the following"
text: "[extremely fast] Availability and terms may vary. Check our website or your local store for complete details and restrictions."
speaker: "Kore"

これらの音声をプログラムで使用する方法については、Gemini-TTS を使用するをご覧ください。

音声オプション

Gemini-TTS には、既存の Chirp 3: HD 音声と同様に、それぞれに特徴のあるさまざまな音声オプションが用意されています。

名前 性別 デモ
アケルナル 女性
アキアード 男性
アルゲニブ 男性
アルギエバ 男性
アルニラム 男性
アオエデ 女性
オウトノエ 女性
カリュローエ 女性
Charon 男性
デスピナ 女性
エンケラドゥス 男性
エリノメ 女性
Fenrir 男性
ガクラックス 女性
イアペトゥス 男性
Kore 女性
ラオメデイア 女性
Leda 女性
Orus 男性
プルケリマ 女性
Puck 男性
ラサルゲティ 男性
サダクビア 男性
サダルタゲル 男性
スケダル 男性
スラファト 女性
アムブリエル 男性
ビンデミアトリクス 女性
Zephyr 女性
ズベンエルゲヌビ 男性

対応言語

Gemini-TTS は次の言語をサポートしています。

言語 BCP-47 コード 提供状況
アラビア語(エジプト) ar-EG GA
オランダ語(オランダ) nl-NL GA
英語(インド) en-IN GA
日本語 en-US GA
フランス語(フランス) fr-FR GA
ドイツ語(ドイツ) de-DE GA
ヒンディー語(インド) hi-IN GA
インドネシア語(インドネシア) id-ID GA
イタリア語(イタリア) it-IT GA
日本語(日本) ja-JP GA
韓国語(韓国) ko-KR GA
マラーティー語(インド) mr-IN GA
ポーランド語(ポーランド) pl-PL GA
ポルトガル語(ブラジル) pt-BR GA
ルーマニア語(ルーマニア) ro-RO GA
ロシア語(ロシア) ru-RU GA
スペイン語(スペイン) es-ES GA
タミル語(インド) ta-IN GA
テルグ語(インド) te-IN GA
タイ語(タイ) th-TH GA
トルコ語(トルコ) tr-TR GA
ウクライナ語(ウクライナ) uk-UA GA
ベトナム語(ベトナム) vi-VN GA
アフリカーンス語(南アフリカ) af-ZA プレビュー
アルバニア語(アルバニア) sq-AL プレビュー
アムハラ語(エチオピア) am-ET プレビュー
アラビア語(世界) ar-001 プレビュー
アルメニア語(アルメニア) hy-AM プレビュー
アゼルバイジャン語(アゼルバイジャン) az-AZ プレビュー
ベンガル語(バングラデシュ) bn-bd プレビュー
バスク語(スペイン) eu-ES プレビュー
ベラルーシ語(ベラルーシ) be-BY プレビュー
ブルガリア語(ブルガリア) bg-BG プレビュー
ビルマ語(ミャンマー) my-MM プレビュー
カタルーニャ語(スペイン) ca-ES プレビュー
セブアノ語(フィリピン) ceb-PH プレビュー
中国語(標準語、中国) cmn-cn プレビュー
中国語(標準語、台湾) cmn-tw プレビュー
クロアチア語(クロアチア) hr-HR プレビュー
チェコ語(チェコ共和国) cs-CZ プレビュー
デンマーク語(デンマーク) da-DK プレビュー
英語(オーストラリア) en-AU プレビュー
英語(英国) en-GB プレビュー
エストニア語(エストニア) et-EE プレビュー
フィリピン語(フィリピン) fil-PH プレビュー
フィンランド語(フィンランド) fi-FI プレビュー
フランス語(カナダ) fr-CA プレビュー
ガリシア語(スペイン) gl-ES プレビュー
ジョージア語(ジョージア) ka-GE プレビュー
ギリシャ語(ギリシャ) el-GR プレビュー
グジャラト語(インド) gu-IN プレビュー
ハイチ語(ハイチ) ht-HT プレビュー
ヘブライ語(イスラエル) he-IL プレビュー
ハンガリー語(ハンガリー) hu-HU プレビュー
アイスランド語(アイスランド) is-IS プレビュー
ジャワ語(ジャワ) jv-JV プレビュー
カンナダ語(インド) kn-IN プレビュー
コンカニ語(インド) kok-in プレビュー
ラオ語(ラオス) lo-LA プレビュー
ラテン語(バチカン市国) la-VA プレビュー
ラトビア語(ラトビア) lv-LV プレビュー
リトアニア語(リトアニア) lt-IT プレビュー
ルクセングルグ語(ルクセンブルク) lb-LU プレビュー
マケドニア語(北マケドニア) mk-MK プレビュー
マイティリー語(インド) mai-IN プレビュー
マラガシ語(マダガスカル) mg-MG プレビュー
マレー語(マレーシア) ms-MY プレビュー
マラヤーラム語(インド) ml-IN プレビュー
モンゴル語(モンゴル) mn-MN プレビュー
ネパール語(ネパール) ne-NP プレビュー
ノルウェー語(ブークモール)(ノルウェー) nb-NO プレビュー
ノルウェー語(ニーノシク)(ノルウェー) nn-NO プレビュー
オディア語(インド) or-IN プレビュー
パシュトー語(アフガニスタン) ps-AF プレビュー
ペルシャ語(イラン) fa-IR プレビュー
ポルトガル語(ポルトガル) pt-PT プレビュー
パンジャブ語(インド) pa-IN プレビュー
セルビア語(セルビア) sr-RS プレビュー
シンド語(インド) sd-IN プレビュー
シンハラ語(スリランカ) si-LK プレビュー
スロバキア語(スロバキア) sk-SK プレビュー
スロベニア語(スロベニア) sl-SI プレビュー
スペイン語(ラテンアメリカ) es-419 プレビュー
スペイン語(メキシコ) es-MX プレビュー
スワヒリ語(ケニア) sw-KE プレビュー
スウェーデン語(スウェーデン) sv-SE プレビュー
ウルドゥー語(パキスタン) ur-PK プレビュー

ご利用いただけるリージョン

Gemini-TTS モデルは、次の Google Cloud リージョンでそれぞれ利用できます。

Google Cloud ゾーン 提供状況
global GA

サポートされる出力形式

デフォルトのレスポンス形式は LINEAR16 です。その他に次の形式に対応しています。

API メソッド 形式
batch ALAW、MULAW、MP3、OGG_OPUS、PCM
streaming 非対応

Gemini-TTS を使用する

Gemini-TTS モデルを使用して、単一話者と複数話者の音声を合成する方法について説明します。

始める前に

Text-to-Speech の使用を開始する前に、次の手順でGoogle Cloud コンソールで API を有効にする必要があります。

  1. プロジェクトで Text-to-Speech を有効にする。
  2. Text-to-Speech の課金が有効になっていることを確認する。
  3. 開発環境の認証を設定する。

Google Cloud プロジェクトを設定する

  1. Google Cloud コンソールにログイン

  2. [プロジェクトの選択] ページに移動

    既存のプロジェクトを選択するか、新しいプロジェクトを作成します。プロジェクトの作成の詳細については、Google Cloud のドキュメントをご覧ください。

  3. 新しいプロジェクトを作成すると、請求先アカウントをリンクするように求めるメッセージが表示されます。既存のプロジェクトを使用する場合は、課金を有効にしてください

    プロジェクトで課金が有効になっていることを確認する

  4. プロジェクトを選択して請求先アカウントを関連付けると、Text-to-Speech API を有効にできます。ページの上部にある [プロダクトとリソースを検索] バーに「speech」と入力します。結果のリストから [Cloud Text-to-Speech API] を選択します。

  5. プロジェクトに関連付けずに Text-to-Speech を試すには、[この API を試す] オプションを選択します。プロジェクトで Text-to-Speech API を有効にするには、[有効にする] をクリックします。

  6. 開発環境に対する認証を設定します。手順については、Text-to-Speech の認証を設定するをご覧ください。

同期単一話者合成を実行する

Python

# google-cloud-texttospeech minimum version 2.29.0 is required.

import os
from google.cloud import texttospeech

PROJECT_ID = os.getenv("GOOGLE_CLOUD_PROJECT")

def synthesize(prompt: str, text: str, output_filepath: str = "output.mp3"):
    """Synthesizes speech from the input text and saves it to an MP3 file.

    Args:
        prompt: Styling instructions on how to synthesize the content in
          the text field.
        text: The text to synthesize.
        output_filepath: The path to save the generated audio file.
          Defaults to "output.mp3".
    """
    client = texttospeech.TextToSpeechClient()

    synthesis_input = texttospeech.SynthesisInput(text=text, prompt=prompt)

    # Select the voice you want to use.
    voice = texttospeech.VoiceSelectionParams(
        language_code="en-US",
        name="Charon",  # Example voice, adjust as needed
        model_name="gemini-2.5-pro-tts"
    )

    audio_config = texttospeech.AudioConfig(
        audio_encoding=texttospeech.AudioEncoding.MP3
    )

    # Perform the text-to-speech request on the text input with the selected
    # voice parameters and audio file type.
    response = client.synthesize_speech(
        input=synthesis_input, voice=voice, audio_config=audio_config
    )

    # The response's audio_content is binary.
    with open(output_filepath, "wb") as out:
        out.write(response.audio_content)
        print(f"Audio content written to file: {output_filepath}")

CURL

# Make sure to install gcloud cli, and sign in to your project.
# Make sure to use your PROJECT_ID value.
# The available models are gemini-2.5-flash-tts and gemini-2.5-pro-tts.
# To parse the JSON output and use it directly see the last line of the command.
# Requires JQ and ffplay library to be installed.
PROJECT_ID=YOUR_PROJECT_ID
curl -X POST \
  -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
  -H "x-goog-user-project: $PROJECT_ID" \
  -H "Content-Type: application/json" \
-d '{
  "input": {
    "prompt": "Say the following in a curious way",
    "text": "OK, so... tell me about this [uhm] AI thing."
  },
  "voice": {
    "languageCode": "en-us",
    "name": "Kore",
    "model_name": "gemini-2.5-flash-tts"
  },
  "audioConfig": {
    "audioEncoding": "LINEAR16"
  }
}' \
  "https://texttospeech.googleapis.com/v1/text:synthesize" \
  | jq -r '.audioContent' | base64 -d | ffplay - -autoexit

フリーフォーム テキスト入力で同期マルチスピーカー合成を実行する

Python

# google-cloud-texttospeech minimum version 2.31.0 is required.

import os
from google.cloud import texttospeech

PROJECT_ID = os.getenv("GOOGLE_CLOUD_PROJECT")

def synthesize_multispeaker_freeform(
    prompt: str,
    text: str,
    output_filepath: str = "output_non_turn_based.wav",
):
    """Synthesizes speech from non-turn-based input and saves it to a WAV file.

    Args:
        prompt: Styling instructions on how to synthesize the content in the
          text field.
        text: The text to synthesize, containing speaker aliases to indicate
          different speakers. Example: "Sam: Hi Bob!\nBob: Hi Sam!"
        output_filepath: The path to save the generated audio file. Defaults to
          "output_non_turn_based.wav".
    """
    client = texttospeech.TextToSpeechClient()

    synthesis_input = texttospeech.SynthesisInput(text=text, prompt=prompt)

    multi_speaker_voice_config = texttospeech.MultiSpeakerVoiceConfig(
        speaker_voice_configs=[
            texttospeech.MultispeakerPrebuiltVoice(
                speaker_alias="Speaker1",
                speaker_id="Kore",
            ),
            texttospeech.MultispeakerPrebuiltVoice(
                speaker_alias="Speaker2",
                speaker_id="Charon",
            ),
        ]
    )

    voice = texttospeech.VoiceSelectionParams(
        language_code="en-US",
        model_name="gemini-2.5-pro-tts",
        multi_speaker_voice_config=multi_speaker_voice_config,
    )

    audio_config = texttospeech.AudioConfig(
        audio_encoding=texttospeech.AudioEncoding.LINEAR16,
        sample_rate_hertz=24000,
    )

    response = client.synthesize_speech(
        input=synthesis_input, voice=voice, audio_config=audio_config
    )

    with open(output_filepath, "wb") as out:
        out.write(response.audio_content)
        print(f"Audio content written to file: {output_filepath}")

CURL

# Make sure to install gcloud cli, and sign in to your project.
# Make sure to use your PROJECT_ID value.
# The available models are gemini-2.5-flash-tts and gemini-2.5-pro-tts
# To parse the JSON output and use it directly see the last line of the command.
# Requires JQ and ffplay library to be installed.
# google-cloud-texttospeech minimum version 2.31.0 is required.
PROJECT_ID=YOUR_PROJECT_ID
curl -X POST \
  -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
  -H "x-goog-user-project: $PROJECT_ID" \
  -H "Content-Type: application/json" \
-d '{
  "input": {
    "prompt": "Say the following as a conversation between friends.",
    "text": "Sam: Hi Bob, how are you?\\nBob: I am doing well, and you?"
  },
  "voice": {
    "languageCode": "en-us",
    "modelName": "gemini-2.5-flash-tts",
    "multiSpeakerVoiceConfig": {
      "speakerVoiceConfigs": [
        {
          "speakerAlias": "Sam",
          "speakerId": "Kore"
        },
        {
          "speakerAlias": "Bob",
          "speakerId": "Charon"
        }
      ]
    }
  },
  "audioConfig": {
    "audioEncoding": "LINEAR16",
    "sampleRateHertz": 24000
  }
}' \
  "https://texttospeech.googleapis.com/v1/text:synthesize" \
  | jq -r '.audioContent' | base64 -d | ffplay - -autoexit

構造化テキスト入力を使用して同期マルチスピーカー合成を実行する

構造化されたテキスト入力による複数話者対応により、テキストを人間のような方法でインテリジェントに音声化できます。たとえば、この種の入力は住所や日付に便利です。自由形式のテキスト入力では、テキストが書かれたとおりに読み上げられます。

Python

# google-cloud-texttospeech minimum version 2.31.0 is required.

import os
from google.cloud import texttospeech

PROJECT_ID = os.getenv("GOOGLE_CLOUD_PROJECT")

def synthesize_multispeaker_structured(
    prompt: str,
    turns: list[texttospeech.MultiSpeakerMarkup.Turn],
    output_filepath: str = "output_turn_based.wav",
):
    """Synthesizes speech from turn-based input and saves it to a WAV file.

    Args:
        prompt: Styling instructions on how to synthesize the content in the
          text field.
        turns: A list of texttospeech.MultiSpeakerMarkup.Turn objects representing
          the dialogue turns.
        output_filepath: The path to save the generated audio file. Defaults to
          "output_turn_based.wav".
    """
    client = texttospeech.TextToSpeechClient()

    synthesis_input = texttospeech.SynthesisInput(
        multi_speaker_markup=texttospeech.MultiSpeakerMarkup(turns=turns),
        prompt=prompt,
    )

    multi_speaker_voice_config = texttospeech.MultiSpeakerVoiceConfig(
        speaker_voice_configs=[
            texttospeech.MultispeakerPrebuiltVoice(
                speaker_alias="Speaker1",
                speaker_id="Kore",
            ),
            texttospeech.MultispeakerPrebuiltVoice(
                speaker_alias="Speaker2",
                speaker_id="Charon",
            ),
        ]
    )

    voice = texttospeech.VoiceSelectionParams(
        language_code="en-US",
        model_name="gemini-2.5-pro-tts",
        multi_speaker_voice_config=multi_speaker_voice_config,
    )

    audio_config = texttospeech.AudioConfig(
        audio_encoding=texttospeech.AudioEncoding.LINEAR16,
        sample_rate_hertz=24000,
    )

    response = client.synthesize_speech(
        input=synthesis_input, voice=voice, audio_config=audio_config
    )

    with open(output_filepath, "wb") as out:
        out.write(response.audio_content)
        print(f"Audio content written to file: {output_filepath}")

CURL

# Make sure to install gcloud cli, and sign in to your project.
# Make sure to use your PROJECT_ID value.
# The available models are gemini-2.5-flash-tts and gemini-2.5-pro-tts.
# To parse the JSON output and use it directly see the last line of the command.
# Requires JQ and ffplay library to be installed.
# google-cloud-texttospeech minimum version 2.31.0 is required.
PROJECT_ID=YOUR_PROJECT_ID
curl -X POST \
  -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
  -H "x-goog-user-project: $PROJECT_ID" \
  -H "Content-Type: application/json" \
-d '{
  "input": {
    "prompt": "Say the following as a conversation between friends.",
    "multiSpeakerMarkup": {
      "turns": [
        {
          "speaker": "Sam",
          "text": "Hi Bob, how are you?"
        },
        {
          "speaker": "Bob",
          "text": "I am doing well, and you?"
        }
      ]
    }
  },
  "voice": {
    "languageCode": "en-us",
    "modelName": "gemini-2.5-flash-tts",
    "multiSpeakerVoiceConfig": {
      "speakerVoiceConfigs": [
        {
          "speakerAlias": "Sam",
          "speakerId": "Kore"
        },
        {
          "speakerAlias": "Bob",
          "speakerId": "Charon"
        }
      ]
    }
  },
  "audioConfig": {
    "audioEncoding": "LINEAR16",
    "sampleRateHertz": 24000
  }
}' \
  "https://texttospeech.googleapis.com/v1/text:synthesize" \
  | jq -r '.audioContent' | base64 -d | ffplay - -autoexit

Media Studio で音声合成を実行する

Google Google Cloud コンソールの Media Studio を使用して、テキスト読み上げモデルを試すことができます。これにより、合成音声の生成と試聴をすばやく行い、さまざまなスタイル指示やパラメータを試すためのユーザー インターフェースが提供されます。

  1. Google Google Cloud コンソールで、[Vertex AI Studio] > [Media Studio] ページに移動します。

    Media Studio

  2. メディアのプルダウンから [音声] を選択します。

  3. テキスト フィールドに、音声に合成するテキストを入力します。

  4. [設定] ペインで、次の設定を構成します。

    1. モデル: 使用するテキスト読み上げ(TTS)モデル(Gemini 2.5 Pro TTS など)を選択します。使用可能なモデルの詳細については、テキスト読み上げモデルをご覧ください。
    2. スタイルの指示: 省略可: 選択した話し方、トーン、感情の表現を説明するテキスト プロンプトを入力します。これにより、デフォルトのナレーションを超えてモデルのパフォーマンスをガイドできます。例: 「ドキュメンタリーのナレーションを落ち着いたプロフェッショナルなトーンでお願いします。」
    3. 言語: 入力テキストの言語と地域を選択します。モデルは、選択した言語とアクセントで音声を生成します。例: 英語(米国)
    4. Voice: ナレーションに使用する事前定義済みの音声を選択します。リストには、選択したモデルと言語で利用可能な音声(Acherner(女性)など)が表示されます。
  5. 省略可: [詳細オプション] セクションを開いて、技術的な音声設定を構成します。

    1. 音声エンコード: 出力音声ファイルのエンコードを選択します。LINEAR16 は、高音質オーディオ処理に適したロスレスの非圧縮形式です。MULAW は、圧縮された音声出力にも使用できます。
    2. 音声サンプルレート: サンプルレートをヘルツ(Hz)単位で選択します。これにより、音質が決まります。44,100 Hz などの高い値は、CD 品質に相当する高忠実度のオーディオを表します。
    3. Speed: スライダーを動かすか、値を入力して、発話速度を調整します。1 より小さい値を設定すると音声の速度が遅くなり、1 より大きい値を設定すると音声の速度が速くなります。デフォルトは 1 です。
    4. 音量ゲイン(dB): 出力音声の音量をデシベル(dB)単位で調整します。正の値は音量を上げ、負の値は音量を下げます。デフォルトは 0 です。
  6. テキスト ボックスの右側にある送信アイコンをクリックして、音声を生成します。

  7. 生成された音声がメディア プレーヤーに表示されます。再生ボタンをクリックして出力を聴きます。設定は引き続き調整でき、必要に応じて新しいバージョンを生成できます。

プロンプトに関するヒント

テキストから魅力的で自然な音声を作成するには、話し言葉のニュアンスを理解し、それをスクリプト形式に変換する必要があります。次のヒントを参考にして、信頼できるトーンを取り入れ、選んだトーンを表現するスクリプトを作成してください。

音声制御の 3 つのレバー

最も予測可能でニュアンスのある結果を得るには、次の 3 つのコンポーネントがすべて、目的の出力と一致していることを確認してください。

スタイル プロンプト 全体的な感情的なトーンと配信の主な原動力。プロンプトは、音声セグメント全体のコンテキストを設定します。

  • 例: You are an AI assistant speaking in a friendly and helpful tone.

  • 例: Narrate this in the calm, authoritative tone of a nature documentary narrator.

テキスト コンテンツ 合成する単語の意味論的意味。スタイル プロンプトと感情的に一致する印象的なフレーズを使用すると、中立的なテキストよりもはるかに信頼性の高い結果が得られます。

  • 良い例: 怖いトーンのプロンプトは、I think someone is in the house. のようなテキストに最適です。

  • 効果的ではない例: The meeting is at 4 PM. のようなテキストを含む、怖いトーンのプロンプトでは、曖昧な結果が生成されます。

マークアップ タグ [sigh] のような角かっこで囲まれたタグは、全体的なトーンを設定するのではなく、特定のローカライズされたアクションやスタイルの変更を挿入する場合に最適です。スタイル プロンプトとテキスト コンテンツと連携して動作します。

マークアップ タグガイド

Google の調査によると、角かっこで囲まれたマークアップ タグは 3 つの異なるモードのいずれかで動作します。タグを効果的に使用するには、タグのモードを理解することが重要です。

モード 1: 音声以外の音

マークアップは、音声以外の発話(ため息、笑いなど)に置き換えられます。タグ自体は読み上げられません。これらは、人間のようなリアルなためらいや反応を追加するのに最適です。

タグ 動作 信頼性 ガイダンス
[sigh] ため息の音を挿入します。 ため息の感情的な質はプロンプトの影響を受けます。
[laughing] 笑いを挿入します。 最適な結果を得るには、具体的なプロンプトを使用します。たとえば、一般的なプロンプトでは驚きの笑いになる可能性がありますが、「楽しそうな笑いで反応して」と指定すると、楽しそうな笑いになります。
[uhm] ためらいの音を挿入します。 より自然な会話の感覚を生み出すのに役立ちます。

モード 2: スタイル修飾子

マークアップは発話されませんが、後続の発話の配信を変更します。変更の範囲と期間は異なる場合があります。

タグ 動作 信頼性 ガイダンス
[sarcasm] 次のフレーズに皮肉なトーンを与えます。 このタグは強力な修飾子です。これは、抽象的なコンセプトがモデルの配信をうまく誘導できることを示しています。
[robotic] 後続の音声がロボットのような音声になります。 効果はフレーズ全体に及ぶことがあります。サポート スタイルのプロンプト(「ロボットのような話し方で言って」)を使用することをおすすめします。
[shouting] その後の音声の音量を上げます。 一致するスタイル プロンプト(例: 「次の部分を叫んで」)と、叫び声を意味するテキスト。
[whispering] その後の音声の音量を下げます。 スタイル プロンプトも明示的である場合(例: 「この部分はできるだけ静かにささやいてください」)。
[extremely fast] 後続の音声の速度を上げます。 免責事項やテンポの速い会話に最適です。プロンプトのサポートは最小限で済みます。

モード 3: 音声化されたマークアップ(形容詞)

マークアップ タグ自体は単語として発音されますが、文全体のトーンにも影響します。この動作は通常、感情を表す形容詞に適用されます。

警告: タグ自体が読み上げられるため、ほとんどのユースケースでは、このモードは望ましくない副作用となる可能性があります。代わりに、スタイル プロンプトを使用してこれらの感情的なトーンを設定することをおすすめします。

タグ 動作 信頼性 ガイダンス
[scared] 「怖い」という言葉が発せられ、文が怖いトーンで読み上げられる。 パフォーマンスはテキスト コンテンツに大きく依存します。「窓が割れる音がした」というフレーズを入力すると、本当に怖い結果が返されます。中立的なフレーズを使用すると、不気味ではあるものの、本物らしさの低い結果が生成されます。
[curious] 「curious」という単語が発音され、文が好奇心旺盛なトーンになる。 タグの意図をサポートする疑問形のフレーズを使用します。
[bored] 「退屈」という単語が発音され、文が退屈で単調な話し方になる。 効果を最大限に引き出すには、平凡なテキストや繰り返しの多いテキストで使用します。

モード 4: ペーシングと一時停止

これらのタグは、生成された音声に無音を挿入し、リズム、タイミング、ペースを細かく制御できるようにします。標準の句読点(カンマ、ピリオド、セミコロン)でも自然な一時停止が作成されますが、これらのタグを使用すると、より明示的に制御できます。

タグ 動作 信頼性 ガイダンス
[short pause] コンマ(約 250 ミリ秒)と同様に、短い一時停止を挿入します。 節やリスト項目を区切って、わかりやすくするために使用します。
[medium pause] 文の区切りと同様の標準的な一時停止(約 500 ミリ秒)を挿入します。 文や考えを区切るのに効果的です。
[long pause] ドラマチックな効果を生み出すために、大きな休止を挿入します(1,000 ミリ秒以上)。 劇的なタイミングで使用します。例: 「答えは... [long pause] ...いいえ。」不自然に聞こえる可能性があるため、過度の使用は避けてください。

信頼性の高い結果を得るための主な戦略

  • 3 つのレバーをすべて調整する 予測可能性を最大限に高めるには、スタイル プロンプト、テキスト コンテンツ、マークアップ タグがすべて意味的に一貫しており、同じ目標に向かって機能していることを確認します。

  • 感情豊かなテキストを使用する プロンプトとタグだけに頼らないでください。モデルが処理するリッチで説明的なテキストを指定します。これは、皮肉、恐怖、興奮などの微妙な感情を理解するうえで特に重要です。

  • 具体的で詳細なプロンプトを作成する スタイル プロンプトが具体的であるほど、信頼性の高い結果が得られます。「React with an amused laugh」は、単に [laughing] と書くよりも優れています。「1940 年代のラジオ ニュース アナウンサーのように話して」は、「古風な話し方をして」よりも優れています。

  • 新しいタグをテストして検証する 新しいタグやテストされていないタグの動作は、必ずしも予測できるとは限りません。スタイル修飾子だと思っていたタグが音声化されることがあります。新しいタグとプロンプトの組み合わせは、本番環境にデプロイする前に、必ずテストして動作を確認してください。