メルスペクトログラムからスペクトログラムへの変換


8

STFT(短時間フーリエ変換)を抽出し、マグニチュードスペクトルを使用した一連の曲がありますメルフィルターバンク行列を使用してメルスペクトログラムを計算するため、。このプロセスを逆にする方法、つまりメルスペクトログラムからスペクトログラムに戻す方法はありますか。メルスペクトログラムにいくつかの次元削減を実行し、低次元からメルスペクトログラムを再構築しました。ここで、再構築されたメルスペクトログラムからオーディオ信号を再生成したいので、最初にスペクトログラムを再構築し、次にオーディオ信号を再構築します。|S|MX=log(M×|S|)

問題は、メルビンフィルターバンク行列が正方行列ではないことです。これは、周波数ビンの数を減らすため、逆数を次のように使用できないためです。。から変換できる逆伝達関数のように、逆マッピングを生成する方法はありますか?MS^=M1exp(X)XS


ソースがどのように聞こえるかについての非常に強力な以前のモデルがない限り、これは単に不可能です。ソースに関する事前の情報がないと、実際に同じセットのメル周波数係数に「折りたたむ」ことができる多くの異なるスペクトルがあります。
ピシェネット2013

@pichenettes:では、元の曲をどのように再構築するか、問題を理解していただければ幸いです。私はメルスペクトログラムと、それを低次元から再構成したバージョンを持っています。数値の観点から「エラーがあった」と報告する代わりに、再構築されたメルスペクトログラムを何らかの方法で「聞く」ことができる方法がある場合、次元の削減後、少ないコンポーネントを保持し、メルを再構築すると言うことができます-スペクトログラム、これはオーディオがどのように聞こえるかです。
user76170

2
一般的には不可能です。それは、5つの数値を持ち、その数値からその数値を「再構築」する方法を尋ねるようなものです。
ピシェネット2013

Matlabで音声制御システムを作成したいのですが、どうすればよいかわかりません。音声データはありますが、このデータをMatlabにどのように配置することができますか。例(eight1.mel .... eight.mel)ファイル。私たちは、MATLABでこの音声英語の数字の認識を求めています。1-「.mel-waw」ファイルを変換する必要がありますか?2-どちらを使用できますか?よろしくお願いいたします。よろしくお願いします

回答:


5

マグニチュードスペクトログラムとMelフィルターバンクはどちらも損失の多いプロセスです。オリジナルを再構築するために必要な重要な情報は失われます。したがって、元のオーディオサンプルに戻って、次元削減と同等の時間または周波数領域フィルターを決定して再構成を行う必要があります。

失われた情報について仮定を立てることができますが、それらの仮定自体は通常、不正確で人工的またはロボットのように聞こえます。または、特別に合成された入力のみを使用することもできます。その場合、その入力の設計によって仮定が正しくなります。


メルフィッターバンクに同等の逆変換はありますか?それは不可逆なプロセスであることを理解しています。Mは正方ではないため、見つけることができません。ただし、そのステップをスキップして、マグニチュードスペクトログラム| M |でPCAを直接実行することは可能ですか。?位相情報も保存します。次に、| M |を再構築し、位相情報を組み合わせて、元のオーディオを取得しますか?M1
user76170 2013年

1

すでに述べたように、一般的に正確に実行することは不可能です。車の側面など、3Dシーンの2D表現がある場合と同様に、それが車に似ている非常に薄い漫画であるか、それとも実際の車の写真であるかはわかりませんが、だれもだまそうとはしなかったと仮定した場合あなたは、実際のデータについていくつかの仮定を行うことができます。実際、これが機械学習生成モデルの仕組みです。

逆変換については、ほとんどのフィルターが直交しているため(それらの内積はゼロです)、フィルターバンクの転置を逆変換の近似として使用できますが、簡単に確認できるため、データのスケーリングは正しくありません。チャネルごとのいくつかの大きなデータセット(周波数)から抽出された元のSTFTに関する統計を使用して、を正規化して「正しい」スケールにすることができます。マグニチュード信号のみから完全なスペクトログラムを作成する場合、Griffin-Linアルゴリズムを使用していくつかの近似を行うことができます。WaveNetやParallel Wavenetなどを使用すると、音声信号やその他のオーディオ信号で十分に機能することが確認されているため、より堅牢に実行できます。MTMx


1

今日、最も簡単なのはlibrosa、このタスクに使用することです。それは持っていmel_to_stft正確に何をしたいん機能を。

他の人が述べたように、この再構成は不可逆であり、近似解のみが見つかります。でlibrosaそれは使用して行われる非負のリース二乗アルゴリズムを

心に留めておくべきこと:独自のアルゴリズムを使用してメルエネルギーを抽出した場合、周波数ワーピングが類似していることを確認する必要があります。そうでない場合、不調和に聞こえるオーディオになります(後で、 STFTからの波形)。librosaには2つのワーピング関数があり、を指定して2番目のワーピング関数を使用できますhtk=True

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.