トピックハブ

音声とオーディオ

音声がテキストになり、テキストが音声になる仕組み。サンプリングとスペクトログラム、WhisperとCTCモデルによる音声認識、テキスト音声合成、音声エンベディング、そして低レイテンシのストリーミングのエンジニアリングを解説します。

更新 2026年11月13日 · 音声認識、ASR、テキスト音声合成、Whisper、スペクトログラム、音声エンベディング、ストリーミング、単語誤り率

概要

音声とオーディオの機械学習は、自動音声認識(ASR)、テキスト音声合成(TTS)、話者識別と音の識別、そして間にテキストを挟まずに聞いて話す新しい音声対音声モデルを扱います。モデルはこのサイトの他の場所と同じトランスフォーマーと畳み込みネットワークで、毎秒16,000サンプルで到着し、時間内に処理しなければならない信号に適用されます。このハブは、プロダクトに音声を加える、あるいは録音された音声を大規模に処理するエンジニアのためのページで、テキストや画像と異なる点に集中します。信号、音声と単語の間のアラインメント、そしてレイテンシです。

これが重要なのは、オーディオはデモと本番の差が最も大きい領域だからです。ポッドキャストを完璧に書き起こすモデルが、背後で扇風機が回っている電話では失敗することがあり、2秒の遅延があるシステムはどれほど正確でも会話には使い物になりません。

重要な考え方

信号としての音声: フレームとスペクトログラム

音声モデルは16 kHzモノラルで動作するので、最初のステップは常に再標本化です。44.1 kHzや8 kHzの音声を再標本化せずに16 kHzのモデルに与えるのが、最もよくある静かな失敗です。波形は次に重なり合うフレームに切られます。典型的には10 msごとに25 msの長さです。各フレームは対数メルスペクトログラムに変換されます。耳の感覚に合わせて間隔を取った80または128の周波数帯域のエネルギーです。結果は毎秒100列の画像のような配列で、CNNとトランスフォーマーが読めます。EnCodecなどのニューラルオーディオコーデックはさらに進んで音声を離散トークンに変えます。これが言語モデルに音声を直接生成させるものです。

音声認識: フレームから単語へ

2つの設計が主流です。エンコーダ・デコーダモデルはスペクトログラム全体を読み、注意機構を使ってテキストをトークンごとに生成します。Whisperはこの方式です。Whisper large-v3(1.55 Bパラメータ、30 sの入力窓、MITライセンス、2023年11月)は99言語を書き起こし翻訳し、オフラインのバッチ書き起こしの既定です。コネクショニスト時系列分類(CTC)モデルは代わりにフレームごとに空白を含む1つの出力を出し、繰り返しを畳むので、デコーダが不要で時間と自然に整合します。トランスデューサ(RNN-T)はCTCに小さな予測ネットワークを加えたもので、スマートフォンでのストリーミングの標準的な設計です。畳み込みと注意機構を交互に重ねるConformerエンコーダが、これらの大半の下にあります。NVIDIAのParakeet-TDT 0.6B v2(600 Mパラメータ、CC-BY-4.0、2025年5月)は英語専用の例で、長いファイルに対して高速かつ正確です。

マイク16 kHzに再標本化フレーム25 ms, hop 10 mslog-melフレームあたり80帯域VAD無音を除去エンコーダチャンク + 先読みCTCヘッドフレームごとにトークンか空白部分テキスト確定まで修正される1秒間のタイムラインチャンク1チャンク2チャンク3チャンク4先読み、遅延を加えるレイテンシ予算: チャンク長(160から640 ms)+ 先読み + エンコーダ計算 + 終端検出。Whisperのようなオフラインモデルは30 s窓を読むので、ラッパーが何と言おうとストリーミングではない。単語誤り率はテキスト正規化後に測る。システムは同じ正規化器で比較すること。
ストリーミングASRパイプライン。音声を再標本化し、フレーム化し、対数メル特徴量に変換し、音声区間検出器が無音を落とし、エンコーダが限られた先読みでチャンクを処理し、CTCまたはトランスデューサのヘッドが確定したトークンから出力します。各段階がレイテンシを加えます。

単語誤り率(WER)が指標です。置換、削除、挿入の数を参照単語数で割ったものです。テキスト正規化(大文字小文字、句読点、数字を数字で書くか単語で書くか)に大きく依存するので、2つのシステムは同じ正規化器でしか比較できず、クリーンな朗読音声での3%のWERは、騒がしいコールセンターについて何も語りません。話者ダイアライゼーション(誰がいつ話したか)と音声区間検出は、認識器の周りにある別のモデルです。

