音声合成
注
詳細については、「 テキストと画像 」タブを参照してください。
音声合成 (テキスト読み上げ (TTS) とも呼ばれます) は、書き込まれたテキストを音声に変換します。 仮想アシスタントが通知を読み上げたり、ナビゲーション アプリが指示を読み上げたり、アクセシビリティ ツールを使ってユーザーが書き込まれたコンテンツを音声で使用したりすると、音声合成が発生します。
音声合成システムは、4 つの異なるステージでテキストを処理します。 各ステージは入力を段階的に変換し、自然で理解可能に聞こえる最終的なオーディオ波形に向かって構築します。
テキストの正規化: テキストを標準化する
テキストの正規化では、省略形、数字、記号を音声形式に拡張することで、発音用の生テキストを準備します。
次の文章を考えてみましょう。「2023年12月15日、スミス博士は3つの商品を25.50ドルで注文しました。」
正規化システムでは、"Doctor Smith は 12 月 15 日に 2,500 ドルと 50 セント、2,2300 円で 3 項目を注文しました" に変換します。
一般的な正規化タスクは次のとおりです。
- 省略形の展開 ("Dr" が "Doctor"、"Inc" が "Incorporated" になります)
- 数値を単語に変換する ("3" は "3"、"25.50" は "25 ポイント 5 ゼロ" になります)
- 日付と時刻の処理 ("2023 年 12 月 15 日" が "12 月 15 日、2,203 日" になります)
- シンボルと特殊文字の処理 ("$" は "dollars"、"@" は "at" になります)
- コンテキストに基づくホモグラフの解決 (現在時制と過去時制の"読み取り")
テキストの正規化により、システムが生の記号または数字を発音することを防ぎます。これにより、不自然または理解できない出力が生成されます。
ヒント
ドメインが異なる場合は、特殊化された正規化ルールが必要です。 医療テキストは、通貨とパーセンテージを扱う金融テキストとは異なる方法で薬物名と投与量を処理します。
言語分析: テキストを音素にマップする
言語分析では、正規化されたテキストが 音素 (音の最小単位) に分割され、各単語の発音方法が決まります。 言語分析ステージ:
- テキストを単語と音節に分割します。
- 辞書(発音辞書)の中の単語の発音を検索します。
- 不明な単語を処理するために、G2P ルールまたはニューラル モデルを適用します。
- 音節の境界をマークし、強調された音節を識別します。
- 隣接するサウンドのふりがなコンテキストを決定します。
グラフェムから音素への変換
Grapheme-to-phoneme (G2P) 変換では、書かれた文字 (graphemes) を発音音 (音素) にマップします。 英語のスペルでは発音が確実に示されないため、G2P システムではルールと学習パターンの両方が使用されます。
例えば次が挙げられます。
- "though" という単語は /θoʊ/ に変換されます。
- "through" という単語は /θruː/ に変換されます。
- "カフ" という単語は /kɔːf/ に変換されます。
各単語には "ough" という文字が含まれていますが、発音は大きく異なります。
最新の G2P システムでは、発音辞書でトレーニングされたニューラル ネットワークが使用されます。 これらのモデルは、スペルとサウンドの間のパターンを学習し、ルールベースのシステムよりも一般的でない単語、適切な名前、地域のバリエーションをより適切に処理します。
音素を決定する場合、言語分析では多くの場合、 トランスフォーマー モデルを使用してコンテキストを検討 します。 たとえば、"read" という単語は、"I read books" (現在の時制: /riːd/) と "I read that book yesterday" (過去の時制: /rɛd/) で発音が異なります。
プロソディ生成: 発音を決定する
プロソディとは、音声を自然に聞こえるようにするリズム、ストレス、イントネーションのパターンを指します。 プロソディ生成は、生成する音だけでなく、単語の言い方を決定します。
プロソディの要素
プロソディには、いくつかの声の特徴が含まれています。
- ピッチの輪郭: 質問と陳述を示すピッチパターンの上昇または下降
- 継続時間:各音を保持する時間、強調または自然なリズムを作成する
- 強度: 重要な単語を強調表示するボリューム バリエーション
- 一時停止: 理解しやすい語句または文の間で区切ります
- ストレス パターン: 単語と文の中で強調を受ける音節
プロソディは、音声テキストの解釈方法に大きな影響を与えます。 たとえば、どの音節または単語が強調されているかによって、次の文がどのように意味を変えるかを考えてみましょう。
- 「私は 彼がケーキを食べたとは言いませんでした。
- 「私は 彼が ケーキを食べたとは言いませんでした。
- 「私は彼がケーキを 食べた とは言いませんでした。
- 「私は彼が ケーキを食べたとは言いませんでした。
トランスフォーマーベースのプロソディ予測
最新の音声合成システムでは、トランスフォーマー ニューラル ネットワークを使用してプロソディを予測します。 トランスフォーマーは、隣接する単語だけでなく、文全体のコンテキストを理解する上で優れています。
プロソディ生成プロセス
- 入力エンコード: トランスフォーマーは、言語機能 (句読点、音声の一部、文構造) を含む音素シーケンスを受け取ります。
- コンテキスト分析: 自己注意メカニズムは、単語間の関係を識別します (たとえば、代名詞が指す名詞、文の境界が設定される場所)
- プロソディ予測: モデルは、各音素のピッチ、継続時間、エネルギーの予測値を出力します
- スタイル要因: システムは、話し方 (ニュートラル、表現、会話) と話者の特性を考慮します
トランスフォーマーは、何千時間もの録音された音声とトランスクリプトを組み合わせて学習することで、プロソディを予測します。 モデルはパターンを発見します。質問は最後にピッチが上がり、コンマは短い一時停止を示し、強調された単語は少し長くなり、文の最後の単語はピッチに落ちることがよくあります。
プロソディの選択に影響を与える要因
- 構文: 句の境界は、一時停止する場所を示します
- セマンティクス: 重要な概念が強調される
- 談話のコンテキスト: 対照的な情報や質問に対する回答は、余分なストレスを引き受ける可能性があります
- 話者 ID: 各音声には、特徴的なピッチ範囲と読み上げ速度があります
- 感情のトーン: 興奮、懸念、または中立によって音声の抑揚パターンが形成される
プロソディ予測では、"中程度の強度で 80 ミリ秒の 180 Hz で音素 /æ/ を生成し、200 ミリ秒間一時停止する" というターゲット仕様が作成されます。
Important
プロソディは自然さに大きく影響を与える。 多くの場合、ロボットのような音声は、不完全な音素の発音からではなく、単調な抑揚がないことから生じます。
音声合成: オーディオを生成する
音声合成では、音素シーケンスとプロソディの仕様に基づいて最終的なオーディオ波形が生成されます。
波形生成アプローチ
最新のシステムでは、ニューラル ボコーダー (オーディオ サンプルを直接生成するディープ ラーニング モデル) が使用されます。 一般的なボコーダー アーキテクチャには、WaveNet、WaveGlow、HiFi-GAN があります。
合成プロセス
- 音響特徴の生成: 音響モデル (多くの場合、トランスフォーマー) は、音素とプロソディのターゲットをメル スペクトログラムに変換します。時間の経過に伴う音の周波数の視覚的表現
- Vocoding: ニューラル ボコーダーは、メル スペクトログラムを生のオーディオ波形に変換します (1 秒あたり 16,000 から 48,000 サンプルの振幅値のシーケンス)
- 後処理: システムは、対象の出力仕様に合わせてフィルター処理、正規化、またはオーディオ効果を適用します
注
ニューラル ボコーダーの効果は次のとおりです。
- 高忠実度:スタジオ録音に近づくオーディオ品質を生成する
- 自然性:通気性や音声品質などの微妙な声の特性をキャプチャします
- 効率性: 最新のハードウェアでのリアルタイム生成 (対話型アプリケーションにとって重要)
- 柔軟性: さまざまな話者、言語、話し方に適応
ボコーダーは基本的に自動音声認識の逆を実行します。音声認識はオーディオをテキストに変換しますが、ボコーダーは言語表現をオーディオに変換します。
完全なパイプラインの動作
"Dr. Chen's appointment is at 3:00 PM"の音声合成を要求する場合:
- テキストの正規化 により、"Chen博士の予約は午後3時" に拡張されます
言語学的分析 では、それを音素に変換します: /ˈdɑktər ˈtʃɛnz əˈpɔɪntmənt ɪz æt θri əˈklɑk pi ɛm/- プロソディ生成 では "appointment" でのわずかなピッチの上昇、"is" の後の一時停止、"three" の強調を予測します
- 音声合成 では、これらの仕様に一致するオーディオ波形が生成されます
通常、プロセス全体は最新のハードウェアで 1 秒以下で完了します。