要点まとめ・第6章 ディープラーニングの応用例
音声処理(シラバス 技術28)
学習目標
音声をコンピュータで扱うためのデジタル化と周波数分析の流れ、音声の特徴を表すスペクトル包絡・フォルマント・MFCCの意味を理解し、音声認識・音声合成・話者識別・感情分析で使われる代表的な手法を説明できるようにします。
要点
音をデジタルデータにする
マイクがとらえた空気の振動(アナログ信号)を数値の列に変えるのがA-D変換です。
- 標本化:一定の時間間隔で振幅の値を取り出します。1秒あたりの回数がサンプリング周波数です。
- 量子化:取り出した値を、決まった段階の数値に丸めます。段階の細かさは量子化ビット数で表します。
- 符号化:数値を0と1の符号に置き換えます。
この方式をパルス符号変調(PCM)といい、変換する回路をパルス符号変調器と呼びます。音楽CDは44.1kHz・16ビットのPCMです。サンプリング周波数の半分を超える周波数の音は、正しく記録できません。
周波数で音をとらえる
音声の性質は周波数ごとの成分の強さに表れるため、短い区間(フレーム)ごとにフーリエ変換で周波数成分を求めます。高速フーリエ変換(FFT)は、この計算を速く行う手法です。
- スペクトル包絡:スペクトル(周波数ごとの強さ)の細かな凹凸をならした形です。口やのどの形で決まり、「あ」と「い」の違いはここに表れます。
- フォルマント:スペクトル包絡の山の部分です。山の位置をフォルマント周波数と呼び、低いほうの2つで母音をおおよそ区別できます。
- 声の高さ:声帯の振動の速さ(基本周波数)で決まり、包絡とは別の情報です。
メル尺度とMFCC
人の耳は、低い音の違いに敏感で、高い音の違いに鈍くなります。これに合わせた尺度がメル尺度です。メル周波数ケプストラム係数(MFCC)は、スペクトルをメル尺度の区切りで集計し、対数をとってから離散コサイン変換をかけた値です。スペクトル包絡を十数個の数値で表せ、音声認識で長く使われてきました。
音素と音韻
音素は、意味の違いを区別する最小の音の単位です。「かき」と「さき」は/k/と/s/の違いで別の語になります。音韻は、言語で区別される音の単位や体系を指し、音素とほぼ同じ意味でも使われます。
課題と代表的な手法
| 課題 | 入力→出力 | 代表的な手法 |
|---|---|---|
| 音声認識 | 音声→文字 | 隠れマルコフモデル、CTC |
| 音声合成 | 文字→音声 | WaveNet |
| 話者識別 | 音声→だれの声か | MFCCなどの特徴量による分類 |
| 感情分析 | 音声→感情 | 声の高さや強さなどからの分類 |
- 隠れマルコフモデル(HMM):見えない状態(音素など)が確率的に移り変わり、各状態から音の特徴が出るとみなすモデルです。従来の音声認識は、HMMの音響モデルに発音辞書と言語モデルを組み合わせていました。
- CTC:音声のフレーム数は文字数よりずっと多くなります。CTCは「空白」の記号を加え、続けて出た同じ記号をまとめてから空白を除く規則で、フレームごとの正解なしに学習できるようにしました。音声から文字までを1つのモデルで学ぶEnd-to-End音声認識で使われます。
- WaveNet:2016年にDeepMindが発表したモデルで、音声波形を、前のサンプルから1サンプルずつ予測して生成します。従来より自然な合成音声を実現しました。
つまずきやすい点
- FFTは周波数成分を速く計算するための計算方法(アルゴリズム)であり、それ自体が音声の特徴量ではない点
- 声の高さは基本周波数で決まり、どの母音かは主にスペクトル包絡とその山であるフォルマントに表れる、という役割の違い
- WaveNetは音声波形を生成する音声合成のモデルであり、CTCは音声認識で入力のフレーム数と出力の文字数の違いを扱う手法である点
- メル尺度は人の聴覚に合わせた尺度で、低い音の違いを細かく、高い音の違いを粗く表す点
シラバスのキーワード
シラバス第1.4版に載っている語をすべて並べています。色のついた語は用語集で解説しています。「2問」などの数字は、その語を扱う練習問題の数です。
練習問題
- #0071 音声認識に使う特徴量 難易度 応用・単一選択 未回答 付箋
- #0072 音声認識と音声合成の手法 難易度 基礎・単一選択 未回答 付箋
- #0223 標本化周波数と音声のデータ量 難易度 標準・組合せ 未回答 付箋
- #0224 音素という単位の性質 難易度 基礎・単一選択 未回答 付箋
- #0225 話者識別と音声認識の違い 難易度 標準・単一選択 未回答 付箋
- #0226 声の高さとフォルマントの関係 難易度 応用・単一選択 未回答 付箋
- #0227 音声からの感情の推定 難易度 基礎・単一選択 未回答 付箋
- #0414 CTCの出力確率の計算 難易度 応用・単一選択 未回答 付箋
- #0415 FFTの周波数分解能 難易度 標準・組合せ 未回答 付箋
- #0416 メルフィルタバンクの帯域配置 難易度 基礎・単一選択 未回答 付箋
- #0417 音声合成の処理段階と誤り 難易度 標準・単一選択 未回答 付箋
- #0418 隠れマルコフモデルの構造 難易度 基礎・単一選択 未回答 付箋
復習の時期が来た問題と、まだ解いていない問題から順に出題します。
この項目を読み終えたら
読んだ項目にチェックをつけると、学習ガイドの目次に記録されます。
前後の項目
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目28 音声処理)
- Steven Davis, Paul Mermelstein, Comparison of parametric representations for monosyllabic word recognition in continuously spoken sentences, IEEE Transactions on Acoustics, Speech, and Signal Processing 28(4), 357–366 (1980)
- Lawrence R. Rabiner, A tutorial on hidden Markov models and selected applications in speech recognition, Proceedings of the IEEE 77(2), 257–286 (1989)
- Alex Graves, Santiago Fernández, Faustino Gomez, Jürgen Schmidhuber, Connectionist Temporal Classification: Labelling Unsegmented Sequence Data with Recurrent Neural Networks, ICML 2006, 369–376
- Aaron van den Oord et al., WaveNet: A Generative Model for Raw Audio (2016)