大学校及び設置科 北海道職業能力開発大学校 情報技術科
課題実習の前提となる科目または知識、技能・技術 デジタル信号処理、応用数学、ソフトウェア制作実習など
課題に取り組む推奨段階 デジタル信号処理、応用数学、ソフトウェア制作実習終了後
課題によって養成する知識、技能・技術

課題を通して、情報収集能力、問題解決能力、プログラム開発能力等の実践力を身に付けます。

製作の目的と概要

 近年、コンピュータと電子楽器の発達に伴いMIDI(Musical Instrument Digital Interface)規格が普及し、作曲ソフトウェアで音楽ファイルを作成するときにMIDIファイルを用いることが主流となっています。そのような作曲ソフトウェアで用いられる演奏情報の入力方式としては、マウスやキーボードを使って数値などを入力するステップ入力とMIDIコントローラなど専用機材を使って入力するリアルタイム入力がありますが、いずれも初心者には難しい面があります。
 そこで、本制作実習では、鼻歌や手持ちの楽器の演奏を入力として容易にMIDIファイルを作成できるツールの制作をテーマとして取り組みました。

成果

 本研究では、MIDI形式ファイルとして、最も標準的なSMF(Standard MIDI File)を用いました。Windows標準の音声ファイル形式であるWAVファイルを入力とし、その入力データに対しFFT処理を行うことにより音の高さ、長さなどの演奏情報を推定してSMFとして出力するツールを作成しました。なお、開発言語としてはVisual C++®を使用しました。
 図1(1)に、入力したWAVファイルの元になったSMFを、図1(2)(3)に、制作したツールを使用して出力したSMFを、それぞれ示します。ただし、(2)はピアノ、(3)はバイオリンを入力音源としています。また、縦軸は音の高さ、横軸は時間となります。
 図1(2)において赤丸で囲った地点Aから、わずかに発音開始時間のずれが生じています。図1(3)において青丸で囲った地点Bで、1オクターブのずれが生じています。
結果としては、入力音源がピアノの場合について十分な精度でSMFを作成することができました。しかし、バイオリンやトランペットの場合には、1オクターブ高い音として誤認識してしまうオクターブ誤りの問題が発生してしまいました。
 今後の課題としては、入力音源に左右されない音高検出方法の検討などによる精度の向上が挙げられます。
MIDIファイル作成ツールの制作(H20)の画像1