テキスト音声合成と声

TTSシステムはテキストをメルスペクトログラムに、次に波形に変えます。二段階(Tacotron 2などの音響モデルとボコーダ)か、VITSのように変分モデルと敵対的学習でエンドツーエンドに行います。現在の潮流は音声をニューラルコーデックのトークンとして扱い、言語モデルで生成するもので、自然な韻律と、数秒の参照音声からの声のクローニングを可能にします。Kokoro-82M(82 Mパラメータ、Apache-2.0、2025年1月)はCPUでよく動き、Piper(MIT)はRaspberry Piで動きます。プロダクトで重要な指標は最初の音声までの時間と実時間係数です。ユーザーは品質より先に遅延を聞くからです。声のクローニングは同意とライセンスの問題を提起し、それは設計レビューに属します。安全性のハブを参照してください。

音声エンベディングとストリーミング

wav2vec 2.0やHuBERTなどの自己教師ありエンコーダは、ラベルなし音声から表現を学習し、少量のラベル付きデータで認識、感情、話者のタスクに転移します。事前学習済みバックボーンが画像に役立つのと同じです。CLAPは音声エンコーダとテキストエンコーダを対にして、テキストから音声への検索とゼロショットの音分類を行い、話者エンベディングは声を照合用のベクトルに変えます。いずれも類似検索の仕組みにそのまま流し込めます。

ストリーミングはそれ自体がエンジニアリングの一分野です。ストリーミングモデルは固定の先読みをもつチャンク単位で音声を見るので、注意機構は窓に制限しなければならず、部分結果が出力されて後で修正され、終端検出のルールがユーザーの発話が終わった時点を決めます。Moshi(7 Bパラメータ、CC-BY-4.0の重み、2024年9月)などの音声対音声モデルは、認識、言語モデル、合成を1つの全二重ネットワークに折り畳み、約200 msのレイテンシで動作します。OpenAIとGoogleのホスト型リアルタイムAPIも、WebSocketの背後で同じことをしています。トレードオフはレイテンシ対精度で、唯一正直な測定は、対象ハードウェア上でのマイクからスピーカーまでのエンドツーエンドです。

どこから始めるか

公開時点で入門トラックにオーディオのレッスンはないので、道筋は一般的なレッスンを通ります。PyTorchで最初のニューラルネットワークが学習ループを与え、エンベディングと類似検索が音声エンベディングの差し込み先となる表現を扱い、ノートブックからサービスへがストリーミングの住むサービング側を扱います。ディープラーニングのハブは音声モデルも共有する学習の選択を扱います。オーディオに関する中級トラックは準備中です。

ツールとプラットフォーム

ツール 用途 ライセンス プラットフォーム
torchaudio 読み込み、再標本化、スペクトログラム、CTCデコーディング BSD-2 PyTorch
Whisper リファレンスとなるASRモデルとコード MIT OpenAI
faster-whisper CTranslate2上のWhisper。4倍高速、CPUで8ビット MIT オープンソース
whisper.cpp ラップトップ、スマートフォン、Apple Silicon向けのC++版Whisper MIT オープンソース
NVIDIA NeMo Conformer、CTC、トランスデューサの学習、Parakeetモデル Apache-2.0 NVIDIA
pyannote.audio 話者ダイアライゼーションのパイプライン MIT オープンソース
Silero VAD 小さく高速な音声区間検出 MIT オープンソース
Kokoro and Piper サーバーと小型デバイス向けのオープンなTTS Apache-2.0とMIT オープンソース

よくある間違い

  • 再標本化を省く。44.1 kHzのファイルを16 kHzとして読むと間違った速度で再生され、意味不明に書き起こされます。
  • 無音を書き起こす。特にWhisperは空や音楽だけの区間にもっともらしいテキストをでっち上げるので、まず音声区間検出器を走らせてください。
  • 異なるテキスト正規化器で計算したWERの数値を比較する。あるいは、プロダクトが電話を扱うのにクリーンな朗読音声で比較する。
  • ストリームを重なりなしで固定秒数ごとにチャンク化し、境界上の単語が失われたり二重になったりする。
  • オフラインの30 sモデルをストリーミングであるかのように動かし、レイテンシをハードウェアのせいにする。
  • 文書化された同意なしに声をクローンする。あるいは、ライセンスがプロダクトでの利用を禁じているTTSモデルを使う。

さらに深く