Skip to content
Published on

SOTA音声認識・合成分析 — Whisperからコーデック言語モデルまで

Authors

はじめに

音声技術は私たちの日常に深く入り込んでいます。スマートフォンの書き取り、議事録の自動作成、ナビの案内音声、オーディオブックの朗読まで、すべて音声認識(ASR)と音声合成(TTS)の産物です。

近年この分野は、ディープラーニング、特に大規模事前学習とトランスフォーマーの力で大きく飛躍しました。認識側ではWhisperのような大規模弱教師ありモデルが登場し、合成側では人と区別しにくい自然な音声や、短いサンプルだけで声を複製するコーデック言語モデルが現れました。

本記事では音声認識と合成の系譜をたどりながら、中核となるアーキテクチャと原理を見ていきます。AIのSOTAは非常に速く変わるため、具体的な順位や数値よりも概念と構造を中心に説明し、確実に分かるモデルと論文だけを断定します。

大きな絵: 発展の流れ

詳細に入る前に、音声技術の発展を一目で整理すると次のようになります。

[音声認識(ASR)の流れ]
 HMM/GMM  ->  DNN音響モデル  ->  CTC/アテンション一体型  ->  Whisper大規模弱教師

[音声合成(TTS)の流れ]
 接続/パラメトリック  ->  Tacotron+ニューラルボコーダ  ->  ニューラルコーデック  ->  コーデック言語モデル

大きな流れは2つに要約されます。第一に、複数の部品を手で組み立てる方式から、データで一体的に学習する方式へ移りました。第二に、データ規模が大きくなり表現がトークン化されるにつれ、認識も合成も大規模言語モデルと似た道具を共有するようになりました。以下で各段階を順に見ていきます。

音声認識(ASR)の系譜

音から文字へ

音声認識の目標は音声波形をテキストに変えることです。問題の本質は、連続的な音の信号を離散的な文字列に整列させることです。音は時間とともに流れ、発話速度も様々なので、どの音区間がどの文字に対応するかを合わせることが核心の難題です。

[音声波形]  ~~~~~~/\/\~~~~/\~~~~~
     |  特徴抽出 (例: メルスペクトログラム)
     v
[音響特徴]  フレーム単位のベクトル列
     |  音響モデル + 整列
     v
[テキスト]  "こんにちは"

HMMの時代

初期の音声認識は隠れマルコフモデル(HMM)とガウス混合モデル(GMM)の組み合わせが主導しました。音響モデルは音の特徴を音素状態に対応させ、発音辞書が音素を単語に、言語モデルが単語列の確率を付ける複数部品の結合でした。

この方式は長く標準でしたが、部品が多く各々を別に作る必要があり複雑でした。以後、音響モデルのGMMを深層ニューラルネット(DNN)が置き換えると精度が大きく向上し、次第に一体型(end-to-end)のニューラルネットへ移る流れが始まります。

CTC: 整列問題の突破口

一体型ニューラル音声認識の重要な転換点がCTC(Connectionist Temporal Classification)です。CTCは音のフレームと文字を逐一整列させずに学習できるようにします。

核心は、空(blank)トークンを導入し、あり得るすべての整列経路の確率を合算して最終テキストの確率を計算することです。

フレーム:  f1  f2  f3  f4  f5  f6
経路例1:   こ  こ  _   ん  _   にちは
経路例2:   _   こ  _   ん  ん  にちは
           (_ は空トークン、繰り返し/空を整理すると "こんにちは")

すべての有効経路の確率を合算 → "こんにちは" の確率

CTCのおかげでフレーム単位の整列ラベルなしでも、音とテキストのペアだけで学習が可能になりました。ただしCTCは各出力が互いに独立と仮定する限界があり、言語的文脈を反映するには別の言語モデルと結合する場合が多くありました。

アテンションベースのエンコーダ-デコーダ

もう一つの流れがアテンションベースのエンコーダ-デコーダです。エンコーダが音を表現に変え、デコーダがアテンションで必要な音区間を選び見ながら文字を1つずつ生成します。トランスフォーマーの登場でこの構造は大きく強くなりました。

CTCとアテンションは互いに補完的なので、両者を併用するハイブリッド構造も広く活用されました。CTCが単調な整列を安定して捉え、アテンションが柔軟に文脈を反映する形です。

Whisper: 大規模弱教師あり学習

Whisperの核心

WhisperはOpenAIが公開した音声認識モデルで、論文「Robust Speech Recognition via Large-Scale Weak Supervision」(arXiv 2212.04356)として発表されました。名の通り大規模弱教師あり(weak supervision)学習が核心です。

