独断と偏見で音の信号処理入門Webページ・本を集めてみた

Last Update:2011/02/20

はじめに

Note

この文章は割りと有用だったので、以前のブログから引っ張ってきたものです。

自分自身も初心者の域を全く脱していないのだけれど,完全初心者に有用なリンク集みたいなのが見当たらないので,信号処理の基礎の基礎の基礎レベルでお世話になったリンクと本を集めてみました。 このページでは音の信号処理について扱っています。 その他の信号処理について,私は全く知りませんのでご注意ください。

この記事の対象者

  • 卒研で信号処理することになったけどぜんぜん知らんって人
  • パソコンでプログラミングはそれなりにできるけど,信号処理に使う方法は知らんって人
  • 研究しないけどちょっと音をいじるプログラムでも書くか,という人

Warning

プログラミング言語はCを中心に集めているので,Cが分からないと難しいです。

信号処理はどういう事に使われている?

ARIは会社のWebページですが一読の価値あり。結構詳しく,しかも分り易くかいてあります。信号処理に関係する機器を扱っているのもあって,実際に使われている商品の説明もあり。

信州大学は信号処理の基礎が沢山書いてあります。このWebページも分り易く素晴らしいので是非ブクマを。

WAVファイルをPCで扱えるようになろう

兎にも角にもWAVファイルが扱えなければおはなしにならない!ということで。

WAVファイルに関してはこの二つでも十分かな~と思います。 もっと詳しく知りたい人はググってね。 私はというとフォーマットの拡張部分はいつも無視してるので,普通のWAVファイルしか扱ったことがありません。

ちなみにどんなソフトでも構いませんが,バイナリファイルを見ることのできるソフトがあるといろいろと便利です。 ヘッダが正しく書き込まれているか,など確認に使います。 あとWAVファイルの波形を画像として見ることのできるソフトは必須です。

どちらもフリーであると思います。

WAVファイルで遊んでみよう

ヘッダのサンプリング周波数をいじるだけでもなかなか面白いですよ。

(時間領域の)フィルタを使おう

ここからがちょっと本格的になります。 時間領域のフィルタを使うには畳込みの知識があると良いです。 Z変換も知っておくとなお良いです。

畳み込み

畳み込みの上の方のリンクは分かりやすいと思います。プログラムはCであまり見つからなかったので別の言語で探した方がいいかも。 というかmatlabなどにはすでに畳込みの関数があるので必要ない気もします。

Z変換

z変換の真ん中のリンクは上述した信州大学のリンクの一部です。

フィルタについて

これはFFTを使わないローパスフィルタのようです(私は試してないのですが)。 FFTを使わないフィルタのページはもっといいWebページがあるかもしれません。

窓関数とフーリエ変換

いよいよ大詰め。 フーリエ変換は特に音に限らずいろいろなところで用いられるので,知っていて損はないと思います。

離散フーリエ変換と窓関数

窓関数(Wikipedia)

FFTと時間窓(ウィンドウ)

窓関数に関してはWikipediaでもかなり詳しく書いてあります。

いろいろありますが,必要なものだけ覚えればOKだと思います。 FFTと時間窓(ウィンドウ)のページは「なぜFFTに窓が必要か」ということが分り易く書いてあります。

1次元フーリエ変換

フーリエ変換って何?何の役に立つの?という人はこれを読んで下さい↑

高速フーリエ変換(FFT)

高速フーリエ変換ライブラリ

上記二種はCでのプログラムです(2番目は解説付き)。

C言語で信号解析 窓関数

これは窓関数も含めて全てCで書いてあるプログラムです。

さて,とりあえずここまで出来れば基礎の基礎の基礎としては十分ではないかな~と。 あとは研究内容とかしたいことによって変わるので。

おすすめしたい書籍

次は本ですが,一番おすすめしたいのがこれです。

古めの本ではありますが,C言語でものすごく簡単にフーリエ変換,フィルタ,自己相関,相互相関などのプログラムが載っているのでおすすめです。

図も豊富ですし,数学的な知識はあまり必要ありません。

初版から版は変わってないかもしれませんが,刷はちゃくちゃくと増えている(≒売れている)ことからも良本であることが分かります。

WAVファイルをもっといじってみたいだけ!な人には以下がおすすめ。


上の方は評価も高いですし,おすすめです。



理論を埋める本

理論は講義で先生から習いながら学ぶのが一番ですが,個人的にちょこちょこ読んでいる本を載せておきます。

ただあまり分かりやすい!と思う書籍ではないです。


以上! とりあえず1番上の本は本当におすすめです。