G検定 › Web参考書 › 第6章

音声処理(A-D変換、フーリエ変換、メル尺度とMFCC、隠れマルコフモデル、WaveNet、CTC)

第6章 ディープラーニングの応用例 / 節 3

シラバスのキーワード: A-D変換パルス符号変調器 (PCM)高速フーリエ変換 (FFT)スペクトル包絡フォルマントフォルマント周波数音素音韻メル尺度メル周波数ケプストラム係数 (MFCC)隠れマルコフモデル音声認識音声合成WaveNetCTC話者識別感情分析

本文を読んだあと、覚えているか確認してください。

音声のデジタル化

連続的な音の波をコンピュータで扱うため、一定間隔で値を取り出す標本化と、値を離散的な数値にする量子化を行うA-D変換をします。この方式がパルス符号変調(PCM)です。

特徴量

音声認識と音声合成

従来の音声認識は、音の時間的な変化を状態遷移でモデル化する隠れマルコフモデルが中心でした。ディープラーニング以降は、入力の音声フレーム数と出力の文字数が一致しない問題を扱うCTC(Connectionist Temporal Classification)などにより、音声から直接文字列を出力するモデルが実現しました。

WaveNet(2016年、DeepMind)は音声波形を直接生成するモデルで、人間に近い自然な音声合成を実現しました。

その他のタスク

話者識別は声の特徴から誰が話しているかを判定し、音声の感情分析は声の高さ・速さ・強さから感情を推定します。

試験で問われる観点

この節の練習問題(6問)