Whisperの特徴は、ウェブから集めた膨大な量(数十万時間規模と言われる)の音声-テキストペアで学習した点です。ラベルが完璧でないデータでも、量が非常に多ければ頑健なモデルを作れることを示しました。

[ウェブから収集した大規模音声-テキスト]
 多様な言語、なまり、雑音、ドメインを含む
              |
              v
[トランスフォーマー エンコーダ-デコーダ]
 ログメルスペクトログラム入力 → エンコーダ
 テキストトークン出力 ← デコーダ (アテンション)
              |
              v
[1つのモデルが複数タスクを実行]
 多言語認識、翻訳、言語識別、タイムスタンプ

マルチタスク構造

もう一つの特徴は、1つのモデルが複数のタスクを処理する点です。特殊トークンで「今はどの言語を認識せよ」「英語に翻訳せよ」「タイムスタンプを付けよ」といった指示を与えると、同じモデルがその作業を実行します。このマルチタスク設計のおかげで、別部品なしに多様な機能を1つで処理します。

Whisperは頑健性が強みです。雑音のある環境や様々ななまりでも比較的よく動作すると言われています。ただしリアルタイムストリーミングには基本構造上すぐには適さず、長い音声で幻覚(hallucination)や繰り返しが生じうるという限界も報告されています。

ストリーミング vs オフライン

音声認識には大きく2つの利用状況があります。

[オフライン(バッチ)認識]
 全音声を受け取った後に認識
 - 長所: 前後の文脈をすべて活用、精度に有利
 - 用途: 議事録、字幕生成、ポッドキャスト書き起こし

[ストリーミング(リアルタイム)認識]
 音が入るそばから即時に認識
 - 長所: 遅延が短い
 - 制約: 未来の文脈が見えない、部分結果の修正が必要
 - 用途: リアルタイム字幕、音声アシスタント、通話認識

Whisperのようなエンコーダ-デコーダのオフラインモデルは精度に有利ですが遅延が大きいです。一方ストリーミングには、未来を少しだけ覗くか全く見ない構造(例: トランスデューサ系列)が適します。実務では用途に応じて2方式を使い分けます。

頑健性を高める学習技法

実環境の音声は雑音、残響、多様なマイク特性で汚れています。きれいなデータだけで学習したモデルはこうした環境で性能が急落します。そこでデータ拡張(data augmentation)で学習データをわざと多様にする技法が広く使われます。

[代表的な音声データ拡張]
 - 速度/ピッチ変形: 話す速度や音高を少し変える
 - 雑音追加: 背景雑音、残響を混ぜる
 - SpecAugment: スペクトログラムの一部の時間/周波数区間を隠す
 - 音量/ゲイン変形: 音量を多様に

特にSpecAugmentはメルスペクトログラム上で時間軸と周波数軸の一部をマスキングする単純な技法ですが、音声認識性能を大きく高め広く採用されました。Whisperのように大規模で多様なデータで学習すること自体も頑健性を高める方法と言えます。データが実環境の多様性を十分に含むほど、モデルは配備後もよく耐えます。

音声合成(TTS)の進化

初期: 接続合成とパラメトリック合成

初期のTTSには、あらかじめ録音した音声片をつなぐ接続合成(concatenative)と、音声特徴を統計モデルで生成するパラメトリック合成がありました。接続合成は特定話者の声で自然でしたが柔軟性が低く、パラメトリック合成は柔軟ですが機械的な音がしました。

Tacotron: 一体型ニューラルTTS

ディープラーニングTTSの転換点がTacotron系列です。Tacotronはテキストを入力にアテンションベースのシーケンス-トゥ-シーケンスでメルスペクトログラム(音の時間-周波数表現)を生成します。その後ボコーダ(vocoder)がメルスペクトログラムを実際の波形に変えます。

[テキスト]
   |  テキストエンコーダ + アテンションデコーダ (Tacotron系列)
   v
[メルスペクトログラム]  音の時間-周波数表現
   |  ボコーダ (波形生成)
   v
[音声波形]

この「テキスト → メルスペクトログラム → 波形」の2段階構造が長くニューラルTTSの標準になりました。

ニューラルボコーダ

