音声処理の2つの方向
音声処理ってどんな分野?
音声処理には大きく音声認識(音→テキスト)と音声合成/生成(テキスト→音)の2方向があります。
音声の基本要素
周波数:音の高低を決める要素。1秒あたりの振動回数(Hz)で表す。人間の可聴域は約20Hz〜20,000Hz。
音素:言語における音の最小単位。日本語では約25種類、英語では約45種類。「か」= /k/ + /a/ のように分解される。
時間変化:音声信号は時間とともに振幅・周波数が変化する。この時間的パターンが「何を話しているか」の情報を持つ。
音声のデジタル化(A-D変換)
コンピュータはアナログの音声をどうやって扱うの?
A-D変換(Analog-to-Digital変換)で、アナログ音声をデジタルデータに変換します。具体的にはパルス符号変調(PCM)という方式で、標本化→量子化→符号化の3ステップで行います。
PCMの3ステップまとめ
① 標本化(サンプリング):アナログ信号を一定間隔で読み取る。間隔=サンプリングレート(音声CDは44,100Hz = 1秒に44,100回)
② 量子化:読み取った値を最も近い離散値(段階値)に丸める。ビット深度が高いほど精密(CDは16bit = 65,536段階)
③ 符号化:量子化した値を2進数(ビット列)に変換してデジタルデータとして保存する
音声の特徴抽出
デジタル化した音声からどうやって特徴を取り出すの?
高速フーリエ変換(FFT)で時間領域の信号を周波数領域に変換し、音声スペクトルを得ます。さらにそこからスペクトル包絡を抽出し、人間の聴覚特性を反映したメル周波数ケプストラム係数(MFCC)という特徴量にまとめます。
スペクトル包絡とは?
スペクトルの細かい凸凹を滑らかにした「なめらかな輪郭線」のこと。声の音色(母音の種類など)を決定する重要な情報を持ちます。元のスペクトルは声帯の振動による細かい周期成分を含みますが、スペクトル包絡はその声道の共鳴特性(フォルマント)を表現します。
音声認識の仕組み
音声認識はどうやって音をテキストに変換するの?
伝統的な音声認識は3段階で行います:① 音声を特徴量(MFCC等)に変換 → ② 音響モデルで音素列に変換 → ③ 言語モデルで音素列を単語・文に変換。音響モデルには隠れマルコフモデル(HMM)が長年使われてきました。
隠れマルコフモデル(HMM)って何?
HMM(Hidden Markov Model)は、「観測できないもの(隠れ状態 = 音素)」を「観測できるもの(音声の特徴量)」から推定する確率モデルです。各音素を数個の状態で表現し、状態間の遷移確率と、各状態から特徴量が出力される確率を学習します。
HMMはどう進化してきたの?
初期のHMMでは出力確率の計算に混合正規分布モデル(GMM)を使っていました(GMM-HMM)。その後、GMMの部分をディープニューラルネットワーク(DNN)に置き換えたDNN-HMMが登場し、音声認識の精度が大幅に向上しました。
GMM-HMM vs DNN-HMM
GMM-HMM(従来型)
出力確率を混合正規分布モデル(GMM)で計算。複数のガウス分布を混ぜて音の出現確率を近似する。
限界:複雑な音声パターンを表現するには限界がある
DNN-HMM(深層学習型)
出力確率をDNNで計算。音声の特徴量を入力し、各HMM状態の事後確率を出力。
利点:DNNの高い表現力で複雑な音声パターンを捉え、精度が大幅向上
混合正規分布モデル(GMM)とは?
複数の正規分布(ガウス分布)を重み付きで混合して、複雑な確率分布を近似するモデル。たとえば1つの音素の特徴量の分布が単純な1つの山型でない場合でも、複数の正規分布を混ぜることで柔軟に表現できます。
CTC(Connectionist Temporal Classification)
DNN-HMMの次はどんな音声認識手法が出てきたの?
CTC(Connectionist Temporal Classification)が登場しました。DNN-HMMでは音響モデルと言語モデルを別々に設計していましたが、CTCは音声特徴量から直接テキストを出力するEnd-to-End(一気通貫)の音声認識を可能にした手法です。
でも音声フレームの数と文字の数って違いますよね?どうやって対応させるの?
いい質問だね。音声は1秒間に100フレーム程度あるのに対し、出力テキストはずっと短い。CTCは空白トークン(blank)を導入してこの問題を解決するんだ。各フレームで「文字」か「blank」を出力し、最後にblankと連続する同一文字を除去して最終的なテキストにする。これにより、入力と出力の長さが異なっていても学習できるんだよ。
CTCの仕組み
問題:音声フレーム数(入力)とテキスト文字数(出力)の長さが異なる
解決策:空白トークン(blank: ε)の導入
各フレームで「文字」または「blank」を出力し、後処理で整形する
例:「cat」を認識する場合
出力列:ε c ε ε a ε t ε ε
→ blankを除去し連続文字を統合 → 「cat」
特徴:
・音響モデルと言語モデルを分けないEnd-to-End学習
・DNN-HMMの次の主流手法として登場
・RNNやBiLSTMと組み合わせて使用されることが多い
音声合成(TTS)の種類
テキストから音声を作る方法にはどんな種類があるの?
音声合成(Text-to-Speech, TTS)には大きく3つの方式があります:波形接続型、パラメトリック型、そして最新のニューラルTTSです。
| 方式 |
仕組み |
音質 |
揺らぎの再現 |
代表例 |
| 波形接続型TTS |
大量の録音音声から適切な断片を選んで接続する |
自然だが接続点で不自然になりやすい |
録音そのものなので自然な揺らぎあり |
初期のSiri等 |
| パラメトリックTTS |
音声のパラメータ(音高・音長・スペクトル等)をモデルで生成し合成 |
機械的になりやすい |
平均化されるため揺らぎが失われやすい |
HMM音声合成 |
| ニューラルTTS |
DNNで音声波形を直接生成する |
人間に近い高品質 |
DNNが自然な揺らぎを学習・再現できる |
WaveNet, Tacotron |
音声の揺らぎを再現できるか?
人間の音声には微妙な揺らぎ(ピッチの微変動、息遣い、イントネーションの自然なブレ等)があります。パラメトリックTTSはパラメータを平均化するため、この揺らぎが失われて「ロボット的」な音声になりがちでした。WaveNetなどのニューラルTTSは、音声波形そのものを学習するため、この自然な揺らぎを再現でき、人間の音声に極めて近い品質を実現しました。
WaveNet
WaveNetって何がすごいの?
WaveNetはDeepMind社が2016年に発表したニューラルTTSモデルで、音声波形の各サンプル点を1つずつ自己回帰的に生成します。核となる技術がDilated Causal Convolution(拡張因果畳み込み)で、広い受容野を効率的に確保しつつ、未来の情報を使わない制約を守ります。
Dilated Causal Convolution の2つのポイント
Causal(因果)
畳み込みフィルタが過去の時点のデータのみを参照し、未来の情報は使わない。
→ 音声を1サンプルずつ順番に生成する自己回帰に必要な制約
Dilated(拡張)
畳み込みの入力を間隔を空けて(飛ばして)サンプリング。層ごとに間隔を1, 2, 4, 8...と指数的に増やす。
→ 少ない層数で広い受容野を確保。通常の畳み込みだと1000層以上必要な範囲を約30層でカバー
WaveNet(DeepMind, 2016年)
DeepMind社が開発したニューラルTTSモデル。音声波形の各サンプル点(1秒に16,000〜24,000個)を1つずつ自己回帰的に生成する。
核心技術:Dilated Causal Convolution で広い受容野を効率的に確保
成果:MOS(Mean Opinion Score)で従来手法を大幅に上回り、人間の音声に最も近い品質を達成。Google Assistantの音声に採用された。
課題:1サンプルずつ逐次生成するため生成速度が遅い → Parallel WaveNet等で高速化
音声処理 技術まとめ
| 技術 |
分類 |
概要 |
ポイント |
| A-D変換(PCM) | 前処理 | アナログ音声をデジタルに変換 | 標本化→量子化→符号化の3ステップ |
| FFT | 特徴抽出 | 時間領域→周波数領域への変換 | スペクトル分析の基礎 |
| MFCC | 特徴抽出 | 人間の聴覚特性を反映した音声特徴量 | 音声認識の標準的な入力特徴量 |
| HMM | 音声認識 | 状態遷移と出力確率の確率モデル | 音素列の推定に使用 |
| GMM-HMM | 音声認識 | HMMの出力確率をGMMで計算 | 伝統的な音声認識システム |
| DNN-HMM | 音声認識 | HMMの出力確率をDNNで計算 | GMM→DNNで精度大幅向上 |
| CTC | 音声認識 | End-to-Endで音声から直接テキスト出力 | blankトークンで入出力長の違いを解決 |
| 波形接続TTS | 音声合成 | 録音断片を接続して合成 | 自然だが接続点が不自然 |
| パラメトリックTTS | 音声合成 | パラメータから音声を生成 | 揺らぎが失われ機械的 |
| WaveNet | 音声合成 | DNNで波形を直接生成 | Dilated Causal Conv。人間に近い品質 |
G検定キーポイント
- A-D変換(PCM)は標本化→量子化→符号化の3ステップ
- FFTは時間→周波数の変換。スペクトル包絡は音色の情報
- MFCCは音声認識で最も広く使われる特徴量。メル尺度で人間の聴覚特性を反映
- HMMは隠れ状態(音素)を観測(特徴量)から推定する確率モデル
- GMM-HMM → DNN-HMM:出力確率の計算をGMMからDNNに置き換えて精度向上
- CTCはEnd-to-End音声認識の手法。空白トークン(blank)で入出力長の違いを解決。DNN-HMMの次の主流手法
- 音声合成は波形接続型 → パラメトリック型 → ニューラル型と進化
- パラメトリックTTSは揺らぎが失われやすいのが弱点
- WaveNet(DeepMind, 2016年)はDilated Causal Convolutionが核心技術
- Dilated = 指数的に間隔を広げて広い受容野を確保。Causal = 未来を使わない