pythonで時間周波数解析~定Q変換~

以前、時間周波数解析をSTFTウェーブレット変換でやりました。 今回は定Q変換(CQT: Constant-Q transform)をやってみます。 定Q変換の特徴として、低周波数で良い分解能を示します。 音色変換等の深層学習の前処理に使われることもあるみたいです。

以前と同様に、音源はESC-50というデータセットからお借りしました。 データセットのリポジトリはこちら➡https://github.com/karolpiczak/ESC-50 siren(サイレン)のタグがついたファイルを借りました➡1-76831-A-42.wav

librosa.cqtを用いた定Q変換

音響信号処理によく使われるライブラリであるlibrosaを用います。 このライブラリはpipでインストールできます。

結果は以下のグラフです。低周波数で良い分解能ですね。

比較のためにSTFT、ウェーブレット変換の結果をプロットしてみます。

確かに定Q変換の結果がきれいな気もします。

コメント