MIDIのリアルタイムレコーディングができるフリーソフトが作りたいと思います。

1から教えてください。
ってのもあれなので、
外部から入ってくるMIDIデータを読む方法と、
SMFファイルフォーマットがわかる
参考になるようなものは無いでしょうか?