SewiGの日記
2005-12-16 [金]
■ [Java][Programming] JavaでSMF (1)
javax.sound.midiはMIDI関連の面倒くさいことをクラスライブラリでやってくれてうれしいのですが、抽象度はそれほど高くないので多少MIDIの知識が必要です。マルチメディア関連はいろいろと面倒なのでメモ。
SMF(Standard MIDI File)の構造は以下のようになっています。
ヘッダチャンクは「MThd」「データ長(固定)」「フォーマット」「トラック長」「タイムベース」から構成されています。トラックチャンクは「MTrk」「データ長」「データセクション」から構成されています。フォーマット1なら複数個のトラックがあります。データセクションは「デルタタイム」「MIDIイベント」から構成されています。数値はリトルエンディアンなのに注意してください。データセクション以外はクラスライブラリがいい感じに面倒を見てくれます。可変長数値とかバイト単位のファイルパース面倒だなぁと思ってる人最適。
データセクションですが、デルタタイムは演奏データの先頭からの相対的位置を表しています。なので番号が若い順に演奏されます。MIDIメッセージは以下のように分類されます。
チャネルメッセージはコンピュータで音楽やってる人にはおなじみのメッセージで、ノートオンやコントロールチェンジやプログラムチェンジなどがあります。システムメッセージはシステムエクスクルーシブなど機器の初期化や特殊な命令を実行します。チャネルメッセージもシステムメッセージも本当はもっと細かく分類できますが、あとは参考書*1を見てください。
トラックはデータを管理しやすいようにまとめているだけなのでさほど重要ではなく、チャネルごとに分けてやるといいでしょう。ここまで来れば、あとは好きなようにMIDIメッセージを作ってタイマーをグルグル回しながらメッセージを送信すればMIDIシーケンサの出来上がりです。
*1 「MIDI1.0規格書」でもいいのですが、MIDIリファレンス&サウンドプログラミング全般の良書として「Windowsサウンドプログラミング」をオススメします。
2006-12-16 [土]
■ [Other] ヤマハ STAGEA DAY
御経塚サティでクリスマスソングが聞こえるなぁ と思っていたらヤマハのイベントでした。
STAGEAとD-DECKがあって、どうやらSTAGEAの販促イベントみたいだったけど、D-DECKにしか興味がなくて…
音色は生っぽい感じでジャンルもアコースティックな感じならなんでもいけそうだ。ドラムパターンも結構あって、こういうイベントやライブ向きか。ただ、値段をみてビックリ。30万円て。その値段でMOTIF8が買えちゃうよ。特に打ち込み用途以外に使わないのならD-DECKはちょっと。
アンケートに答えたらヤマハグッズ貰った。クジを引いて出てきたのはC賞。非売品STAGEAホイッスルをゲット。やはりクジ運が悪いな。
2007-12-16 [日]
■ [Software] Visual Studio 2008 日本語版
- Visual Studio 2008日本語版が完成 (Slashdot Japan)
年内に出ましたね。VS2005 Proから乗り換えるべきだろうか。しばらく様子見しておこう。どうせインストールしても触ってる時間がないんだろうし。あれ、/.Jのコメントみたいなこと言ってるぞ…
● Ranessa [Thanks for your thougths. It's helped me a lot.]
● KK [初めまして、midi周りについて色々調べていたらここにたどり着きました。 当方、ウェブ系プログラミング言語をちょっ..]