最近のコンピューターで音をどのように扱えるか、 2004年度卒研生である松山君の卒業研究がある。 当時から、音に関わる現象のシミュレーションが目標であったのだが、 今回二人に挑戦してもらった。 そのきっかけになったのは、 太田 [15] である (色々と得体の知れないことが書いてあって、 挑発的な小稿である)。
松山君の卒研は、実際の楽器の音を解析するというもので、 ツールとしては Mathematica を用いた。 今回は、やがては微分方程式をガリガリ解くことになるだろう、 というので Mathematica ではなく、Java を使うことにした。 C でなく Java にした理由は、 Java には、PCM を扱う仕掛けが色々あるようだから、ということである。 WAVE ファイルの読み書きやFFTについて、 Mathematica では最初からものが揃っていて (素晴らしい… Mathematica は高価だがダテではない), C 言語レベルではノウハウの蓄積を持っていたが、 Java では1から用意する必要があったため、苦労が多かった (分かってしまえば、何でもないことのようなのだが…)。 そのため、残念ながら、今年度の卒研の到達地点は、ある面では、 松山君がやったことをなぞったにとどまってしまったが、 後輩のために良い道を残してくれたと思う。
なお、ノウハウについては、
「音の取り扱いに関するメモ (C, Java)」という文書にまとめておいた。
http://nalab.mind.meiji.ac.jp/~mk/labo/text/memo-sound/
http://nalab.mind.meiji.ac.jp/~mk/labo/text/memo-sound.pdf