Wizard Notes

音楽信号解析の技術録、作曲活動に関する雑記

PythonでSSM(自己類似度行列)を使って楽曲構成(Aメロ,サビなど)を分析

計算機を使った音楽分析技術の一つとして、楽曲構成(Aメロ、Bメロ、サビ)を分析する方法があります。しかし、日本語で技術の具体的な実現方法や実装について説明のある文献はあまり多くありません。また、Pythonの音楽分析ライブラリ LibROSA にはまだ実装…

Python resampyで音声ファイルや音楽ファイルをリサンプリング

オーディオファイルのサンプリング周波数変換処理(リサンプリング)は非常によく利用する処理です。 信号処理のプログラムを書いていると、リサンプリングはなるべく高速に処理して欲しくなります。特に大量のデータを扱っている時や、時間的に長いオーディ…

HP Spectre x360 の純正ACアダプタの代わりに USB PD充電器購入

DTM/開発用のメインPCとしてHP Spectre x360 13インチを使っているのですが、つい先日、ACアダプタが壊れてしましました。 AC アダプター(オプション) 日本HP Directplus デザインが良いため純正ACアダプタを買い直すことも考えましたが、持ち運び等を考…

Python matplotlibでリアルタイムスペクトログラム描画の実装

Pythonのmatplotlibでリアルタイムスペクトログラム描画。音と同期再生を考えると、真面目に描画するのは全然間に合わないのでPyQtGraph使うべきで、多少サボっていい加減な描画でいいなら使えなくもないかも…という印象 pic.twitter.com/LNJCavKWRf— Kurene…

Python: matplotlibを使ったリアルタイムプロットのフレームレート(FPS) に関する調査

matplotlibを使って、どのくらいのフレームレートでリアルタイムプロットできそうか検証 pic.twitter.com/X2mjgYiaWy— Kurene (@_kurene) 2021年1月29日 Pythonで安定的にリアルタイムプロットを実現するライブラリとしては PyQtGraph がありますが、手軽にm…

Python soundfile を使ったオーディオファイル(.wav, .flac, .aiff, .raw, etc.)の読み書き

Python でオーディオファイルを読み込むライブラリは複数あります。 wave scipy.io.wavfile scipy.io.wavfile.read scipy.io.wavfile.write audiofile soundfile librosa.load ぱっと見、どれを使えばよいか迷いますが、 様々なOSで動いてほしい オーディオ…

Python:matplotlibで双2次フィルタの極・零点をプロット

自作の双2次フィルタ (Biquad Filter)のPythonライブラリ PyQuadFilter に極と零点をプロットする関数を実装しました。 exmamples/04_plot_pole_zero.pyがサンプルコードとなっています。 プロット例 オールパスフィルタの極/零点プロットです。 q = 1.5 fc…

Python:LibROSAのLPC (線形予測分析)を使って音声・歌声分析

Pythonの音楽分析モジュールLibROSAには、v.0.7から線形予測分析を行う関数librosa.lpcが追加されました。 線形予測分析は音声の音素や声色を分析するのによく利用されています。 今回は、このlibrosa.lpcの紹介と、利用例として歌声に適用してみたいと思い…

Pythonとresample_polyでオーバーサンプリング

scipy.signal.resample_polyを使ってオーバーサンプリングを実装してみました。 resample_polyのデフォルトの設定では、パラメタβ=5.0のカイザー窓によるFIRローパスフィルタが使われています。 注意すべき箇所として、フィルタ長はresample_polyの引数では…

PythonのMDCT(修正離散コサイン変換)ライブラリ: mdct

MP3などで使われている周波数変換方法であるMDCT (Modified Discrete Cosine Transform)。 現状、Scipy等の準標準的なライブラリに関数はありませんが、以下のライブラリがありました。 GitHub - nils-werner/mdct: A fast MDCT implementation using SciPy …