This project is not in development anymore (1998!), please use JavaSound
[MidiChat] [Midi-] [-Chat] [Download] [Context] [Technical Details] [E-mail]


Midi-

You can choose from which MIDI-port the input is taken to be sent over the internet, and which MIDI port is used to play the data which is received from the internet. Of course, you can use your existing hardware, but it is recommended to catch up the MIDI from internet and then process it. Distributed Sound Lab will take care of this part.

For MIDI, timing is very important. That's why you can't just let the MIDI from the internet come in and play it back, because you never know how much time it took to get to you. MidiChat compensates this dynamic delay by first of all sending timestamp information too (besides the MIDI data itsself), and secondly by comparing the received timestamp with the general MidiChat-clock, which is known to everybody. Out of these comparisations, a fixed offset is created for everyone apart, which makes sure the timing is correct, but only a fixed offset/delay later.

MidiChat is constanly checking weither the midi is played back with the same timing as it went on the line at the sending side. However, sometimes you want to lock this offset. This is also possible; it is called 'Snap Offset'. It is the best to let MidiChat find the best offset, and if it is necessary, snap the offsets. However, if your connection suddenly gets very slow, the timing will not be very good. You can also use this parameter especially for a Local Area Network. If you enable 'Snap Offset' before you started your devices, all MIDI will be playbed back at once, without any smart scheduling. Normally, the scheduling is needed for playing together on internet, but it might not be necessary on a LAN.

For the Windows platform, it is recommended to download one of these:
  • Hubi's LoopBack device
  • MidiMux