メルスペクトログラムを波形に変えるボコーダの品質が最終音質を左右します。初期のWaveNetは非常に自然な音を出しましたが、サンプルを1つずつ生成して非常に遅かったです。以後、並列生成が可能な複数のボコーダ(例: フローベース、GANベース系列)が登場し、品質を保ちつつはるかに速い合成が可能になりました。実務で広く使われたGANベースのボコーダ系列は、速い速度と良い音質の均衡で人気を集めました。

韻律とスタイルの制御

良い音声合成は、単に明瞭な発音を超えて自然な韻律(prosody)を担う必要があります。韻律とは抑揚、強勢、リズム、間のように文の「話し味」を決める要素です。同じ文でも韻律によって質問のように、断定のように、あるいは驚いたように聞こえます。

[韻律制御の例]
 "本当ですか"
   - 平坦な抑揚 -> 淡々とした反応
   - 語尾を上げる抑揚 -> 驚いた質問
   - 強勢を置いた抑揚 -> 強い感嘆

 同じ文字、異なる韻律 -> 異なる意味/感情

初期のTTSは韻律を細かく制御しにくかったですが、最近のモデルは参照音声やスタイルトークン、感情ラベルなどを条件に与えて韻律と話者スタイルをある程度調節できます。コーデック言語モデルのゼロショット複製も参照音声の韻律を併せて真似る性質があり、短い例だけで特定話者の話し方を再現するのに有利です。

ニューラルオーディオコーデック

音声をトークンに

最新の音声合成の核心材料がニューラルオーディオコーデック(neural audio codec)です。ニューラルコーデックはニューラルネットで音声を圧縮する技術で、連続的な音を離散的なトークン列に変えます。

[連続音声波形]
   |  エンコーダ
   v
[ベクトル量子化(VQ)]  → 離散トークン列 (音声の "単語")
   |  デコーダ
   v
[復元された音声波形]

核心は、残差ベクトル量子化(RVQ, Residual Vector Quantization)のような技法で音声を複数層の離散コードで表す点です。こうすると音声もテキストのようにトークンの並びになります。代表的なニューラルコーデックとしてSoundStream、EnCodec系列が知られています。

音声がトークンになると、言語モデルがテキストトークンを予測するように音声トークンを予測させられます。これが次に見るコーデック言語モデルの出発点です。

コーデック言語モデル: VALL-E系列の概念

音声合成を言語モデリングに

ニューラルコーデックで音声をトークン化すると、TTSを「次の音声トークン予測」問題として再定義できます。すなわち、テキストと短い参照音声を条件に与えると、言語モデルがその話者の声で続く音声トークンを生成するのです。この方向の代表的な概念がVALL-E系列です。

[テキスト]  +  [短い参照音声 (3秒の例)]
              |  コーデックでトークン化
              v
[条件: テキストトークン + 参照音声トークン]
              |  言語モデル (次の音声トークンを予測)
              v
[生成された音声トークン列]
              |  コーデックデコーダ
              v
[参照話者の声で合成された音声]

ゼロショット音声複製

コーデック言語モデルの印象的な能力がゼロショット音声複製です。別途の再学習なしに、わずか数秒分の参照音声だけでその人の声の特性(音色、抑揚)を真似て新しい文を合成できます。これは短い参照を文脈(context)として受け取り続けて生成するインコンテキスト学習に似た性質です。

この方式は少量のデータで個人化された声を作れて強力ですが、後で扱う倫理的リスクも一緒に大きくなります。

拡散ベースのアプローチとの共存

コーデック言語モデル(自己回帰)のほかにも、拡散(diffusion)ベースやフローマッチング(flow matching)ベースで音声を生成するアプローチも活発です。自己回帰はトークンを逐次生成する一方、拡散系列は雑音から徐々に音声を作り出します。両者は長短が異なり共存しながら発展しています。

ゼロショット音声複製と倫理

ゼロショット音声複製は、アクセシビリティ(声帯疾患者のための声の再現など)やコンテンツ制作の面で大きな価値があります。しかし同時に深刻なリスクを抱えています。

  • なりすましと詐欺: 他人の声で知人をだますボイスフィッシング、金融詐欺のリスクが高まります。
  • 同意なき複製: 本人の同意なく声を複製することは肖像権・人格権の侵害になりうます。
  • ディープフェイク音声: 偽の発言を本物のように作り世論を誤導しうます。

こうしたリスクのため、多くの研究とサービスが同意確認、ウォーターマーキング(生成音声に識別信号を挿入)、利用制限ポリシーを強調します。技術を扱う際は、能力と同じくらいこうした安全策と責任を併せて考える必要があります。

多言語対応