答えを見る前に選んでから開いてください。同じ問題は章別演習でランダム出題されます。

  1. 問1
    音声認識の前処理と特徴量に関する記述として、最も適切なものを選びなさい。
    1. 1アナログの音声波形を標本化・量子化してデジタル化するA-D変換(PCM)を行い、高速フーリエ変換で周波数成分を求め、人間の聴覚特性に合わせたメル尺度に基づくMFCCなどの特徴量を抽出する
    2. 2アナログの音声波形はデジタル化せずにそのまま畳み込みニューラルネットワークに入力し、フーリエ変換で音声を音素の系列に直接変換したうえで、隠れマルコフモデルで単語の意味を推定する
    3. 3アナログの音声波形を標本化・量子化してデジタル化するD-A変換(PCM)を行い、高速フーリエ変換で時間ごとの振幅を求め、人間の視覚特性に合わせたデシベル尺度に基づくMFCCなどの特徴量を抽出する
    4. 4音声波形を標本化・量子化した後、メル尺度に基づいて音声を直接テキストに変換するMFCCを求め、その結果を高速フーリエ変換で周波数成分に分解して単語ごとの特徴量とする
    答えと解説

    正解: 1

    音声処理では、まずマイクで得たアナログ波形を一定間隔で標本化し、値を離散化する量子化を行ってデジタル信号(PCM)にします。次に短い区間ごとに高速フーリエ変換(FFT)で周波数成分を求め、人間の耳が低い周波数の差に敏感である特性を反映したメル尺度で圧縮し、ケプストラム分析を経てMFCC(メル周波数ケプストラム係数)を得ます。MFCCは音声認識の標準的な特徴量です。

  2. 問2
    音声処理の用語に関する記述として、最も適切なものを選びなさい。
    1. 1音素は音声の長さを表す最小単位、フォルマントは音声波形を短い時間ごとに区切って周波数成分を求めるフーリエ変換の結果であり、隠れマルコフモデルはディープラーニング登場後に初めて音声認識に使われた
    2. 2音素は意味を区別する音の最小単位、フォルマントはスペクトル包絡に現れる共鳴のピークで母音の識別に重要であり、隠れマルコフモデルは音素の時系列をモデル化する手法として長く音声認識に使われた
    3. 3フォルマントは意味を区別する音の最小単位、音素はスペクトル包絡に現れる共鳴のピークで母音の識別に重要であり、隠れマルコフモデルは音素の時系列をモデル化する手法として長く音声認識に使われた
    4. 4音素は文字に対応する表記の最小単位、フォルマントは音の高さを決める基本周波数のことで子音の識別に重要であり、隠れマルコフモデルは音声波形から直接文字を出力するEnd-to-Endの手法である
    答えと解説

    正解: 2

    音素は言語において意味の区別に関わる最小の音の単位で、音韻はその抽象的なまとまりを指します。音声の周波数スペクトルのなだらかな形(スペクトル包絡)に現れるピークがフォルマントで、その周波数(フォルマント周波数)は母音の種類を特徴づけます。隠れマルコフモデル(HMM)は音素の並びを確率的にモデル化する手法で、ディープラーニング以前の音声認識の主流でした。

  3. 問3
    ディープラーニングを用いた音声処理に関する記述として、最も適切なものを選びなさい。
    1. 1WaveNetはGoogleが開発した、音声をメルスペクトログラムに変換してから文字列を出力する認識モデルで、合成には用いられない。CTCは話者ごとの声の特徴をベクトルとして抽出する手法で、話者識別や声紋認証に用いられ、音声認識の学習には使われない
    2. 2WaveNetはDeepMindが開発した、音声の特徴量から文字を1文字ずつ予測する注意機構ベースの音声認識モデルである。CTCは音声合成で、テキストの文字数と生成する波形のフレーム数が一致しない問題を、文字ごとの継続時間を予測して対応付ける手法である
    3. 3WaveNetはDeepMindが開発した、音声波形を直接生成する自己回帰型の音声合成モデルで自然な音声を実現した。CTCは音声認識で、入力フレーム数と出力文字数が一致しない問題を、空白記号を導入して系列の対応付けなしに学習できるようにした手法である
    4. 4WaveNetはOpenAIが開発した、音声波形を離散トークンに変換してTransformerで生成する音声合成モデルである。CTCは音声認識で、入力フレームと出力文字を人手で対応付けたデータを必要とする損失関数で、空白記号を使わずに系列を1対1で学習する
    答えと解説

    正解: 3

    WaveNet(2016年)は、Dilated Causal Convolutionを用いて音声波形のサンプルを1つずつ生成する自己回帰モデルで、従来より格段に自然な合成音声を実現し、音声アシスタントなどに採用されました。CTC(Connectionist Temporal Classification)は、音声のフレーム列と出力するテキストの長さが異なり対応が分からない場合でも学習できる損失関数で、エンドツーエンドの音声認識に使われます。話者識別は声の特徴から誰が話しているかを判定するタスクです。

  4. 問4
    音声認識の特徴量であるMFCCの計算でメル尺度が用いられる理由として、最も適切なものを選びなさい。
    1. 1メル尺度は音声の標本化に必要なサンプリング周波数を音の高さから自動で決める規則であり、これによりA-D変換の情報の損失を防げるため
    2. 2人間の聴覚は音の大きさを対数的に知覚するという性質があり、メル尺度は振幅をデシベルに変換して音の大きさの軸を知覚に合わせるため
    3. 3人間の聴覚は低い周波数の違いには敏感で高い周波数の違いには鈍感という性質があり、メル尺度はこの知覚に合わせて周波数軸を変換するため
    4. 4人間の聴覚は高い周波数の違いには敏感で低い周波数の違いには鈍感という性質があり、メル尺度はこの知覚に合わせて周波数軸を変換するため
    答えと解説

    正解: 3

    メル尺度は人間が知覚する音の高さに基づく尺度で、低周波数域では細かく、高周波数域では粗く周波数を区切ります。MFCCはメル尺度のフィルタバンクを通した後にケプストラム分析を行い、音声のスペクトル包絡を少数の係数で表現する特徴量で、音素の識別に有効です。サンプリング周波数の決定や文字への変換規則、音の大きさの単位ではありません。

  5. 問5
    音声処理のタスクとその内容の組み合わせとして、誤っているものを選びなさい。
    1. 1音声認識:音声波形を入力して、話された内容をテキストに変換する
    2. 2音声合成:テキストを入力して、人間の声のような音声波形を生成する
    3. 3話者識別:音声の特徴から、誰が話しているかを判定する
    4. 4感情分析:音声を入力して、その音声のサンプリング周波数を推定する
    答えと解説

    正解: 4

    音声の感情分析は、声の高さ・速さ・強さなどの特徴から話者の感情(怒り、喜びなど)を推定するタスクで、サンプリング周波数の推定ではありません。音声認識、音声合成(WaveNetなど)、話者識別に関する記述は正しい内容です。

  6. 問6
    連続的な音の波をA-D変換する際の、「一定間隔で値を取り出す処理」と「取り出した値を離散的な数値にする処理」の組み合わせとして正しいものを選びなさい。
    1. 1前者: 量子化、後者: 標本化
    2. 2前者: 標本化、後者: 量子化
    3. 3前者: 標本化、後者: 高速フーリエ変換
    4. 4前者: 高速フーリエ変換、後者: 量子化
    答えと解説

    正解: 2

    A-D変換では、一定間隔で値を取り出す標本化と、その値を離散的な数値にする量子化を行い、この方式をパルス符号変調(PCM)と呼びます。標本化と量子化を逆にした組み合わせは誤りです。高速フーリエ変換は波形を周波数成分に分解する処理で、デジタル化そのものの手順ではありません。