【Python】 大聖堂の響きを再現!! : インパルス応答の畳み込み
導入:インパルス応答と残響
インパルス応答(英: Impulse response)とは、インパルスと呼ばれる非常に短い信号を入力したときのシステムの出力である。インパルス反応、重み関数 (weighting function) とも。インパルスとは、時間的幅が無限小で高さが無限大のパルスである。実際のシステムではこのような信号は生成できないが、理想化としては有益な概念である。
http://ja.wikipedia.org/wiki/インパルス応答
(^^;)< ちょっと何言ってるか分かんないです。
と感じた人も少なからずいるのではないでしょうか?
続きを読む【Python】 ぬるぬる動くスペクトルアナライザを作ろう!!
導入
スペクトルアナライザ
スペクトルアナライザというものを知っているでしょうか?かなり色々あると思いますが、ここでは単純に入力された音のスペクトルをリアルタイムで表示するシステムを考えます。Windows Media Player のエフェクトにもそれっぽいものがありますね(下図)。
【Python】 Constant-Q 変換 (対数周波数スペクトログラム)
関連記事
- 高速な Constant-Q 変換
【Python】 高速な Constant-Q 変換 (with FFT) - 音楽プログラミングの超入門(仮)
導入:対数周波数スペクトログラム
Pythonで短時間フーリエ変換(STFT)と逆変換 - 音楽プログラミングの超入門(仮)
上記の記事で,音響信号を周波数スペクトルの時間変化を表すスペクトログラムに変換する短時間フーリエ変換を扱いました.簡単にアルゴリズムを復習すると,音響信号を一定の幅で切り取ってフーリエ変換するという処理を少しずつずらして行っていくことでスペクトログラムを得ていました.
ここで,音響信号を一定の幅で切り取ってフーリエ変換するということについて少し考えてみましょう.切り取られた信号が以下のようなものであることを考えます.
機械学習用Pythonライブラリ: mlpy
mlpy って?
mlpy - Machine Learning Python
機械学習アルゴリズムを扱うPythonライブラリで、主成分分析・サポートベクターマシン・重回帰分析などの基本的なものから、Dynamic Time Warping など色々と揃っています.
自分はまだ一度も使ったことがありませんが、いつか遊ぼうと思ってインストールだけしてみたので、その手順をのせておきます.
Latex の scrartcl.cls を使ってみた
いつしか下の記事を発見して、色々ためになった。
使ってはいけない LaTeX のコマンド・パッケージ・作法 - Ichiro Maruta Homepage
出力結果が変わらなくても、こういう細かいところは注意しときたい。
特に、Latex のクラスファイルは (j)article, jsarticle くらいしか知らなかったので、A4 前提で作られてるらしい scrartcl.cls ってどんなんだろうと思って使ってみた。
Pythonで短時間フーリエ変換(STFT)と逆変換
※ iSTFT の実装が間違っていました。というよりも、スペクトログラムをイジらない場合しか滑らかな再合成ができない不適切な実装となっていたので、まともな(ロバストな)実装に変えました。(今のところ)一番需要がありそうな記事で残念過ぎるミスを犯してすいません・・・。
(2014, 2/7)
周波数(スペクトル)の時間変化を見る
少し前に音響信号を周波数スペクトルに変換するフーリエ変換を扱いました。Pythonでフーリエ変換(と逆変換) - 音楽プログラミングの超入門(仮)
ここで、例えば市販曲などの3分程度の音響信号の周波数を分析することを考えます。この音響信号全体をフーリエ変換して得られたスペクトルはあまり意味がありません。このような長い音響信号では、ある時間ではドの音が鳴っていたり、別の時間ではラの音がなっていたりしますが、それらが全部ごちゃまぜで解析されてしまうからですね。各時刻のスペクトルを計算して、その時間変化を見たいですね。
続きを読む