Immediately after switching the page, it will work with CSR.
Please reload your browser to see how it works.

Source:https://github.com/SoraKumo001/next-streaming

⬅️ Synth wars: The story of MIDI (2023)
somat 16 daysReload
MIDI is pretty great, I am about as musically inclined as a wet rag, but I recently bought a bank of midi sliders as it was the cheapest way to get a bunch of dials, buttons and sliders. At first I was looking for libraries to interface with it. But after looking at the spec, it turns out midi is dead simple and designed to be easy for hardware to parse. Super easy to read and generate. So I am sitting here happily hacking away building the dispatch interface for this thing. The icing on the cake is that it turns out openbsd's sndiod includes a midi transport and control system. Which was just one less thing to worry about.

https://www.akaipro.com/midimix

https://computermusicresource.com/MIDI.Commands.html

http://man.openbsd.org/sndiod#MIDI_CONTROL

Update: that was not a great commands introduction, here Are my thoughts. if bit 1 is set it is a command otherwise it is data. commands are split into two half bytes(nibbles?) the first 4 are what command it is(first bit is high so 3 bits or 8 commands) the second four are the channel. some commands have two following data bytes(low first bit remember) and some have one. The main exception is the system command. which is complicated


glimshe 16 daysReload
MIDI should be studied by anyone interested in protocol design. Very few protocols had its staying power - despite not being perfect for every type of music, it has done its job admirably for close to 50 years due to its simplicity and flexibility.

ajxs 16 daysReload
Very cool article! I had no idea that the idea to use a 5-pin DIN connector for MIDI came from the Japanese HiFi world. One very minor nitpick: 'Running Status' actually refers to a feature in the MIDI specification where multiple sequential messages of the same type can omit the 'status byte'[0]. Stupidly, I didn't know about this feature in the specification when I was writing the MIDI handling routine for a synth[1]. This introduced a bug that took me ages to squash. I was struggling to figure out why everything worked fine when playing notes from my DAW, but notes were getting stuck when directly connected to a synth.

0: https://midi.teragonaudio.com/tech/midispec/run.htm

1: https://github.com/ajxs/yamaha_dx97


morganw 16 daysReload
> Korg noted that the use of jack plugs to transmit the required signals would cause noise in the system.

No more detail on this, but it was huge for MIDI not to end up "becoming a nightmare of endless fine-tuning better suited to electronics engineers than musicians" like CV/gate was.

https://midi.org/midi-history-chapter-6-midi-begins-1981-198... spells it out in more detail:

Mieda-san from Korg responds on behalf of the Japanese companies to the meetings at the 1981 Gakki Fair with Sequential and Oberheim and confirms the discussion that were they had at the Gakki Fair.

• 19.2kbps is too slow

• ¼” Jacks will have ground loop problems

• There is no concept of synchronization, clock or the ability to start and stop sequences

---

Ground loops are the bane of musician's lives and sometimes the mitigation is the end of their lives

https://en.wikipedia.org/wiki/Ground_lift#Safety


everyone 16 daysReload
"Imagine a DAW or plugin that only runs on a certain make and model of computer." - Logic.