全体像
音声AIは、大きく分けると次の2つの方向があります
| 分類 | 英語 | 方向 | 内容 |
|---|---|---|---|
| 音声認識 | STT | 音声 → 文字 | 人の声をテキストに変換する |
| 音声合成 | TTS | 文字 → 音声 | テキストから人の声のような音声を作る |
音声認識(STT)
AIの音声認識(処理フロー)
声
↓
A-D変換
↓
PCMデータ
↓
特徴抽出
↓
スペクトル包絡 / MFCC/ フォルマント
↓
音声認識モデル
↓
文字列
↓
言語モデルで補正
音声データの処理
1. A-D変換 → PCM
アナログの音をデジタルの数値列にする処理
空気の振動
↓
マイクで電気信号
↓
A-D変換
↓
PCM
📝PCM(Palse Code Modulation)
パルス符号変調
音声波形をそのまま数値化したもの
※まだ「単語」や「音素」は不明
2. フーリエ変換
フーリエ変換は、PCMの波形を見て、
この音には、どんな周波数成分がどれくらい含まれているか?
を調べる処理。
PCM波形
↓
フーリエ変換
↓
周波数成分
時間方向の波形を、周波数方向の情報に変換する処理
3. スペクトル包絡
スペクトル包絡は、
スペクトル全体のなめらかな形
です。
細かいギザギザではなく、
「どの周波数帯が全体的に強いか」という大まかな形を見る。
この形が、声の音色や母音の違いに関係します。
📒スペクトル
フーリエ変換で得られる
周波数ごとの強さ
の情報のこと
たとえば、
低い周波数:強い
中くらいの周波数:弱い
高い周波数:少し強い
みたいな情報
4. メル周波数ケプストラム係数
- Mel-Frequency Cepstrum Coefficients、MFCC
音声の特徴を、人間の耳に近い感覚で、少ない数値にまとめたもの
スペクトル包絡を求めるための定番手法です。
📒メル周波数
メル尺度は、人間の耳の聞こえ方に合わせた周波数の尺度です。
人間の耳は、低い音の違いには敏感ですが、高い音の細かい違いにはやや鈍感です。
例:
人間の耳は、
100Hz と 200Hz の違い はかなり違って聞こえるのに
8100Hz と 8200Hz の違いは違いが分かりづらいです。
だから、機械にも人間の耳に近い形で音を見せるために、
周波数を メル尺度 に変換します。
5. フォルマント
フォルマントは、特に母音の識別で重要な、
声道の共鳴によって強く出る周波数の山
です。
「あ」「い」「う」「え」「お」は、
どの周波数帯が強くなるかが違います。
なので、
フォルマント = 母音っぽさを見分けるための周波数の山
くらいでOKです。
音声認識
STT
STT は Speech To Text の略で、
音声を文字に変換すること
です。
これは技術名というより、タスク名です。
音声 → テキスト
2. HMM
HMM:隠れマルコフモデル は、昔から使われていた音声認識モデルです。
音声は時間的につながっているので、
/a/ → /i/ → /u/
みたいな音の並びを確率的に扱います。
ざっくり言うと、
音声特徴量から、どの音素列っぽいかを確率で推定するモデル
です。
3. CTC
CTC は、
音声と文字の長さがズレていても学習できる仕組みです。
音声認識では、
音声フレーム:めちゃくちゃ細かい
文字列:短い
ので、1対1で対応しません。
たとえば「こんにちは」でも、音声データは何百フレームもあります。
例:
(音声🔊)
こーん・にーち・はー
↓
(機械側🤖)
こ こ こ ん ん _ に に に ち ち _ は は は
↓ 同じ連続をまとめる
こ ん _ に ち _ は
↓ blankを消す
(出力💻)
こんにちは
CTCは、
音声の各時点と文字列の対応がわからなくても、最終的な文字列を学習できる仕組み
です。
4. n-gram
n-gram は音そのものを見る技術ではなく、
言葉の並びの自然さを見る言語モデルです。
たとえば、
今日は いい 天気
は自然。
今日は いい 冷蔵庫
は不自然。
音声認識では、音だけだと候補が迷うことがあります。
きしゃ
- 記者
- 汽車
- 貴社
こういうときに、前後の単語から自然なものを選ぶのに使います。
音声合成(TTS)
WaveNetを覚えてたらなんとかなるはず
WaveNet
WaveNet は、DeepMind が開発した音声生成モデルです。
音声波形を直接生成するニューラルネットワークモデル
です。
音声合成では、ボコーダとして使われることがあります。
📒ボコーダ
メルスペクトログラムなどの音響特徴量から、
実際の音声波形を生成する仕組み
※G検定の試験範囲外と思われるので覚えなくていい。
[2026-05-03時点]
WaveNetは、音声を細かい時間単位で見て、
前の音声波形
↓
次の波形の値を予測
↓
さらに次の波形の値を予測
↓
……
というように、音声波形を順番に生成します。
特徴は、
- 人間らしい自然な音声を生成できる
- 音声波形を直接扱う
- 高品質だが、元々の方式は生成が遅い
- 音声合成の品質向上に大きな影響を与えた
という点です。
ようするに、
WaveNet = 音声波形を生成する深層学習モデル。音声合成に使われる。
まとめ
| 分類 | 用語 | 役割 |
|---|---|---|
| デジタル化 | A-D変換 | アナログ音声をデジタル化 |
| デジタル音声 | PCM | 波形を数値列にしたもの |
| 周波数分析 | フーリエ変換 | 波形を周波数成分に分解 |
| 周波数情報 | スペクトル | 周波数ごとの強さ |
| 音声特徴 | フォルマント | 母音などを区別する周波数の山 |
| 音声特徴 | スペクトル包絡 | スペクトル全体のなめらかな形 |
| 特徴量 | MFCC | 音声認識に使いやすい特徴量 |
| タスク | STT | 音声を文字にする処理 |
| 認識モデル | HMM | 音素列を確率的に推定 |
| 認識手法 | CTC | 音声と文字の対応ズレを扱う |
| 言語モデル | n-gram | 単語の並びの自然さを判断 |
| タスク | TTS | テキストを音声に変換する処理 |
| モデル | WaveNet | 音響特徴量から音声波形を生成するモデル |