お世話になっております。 A.中村です。

On Wed, 14 Apr 1999 12:37:36 +0900
matz / netlab.co.jp (Yukihiro Matsumoto) wrote:

->あまりタイミングがシビアでないものだったので,MIDIでも同様と
->までは保証できませんが.

この辺は用途依存っすね。
midiといっても必ず音楽演奏&録音だけとは限らず、
たとえば音源の音色などの設定を変更(編集)するツールなら
ズレても何ら問題ないですし。

Rubyそのものに時間保証能力は…きっと無いと思いますけど(^^;;;、
もし時間保証が必要な用途なら、tty 以外 の部分も保証が可能なように
ならないといけないわけですから、一工夫必要です。

たとえば別ソフトを作って、そのソフトはmidiイベントを
時刻情報つきでバッファリングする能力が(そして当然その時刻情報を
ずれずに再現する能力も(^^;)あるようにして、そのソフトと
Ruby側が「時折」会話してデータをカタマリにして転送するとか。
これだとRuby側が時間保証できなくても、だいたい(^^;問題がなくなります。
#この発想で、「delphi「を」midiシーケンサに」するクラスを
#近いうちに公開予定(^^;;;

あと、やりたい環境で、いわゆるmidi(論理)デバイスが使えるように
既に(苦労は御免だという前提で)なっているなら、そっちを
使ったほうが、少し成績がいいかもです。
winならos本体にmidiAPIありますし、PC-unixでもOSSとかいうのが
あると最近教わりました(^^;が、こーいうのを使えば、ハードは同じ
シリアルでも、ドライバがひとひねりしてあって時間性能が良かったり
するわけで。