概要

本文書では、SupertoneのText To Speech APIの使用方法について説明します。Supertoneのtext-to-speech技術を活用して、テキストを自然な音声に変換することができます。

対応言語

Supertone APIは各言語に最適化された音声モデルを提供しており、現在以下の言語に対応しています。

  1. 韓国語(ko)
  2. 日本語(ja)
  3. 英語(en)

ボイス選択ガイド

1. 利用可能なボイスの確認

ご希望の音声を確認するには、Get Voices APIまたはSearch Voices APIを呼び出して直接音声を探索することができます。

Get Voices APIを呼び出して確認

Get Voices APIを呼び出して、利用可能なボイスの一覧を確認できます。APIは以下のような形式のJSON応答を返します。JSON応答に含まれるvoice_idをAPI呼び出し時のパラメータとして入力します。

{
    "voices": [
        {
            "voice_id": "54CyP2zU9HCeLVCpzDRFPi",
            "name": "Yoonho",
            "description": "Yoonho is a sarcastic and indifferent teenager. He doesn't express his emotions well.",
            "age": "young-adult",
            "gender": "male",
            "use_case": "game",
            "language": "ko",
            "style": "blank_high"
        }
    ]
}

Search Voices APIを呼び出して確認

Search Voices APIを呼び出して、様々なキーワードとフィルターを使って音声を検索することができます。 APIは次のような形式のJSON応答を返します。 JSON応答に含まれるvoice_idをAPI呼び出しに活用してください。

{
  "voices": [
    {
      "voice_id": "<string>",
      "name": "<string>",
      "description": "<string>",
      "age": "<string>",
      "gender": "<string>",
      "use_case": "<string>",
      "language": "<string>",
      "style": "<string>"
    }
  ],
  "total": 123,
  "page": 123,
  "page_size": 123,
  "total_pages": 123
}

2. ボイスの属性について

各ボイスは以下の属性を持っています:

Age

ボイスの年齢層を示すタグです。Supertone APIは4つの年齢層タグを提供しています。


child, young-adult, middle-aged, elder

Gender

ボイスの性別を示すタグです。Supertone APIは2つの性別タグを提供しています。


male, female

Use Case

ボイスの推奨使用用途を示すタグです。Supertone APIは6つの使用用途タグを提供しています。


advertisement, announcement, audiobook, documentary, education, game

Language

そのボイスに最適化された言語タグです。Supertone APIは3つの言語タグを提供しています。


ko, ja, en

Style

ボイスごとの固有の感情や話し方を示すタグです。各ボイスが独自のスタイル値を持っているため、Get Voices APIを呼び出して直接確認することをお勧めします。

3. ボイスの選択方法

  1. 希望する言語のボイスをフィルタリングします
  2. プロジェクトの目的に合ったuse_caseを持つボイスを選択します
  3. 希望する年齢層と性別のボイスを選択します
  4. 選択したボイスのvoice_idをコピーしてAPI呼び出し時に使用します

API呼び出しガイド

1. テキスト入力の制限事項

  • 最大長:スペースを含めて200文字
  • テキストの要件:
    • 空白や句読点のみで構成されたテキストは使用できません
    • 正確な発音を生成するために、正しい文法と表記法を使用する必要があります
    • 特殊文字「\n」などが含まれないように注意が必要です

2. 音声出力形式

  • クエリパラメータoutput_formatで指定
  • 対応形式:
    • wav(デフォルト)
    • mp3

3. モデル選択

ボディパラメータmodelで以下から選択:

turbo

  • 特徴:中程度の品質、非常に低いレイテンシー
  • 推奨用途:リアルタイム会話

pro

  • 特徴:高品質、中程度のレイテンシー
  • 推奨用途:コンテンツ制作、高品質な音声が必要な場合

主要指標

turbopro
音質評価スコア(NISQA)4.154.20
平均応答時間(Latency)- 50文字基準:820ms
- 100文字基準:1,000ms
- 50文字基準:1,500ms
- 100文字基準:2,300ms
対応言語ko, ja, enko, ja, en
推奨使用用途AIとの音声会話サービスオーディオブック、映像などのコンテンツ制作

4. 音声の詳細設定

  1. pitch_shift(音程調整)
    • 範囲:-24 ~ 24(デフォルト:0.0)
    • 説明:
      • 1単位 = 1セミトーン
      • 正数:音程上昇(例:10 = 5トーン上昇)
      • 負数:音程下降(例:-10 = 5トーン下降)
      • ±24 = 2オクターブ変化
  2. pitch_variance(音程変化幅)
    • 範囲:0 ~ 2(デフォルト:1.0)
    • 説明:
      • 0:最小変化幅
      • 2:最大変化幅
      • 値が大きいほどダイナミックな音声
  3. speed(発話速度)
    • 範囲:0.5 ~ 2.0(デフォルト:1.0)
    • 説明:
      • 1.0:基本速度
      • 2.0:2倍速
      • 0.5:0.5倍速

生成された結果物について

1. ファイル名の構造

2024-08-28_05-02-53_arin_ko_happy_gv0_av15_ps0_pv100_s100.mp3

構成要素

  • 生成時間:2024-08-28_05-02-53(YYYY-MM-DD_HH-mm-ss)
  • ボイス名:arin
  • 言語:ko
  • スタイル:happy
  • ピッチ調整:ps0(pitch shift)
  • ピッチ変化範囲:pv100(pitch variance、100 = 1.0)
  • 発話速度:s100(speed、100 = 1.0)
  • ファイル形式:.mp3

2. 注意事項

生成された音声は機械学習技術を基にしているため、同じ設定で生成しても結果物が完全に同一にならない場合があり、品質も完全に均一ではない場合があります。