研究テーマ->音楽ソフトの開発->着メロ変換ソフト  
  着メロ変換ソフトについて紹介します。  
着メロのフォーマットについて
SMF(MIDIファイル)を読み込み、DoCoMoやau、SoftBankの着メロファイルに変換して出力するソフトを作るには、まず、それぞれのファイルのフォーマットについて知る必要があります。
SMFのファイル・フォーマットは公開されていますが、着メロファイルのフォーマットは公開されていません。

DoCoMo携帯で採用されている着メロのフォーマットをMFiといいます。たしか、Melody for i modeとか、そんなようなものの略称です。これは、Faith社(もともと京都にあった会社?)が考案したものです。SoftBankやauのフォーマットは、SMAFといいます。これはYamahaが考案したものです。大昔は、YamahaのホームページでSMAFの仕様が公開されていましたが、現在は、公開を中止しているようです。

色々なバージョンがある
携帯電話は進化していますから、着メロのファイル・フォーマットも変化してきています。携帯電話には、音源チップという、音を鳴らすためのチップが搭載されていますが、このチップが新しいものになると、それにあわせて、フォーマットも変更されます。ただし、フォーマットが全て新しくなってしまうかというとそうでもなく、以前のフォーマットから機能拡張するという感じで変更されます。

携帯の音源チップはほとんどYamaha製です。これは、MA3とか、MA7とか、MAで始まるチップで、数字が大きいほど新しいです。MA1というのもありましたが、これが携帯電話で使用されていたかどうかは不明です。
音源チップがどのように変わるかというと、たとえば、MA1は4和音でFM方式ですが、MA3はたぶん、16和音だと思います。どのあたりか忘れましたが、FMに加えて、PCMも使えるようになり、和音数も増えていきました。要するに、 新しい音源チップほど、和音数が多く、使用できる音色も多くなっています。

中はSMFと似ている
MFiもSMAFもMIDIを元に作られているため、中の構造は似ています。大雑把に言うと、中はヘッダとボディに分かれています。ヘッダには曲のタイトルや著作権情報と音色のデータが書かれています。ボディには演奏情報が書かれています。

構造が似ていますから、MIDIから着メロファイルへの変換は、MIDIの1つ1つのデータ(イベント)を、着メロ用のものに置き換えるということで大半が片付いてしまいます。ただし、MIDIで音を鳴らすのは、ノートオン、ノートオフのイベントのペアですが、着メロファイルでは、ノートのイベントしかなく、ゲートタイムの情報が付加される形になっています。
また、音色データは、携帯機種ごとに異なります。この音色データを入れていなくても、デフォルトの音色でなる機種もありますが、音色データを入れていないと、まったく鳴らない機種もあります。