|
音声認識研究の分野では、音声特徴量の選択が非常に重要です。本書では、非常に効果的な音声特徴量であるメル周波数ケプストラム係数( MFCC )を主に利用しています。 MFCC機能の成功は、人間の聴覚メカニズムをモデル化する心理音響学の研究成果に大きく支えられています。研究によると、音声信号を時間領域から周波数領域に変換すると、様々な周波数成分のエネルギー分布が得られることが分かっています。心理音響学の研究によると、人間の耳は低周波信号に対してより敏感で、高周波信号に対してはより鈍感であることが示されています。この関係とは一体何なのでしょうか? 心理音響学的研究によると、低周波数域ではこの関係は直線的ですが、周波数が高くなるにつれて、人間の耳の周波数に対する感度は対数的に増加します。つまり、各周波数におけるエネルギー分布のみに基づいて人間の聴覚習慣に適合する音響特性を設計することは、あまり合理的ではありません。 MFCC( Multi-Frequency Conversion)は、人間の聴覚特性に基づいて提案されたもので、 Hz周波数と非線形の関係を持っています。MFCCはこの関係を利用してHzスペクトルの特徴を計算し、音声認識分野で広く応用されています。 MFCC特徴抽出には、次の 2 つの重要なステップが含まれます。 ( 1 )メル周波数に切り替える。 ( 2 )ケプストラム分析を行う。 以下、順に説明を進めていきます。 1.メル周波数 メル尺度は、人間の耳が等間隔のピッチ変化を知覚する非線形周波数尺度です。周波数領域における音声特徴量として、離散フーリエ変換(DFT)はこれらの特徴量を計算するための基礎となります。一般的には高速フーリエ変換( FFT )アルゴリズムが選択され、その概略フローチャートを図14-1に示します。
図14-1高速フーリエ変換 メルスケールとヘルツ単位の周波数の関係は次のとおりです。
したがって、スケールをメルスケール上で均等に分割すると、ヘルツ間の距離はますます大きくなります。メルスケール上のフィルタバンクのスケーリングを図14-2に示します。
図14-2メルスケール上のフィルタバンクのスケール変化 メルスケールフィルタバンクは低周波数帯域において高い分解能を有しており、これは人間の耳の聴覚特性と一致しています。これがメルスケールの物理的な意義です。このステップでは、まず時間領域信号をフーリエ変換して周波数領域に変換し、次にメルスケールフィルタバンクを用いて対応する周波数領域信号をセグメント化し、最後に各周波数帯域に数値を割り当てます。 2.ケプストラム分析 ケプストラムは次のように定義されます。時間領域信号に対してフーリエ変換を行い、対数をとってから逆フーリエ変換を行います(図14-3参照)。ケプストラムは、複素ケプストラム、実数ケプストラム、およびパワーケプストラムに分類されます。ここではパワーケプストラムを使用します。ケプストラム解析は信号を分解するために使用でき、 2つの信号の畳み込みを2つの信号の加算に変換することで計算を簡素化します。
図14-3ケプストラム分析のデモンストレーション ここでは具体的な計算式については詳しく説明しません。興味のある読者は、関連する内容をご自身で調べてください。次に、 Pythonの音声処理ライブラリlibrosaを使用してMFCCを計算するプロセスを説明します。コードは次のとおりです。 # librosaオーディオ処理ライブラリを使用して、オーディオ信号のメル周波数スペクトルを取得します(wav、sr = librosa.load(data_path、sr = 32000))# srはサンプリング周波数です# オーディオ信号のMFCCを計算します spec_image = librosa.feature.mfcc(y=wav, sr=sr) ここで注目すべき重要な点は、 srはサンプリング周波数を表し、その機能は特定のサンプリング周波数に基づいて入力オーディオから対応するオーディオ機能を生成することであるということです。 読者は、.wav拡張子のオーディオ ファイルを使用して試すことができます。 この抜粋は『 Learning Deep Learning with PyTorch 2.0 from Scratch』からの抜粋です。本書では、PyTorchの概要、開発環境のセットアップ、 PyTorchを使用したMNIST分類の練習、ディープラーニングの理論、 PyTorch畳み込み層を使用したMINIST分類の練習、PyTorchのデータ処理とモデルの可視化、実践的なResNet 、興味深い単語の埋め込み、 RNNを使用した中国語の感情分類の練習、自然言語処理エンコーダー、BERT事前トレーニング済みモデル(既存モデルに基づく) 、自然言語処理デコーダー、 PyTorchを使用した強化学習の練習、 MFCCを使用した音声ウェイクアップの練習、 PyTorchを使用した顔認識の練習などを取り上げています。本書は実践的な例が豊富で、読者がディープラーニングアルゴリズムとその一般的なアプリケーションを迅速に習得できるように導いています。
|