4 ms·
Of all technologies, I believe MIDI has been the most plug and play experience for me. Plug a midi cable in, boot up a sequencer and you are good to go. Really
by prox 5y ago
Of all technologies, I believe MIDI has been the most plug and play experience for me. Plug a midi cable in, boot up a sequencer and you are good to go. Really interesting to see what can be done with MIDI 2.0
- wtfrmyinitials 5y agoI was trying to write a program using midi last year and was surprised by the lack of any libraries to work with it. Then I looked up the spec and was able to get all the functionality I needed with 10 lines of code interacting with /dev/midi. Incredible how powerful such a simple interface is.
- deleted 5y ago[deleted]
- throw_m239339 5y agoThat's all good up until you try to synchronize different MIDI devices with their own sequencers. Even "voltage triggering" is more accurate...
- em3rgent0rdr 5y agohave you tried using https://en.wikipedia.org/wiki/MIDI_beat_clock https://en.wikipedia.org/wiki/MIDI_beat_clock
- TheOtherHobbes 5y agoThe clock is not very accurate and devices have to interpolate it. Which is something they all do slightly differently, especially if the tempo changes - which doesn't happen much in pop, but happens regularly in media composition. If you're lucky the result will be in-time-ish, but it's never going to be sample accurate. This actually matters for some applications, including sound design. If you trigger two samples with a variable offset you can get phase cancellation and other easily audible effects. DAWs are sample accurate now, but 5-pin DIN MIDI 1.0 really isn't.
- em3rgent0rdr 5y agoMidi can plug-and-play so easily because there is no handshaking. Every midi capable device has already agreed upon the 31,250 serial baudrate and 8-bit data + 1 stopbit format and the commands. The only occasional problem I'll experience with midi is if I unplug before sending a note-off for a note, then that note might forever be stuck on.
- romwell 5y agoAnd even that is not really a protocol problem. It's trivial for a device to implement "reset-on-disconnect".
- squarefoot 5y agoThe problem is that there is no such thing as a disconnect signal, so a device can't know a cable has been pulled or something in between has been powered off; if it happens then the device is left hanging with a note on, and one must find a way to send the relevant note off or the all notes off message when communication is restored. Adding such controls (aside the simple reading of the current loop value that doesn't solve all problems) would require one more layer which would translate in more complexity and more latency. If I had to implement such things on top of an improved protocol, I would likely also ditch the serial link, ignore completely USB, and jump straight to Ethernet, which is damn fast, near realtime, supported pretty much everywhere (Ethernet switches would essentially work as MIDI Thru boxes) and free of royalties. Devices in the same local network wouldn't even need the transport and above layers to work, so latencies would be extremely low, but adding more IP stack layers would allow to remote things easily.
- romwell 5y ago>There is no such thing as a disconnect signal Incorrect :) MIDI OUT provides power. No power = disconnect. That's not to mention that you don't need a signal for *physical disconnect Your stereo knows when you unplug headphones.
- 5y ago