音声技術の重要な課題が多言語と低資源言語対応です。世界には数千の言語がありますが、学習データが豊富な言語はわずかです。

Whisperのように大規模多言語データで学習したモデルは、複数の言語を1つで処理する利点があります。言語間の知識が共有され、データの少ない言語も関連言語の助けを得られます。ただしデータが極めて少ない低資源言語では依然性能が落ち、コードスイッチング(1つの文に複数言語を混用)や方言処理も難しい課題として残っています。

音を特徴に: メルスペクトログラム

前に何度か登場したメルスペクトログラムをもう少し見ます。音声信号は毎秒数万個の標本からなる長い波形です。これをそのままニューラルネットに入れるより、人の聴覚特性に合わせた特徴に変える前処理が広く使われます。

[音声波形]  時間に沿った振幅
   |  短い区間に分けてフーリエ変換 (STFT)
   v
[スペクトログラム]  時間 x 周波数のエネルギー地図
   |  人の聴覚に合わせたメルスケールを適用
   v
[メルスペクトログラム]  時間 x メル周波数

メルスケールは、人が低い周波数の差により敏感で高い周波数の差には鈍い特性を反映します。そのためメルスペクトログラムは元のスペクトログラムより聴覚的に意味のある表現になります。認識と合成の両方でこの表現を中間の橋としてよく使います。ただし最近は波形を直接扱ったり、先に見たニューラルコーデックのトークンを使う方向も併せて発展しています。

評価指標

認識評価: WER

音声認識の性能は主に単語誤り率(WER, Word Error Rate)で測ります。正解文と認識結果を比較し、誤って変わった単語、抜けた単語、加わった単語の数を数えて割合で計算します。

WER = (置換 + 削除 + 挿入) / 正解単語数

- 低いほど良い (0に近いほど正確)
- 韓国語/日本語のように分かち書きの基準が異なる言語は
  文字誤り率(CER)も併せて見ることがある

WERは有用ですが限界もあります。意味の通じる些細な誤りと、意味を変える致命的な誤りを同じように数えるため、実際の使いやすさと常に一致するとは限りません。そのため用途に応じて人手評価や下流性能(例: 認識結果から命令がうまく実行されるか)も併せて見ます。

合成評価: MOS

音声合成の自然さは主に平均オピニオン評点(MOS, Mean Opinion Score)で測ります。人の評価者が合成音声を聴いて1点から5点で自然さを付け、平均を取ります。最近は人手評価を真似る自動指標も使われますが、合成音質の最終判断は依然として人の聴取評価に大きく依存します。

実務パイプラインの例

音声技術を実サービスに入れる際の典型的な流れを整理します。

[音声認識サービスの流れ]
 1. オーディオ入力 (マイク/ファイル)
 2. 前処理 (リサンプリング、正規化、特徴抽出)
 3. ASRモデル推論 (Whisperなど)
 4. 後処理 (句読点復元、数字正規化、フィルタ)
 5. 結果の活用 (字幕、命令処理、検索など)

[音声合成サービスの流れ]
 1. テキスト入力
 2. テキスト正規化 (数字/略語/記号を読む形に)
 3. TTSモデル推論 (Tacotron/コーデックLMなど)
 4. 後処理 (音量正規化、無音整理)
 5. オーディオ出力/ストリーミング

特に前後処理が実使用の品質に大きく影響します。例えば認識では句読点と数字正規化が可読性を左右し、合成ではテキスト正規化が誤ると数字や略語をおかしく読みます。モデルと同じくらいこの周辺処理を磨くことが重要です。

比較: アプローチの整理

区分代表概念強み留意点
ASR HMM/GMM音響+発音+言語モデル結合長年の検証、解釈容易部品が多く複雑
ASR CTC空トークン整列、一体型学習整列ラベル不要出力独立の仮定
ASR アテンションエンコーダ-デコーダ柔軟な文脈反映ストリーミングに調整必要
ASR Whisper大規模弱教師マルチタスク頑健、多言語ストリーミング/長音声の限界
TTS Tacotron+ボコーダテキスト→メル→波形自然な合成2段階パイプライン
TTS コーデックLM音声トークン予測ゼロショット複製倫理リスクが大きい

上表は概念比較であり、各方式は発展を続けているため、細部の優劣は状況によって異なります。

話者分離と付加タスク

実際のオーディオには複数人が混じって話す場合が多くあります。議事録や通話の書き起こしでは「誰がいつ話したか」を区別する話者分離(speaker diarization)が必要です。

