投稿者 YuO  (社会人) 投稿日時 2010/6/5 01:48:48
蛇足ですが……

他のシーケンサ (Windows Media Player, TMIDI, etc.) で再生する必要があるのであれば,SMF対応は必須ですが,
あくまで,「MIDIに関するデータをファイルに保存したい」という点だけで考えた場合,SMFにこだわる必要はありません。
# というか,大抵のシーケンサは独自のファイル形式を持っています。

例えば,SMF上ではFisとGesの違いは保持できませんが,内部的には別のデータとすることができますし,
独自のファイル形式であればそれを区別することもできます。

独自のファイル形式では,必要なものや後々のこともちゃんと考えて作らないと後悔するのは確かですが,
バージョンを気にしないならデータ部分のクラスに<Serializable>をつけて,データクラスをシリアライズしてしまうのが手っ取り早いです。


> 音楽データを文字に変換してそのデータを音として呼び起こせるようにしたんですよ

MML (Music Macro Language) ?

e.g. エリーゼのために 冒頭 (右手)
O5
E16D+ ED+E<B>DC <A8R16CEA B8R16EG+B >C8R16<E>ED+
ED+E<B>DC <A8R16CEA B8R16E>C<B A4E16D+
ED+E<B>DC <A8R16CEA B8R16EG+B >C8R16<E>ED+
ED+E<B>DC <A8R16CEA B8R16E>C<B A8R16B>CD
E8.<G16>FE D8.<F16>ED C8.<E16>DC <B8R16E>ER RE>ERR<D+ ERRD+ED+
ED+E<B>DC <A8R16CEA B8R16EG+B >C8R16<E>ED+
ED+E<B>DC <A8R16CEA B8R16E>C<B A8R16

<がオクターブを上げ,>が下げる処理系用です。

昔はN88Basicなどで使え,Rayのような高性能再生ソフトがあったのでそれなりに知名度があったのですが,最近はMMLなんて知らない人も多いと思います。
MMLの再生ソフトで国内で最大のコンテンツはニコニコ大百科かなぁ……。
ピコカキコ (コメントへの音楽の埋め込み) に使われるのがMMLだったりします。
http://coderepos.org/share/wiki/FlMML/Reference
# ときたまTwitterにMMLっぽい文字列をツィートする人を見かけますが……。