[DRUMSOFT 旧BBS][全部]

OS XでMIDIシーケンサ計画

というわけでTool de MusicをイデアとしてMIDIシーケンサを創ります。とりあえず今日、EDIROL(慣れないなこの表記…RolandのDTM部門な)の最安インターフェイスUM-1S( <a href="http://www.roland.co.jp/products/dtm/UM-1S.html" target="_top">http://www.roland.co.jp/products/dtm/UM-1S.html</a> )を購入しました。
51 hrk 2003-03-01 02:04 permalink
どうやら、Virtual SourceにMIDIを流すと流した瞬間にシンセ側にイベントが渡ってしまうみたいだ。なのでNoteoffできなかったり、イベントが来た瞬間Noteoffして音が出なかったりしていた。
CoreAudioのMIDIイベントはイベントと一緒に「そのイベントがいつ実行されるか」の情報が付随していて、シーケンサ側がいい加減な時間にイベントを出力してもちゃんと指定された時間にシンセにイベントが届く様になっている。これは時間情報を持たない外部MIDI機器にメッセージを届けるために必要な機能だ。
けれども、Virtual Source経由でイベントを流す時はこの機能が働かないので、シンセ側で指定された時間まで待ってからイベントを実行する要に処理する必要がある。SImpleSynthやRaxで不都合が起きたのはこれをやってなかったらだ。
シーケンサ側で正しい時間まで待ってから出力すればいいじゃないかと思うかもしれないが、それをやってしまうと微妙なプロセスの遅れが全部MIDIの遅延になってしまってかなり嬉しくない結果になるはずだ。だからBeatDeckは1/16小節毎に次の1/16小節に必要なMIDIイベントを全部まとめて送信している。タイミングの調整はシステムのMIDIサービスにやってもらう(=Virtual Sourceを使わない)か、ソフトシンセ自身が行う(Reasonはきちんとやっている事)必要がある。
[DRUMSOFT 旧BBS][全部]