[話者分離の流れ]
 オーディオ
   |  音声区間検出 (VAD, 発話/無音の区別)
   v
 発話区間
   |  話者埋め込み抽出 + クラスタリング
   v
 "話者A: 0〜5秒、話者B: 5〜9秒 ..." のラベル

ここで核心の道具が話者埋め込みです。声の特性をベクトルにし、同じ人の発話は似たベクトルになるよう学習します。これは前の埋め込みの記事で見たのと同じ対照学習のアイデアが音声にも適用される例です。話者分離のほか、感情認識、言語識別、音声活動検出(VAD)のような付加タスクも実務パイプラインに一緒に入ります。

音声対音声と統合モデル

伝統的に音声アシスタントはASRで音を文字に変え、LLMで答えを作り、TTSで再び音を出す3段階でした。しかしこの方式は段階が多く遅延が大きく、途中で感情や抑揚のような情報が失われます。

[段階型の音声対話]
 音 -> ASR -> 文字 -> LLM -> 文字 -> TTS -> 音
        (感情/抑揚の情報が途中で消えうる)

[統合型の音声対音声]
 音 -> [1つのモデル] -> 音
        (抑揚、笑い、感情をより自然に保てる)

そこで最近は音から音へ直接つなぐ音声対音声(speech-to-speech)の統合モデルが研究されています。先に見たニューラルコーデックのトークンがここでも核心の材料になります。オーディオをトークンとして扱えれば、テキストとオーディオを同じ方式で処理する統合モデルを想像できるからです。ただしこうした統合モデルはまだ発展中で、遅延・品質・制御可能性で解決すべき課題が多くあります。

全体の流れの図

音声認識と合成を1つの図にまとめると次のようになります。

[音声入力]
   |  ASR (Whisperなど)
   v
[テキスト]  <->  [LLM処理 (任意)]
   |  TTS (Tacotron / コーデックLMなど)
   v
[音声出力]

音声アシスタント: ASR → LLM → TTS の連結で対話を実現

このようにASRとTTSをLLMと連結すると音声対話型インターフェースが完成します。最近ではこの3段階を1つのモデルに統合する音声対音声(speech-to-speech)アプローチも研究されています。

オンデバイスと軽量化

クラウドではなく機器の中で直接音声処理をしようとする需要も大きいです。遅延が短く、インターネットなしで動作し、音声データが機器を離れないためプライバシー保護に有利だからです。

[クラウド vs オンデバイス]
 クラウド: 大きなモデル、高い精度 / 遅延・コスト・プライバシーの負担
 オンデバイス: 小さなモデル、低い遅延 / 性能制約、最適化が必要

オンデバイスのためにはモデルを小さくする軽量化が必要です。重みの精度を下げる量子化(quantization)、小さなモデルが大きなモデルを真似る知識蒸留(distillation)、不要な接続を除く枝刈り(pruning)などが使われます。Whisper系列も小さいサイズの変種が公開されており、精度とコストの均衡を状況に合わせて選べます。

限界と注意点

  • 精度の限界: ASRは専門用語、固有名詞、強いなまり、雑音環境で誤りが増えます。重要な用途では人手の確認が必要です。
  • 幻覚と繰り返し: 大規模生成モデルは実際にない言葉を作ったり同じ句を繰り返すことがあります。
  • リアルタイム性: 精度の高いオフラインモデルは遅延が大きくリアルタイムに不向きなことがあります。
  • 倫理と安全: 音声複製はなりすまし・詐欺リスクが大きいため、同意やウォーターマーキングのような安全策が必要です。
  • 最新性: この分野のSOTAは非常に速く変わります。本記事の説明は概念理解のためであり、具体スペックと順位は公式文書で確認が必要です。
  • 低資源言語: データの少ない言語では性能が大きく落ちることがあります。

まとめ

音声技術は、HMM時代の複数部品の結合から、CTCとアテンションの一体型学習を経て、Whisperの大規模弱教師あり学習とコーデック言語モデルのゼロショット複製まで驚くほど発展しました。

覚えておきたい核心は3つです。第一に、音声認識の根本課題は連続音を離散文字に整列させることで、CTCとアテンションがこれを一体で解きました。第二に、ニューラルコーデックが音声をトークンに変えることで、音声合成を言語モデリング問題に再定義できるようになりました。第三に、能力が大きくなった分、音声複製の倫理的責任も一緒に大きくなりました。AIのSOTAは速く変わりますが、こうした原理と責任意識は長く有効です。

参考資料