研究テーマ->音楽ソフトの開発->周波数成分を解析するソフトの開発  
  周波数成分を解析するソフトの開発について紹介します。  
採譜技術とは?
MIDIファイルをWAVファイルに変換するソフトの作成は、比較的簡単です。MIDIで指定された音色、音高のWAVデータを作成し、それを合成していけば良いからです。
しかし、逆は難しいです。逆というのは、WAVファイルからMIDIファイルを変換するソフトのことです。WAVデータに何の音色で、どのような音高の音が含まれるかを調べるのは不可能に近いです。ただし、ピアノなど、ある特定の音色だけが含まれるWAVファイルでなら、ある程度の認識率で変換するソフトはあります。波形データから、音の高さを調べて、譜面のような形で取り出す技術のことを採譜技術と呼びます。こちらにも説明があります。
周波数成分を調べる
周波数成分を調べるには、フーリェ変換やFFTというアルゴリズムを使用します。とても難しいアルゴリズムですが、大学で、理工系の学部に行くと、授業で教えてもらえるチャンスがあると思います。また、理屈がまったく理解できなくても、アルゴリズムで示されているプログラムさえ組むことができれば、問題ありません。電話の仕組みを知らなくても、電話が使えるのと同じです。(ちょっと違う?)
周波数分析については、こことか、このあたりでも、ちょっと記述しています。
音を記録したWAV形式のファイルには、1つの周波数の音だけでなく、たくさんの周波数の音が含まれています。これは、楽器で和音を演奏した場合だけでなく、単音を演奏した場合でも、そうなります。たとえば、ピアノで「真ん中のド」の音を演奏したとします。すると、実は、その音の中には、「真ん中のド」の音だけでなく、音量は小さいのですが、「上のド」の音とか、「下のド」の音とか、さらには、「ソ」の音とか、「ミ」の音とかも含まれています。
このように、WAVファイルには、いろいろな音が入っていますが、単音が記録されたWAVファイルの場合、FFTのアルゴリズムをつかって、一番、音量の大きい周波数を取り出せば、楽器のどの音が弾かれたのかがだいたい分かります。
精度を上げるには倍音を調べる
フーリエ解析のアルゴリズムでは、低周波ほど、精度が悪く、高周波ほど制度が良くなります。
たとえば、入力されている音を、おおざっぱに、ドレミファソラシドのどの音かを調べるだけでなく、何セント、ずれているかを調べたい場合があります。このような場合は、ピークになっている周波数を倍にした周波数帯で、どのあたりの周波数が強くなっているかを調べると精度が良くなります。
たとえば、440Hzにピークがあった場合、880Hz周辺の周波数帯をしらべれば、より細かくズレを検出することができます。
ゆらぎを調べる
周波数成分で、ゆらぎを調べることもできます。
CDなどに入っている音楽のゆらぎを調べるために、ソフトを作ってみました。
こちらにあります。