Live data from Hacker News

An update to 37-year-old MIDI

qz.com

61–70 of 105 posts

Re: An update to 37-year-old MIDI

#61
post #60

Earlier quoted context omitted.

> Sure there are non-standard 14bit encodings There's nothing nonstandard about 14-bit encodings. Pitch wheel and all of the standard controls are 14-bit.

For completeness, there are a few 14-bit MIDI control standards that I'm aware of, and all of them have major disadvantages. - MPE pitch wheel: You can only have 16 controls with this method. Otherwise, it's an efficient protocol. - NRPN/RPN: Requires 4 MIDI messages to send a single value in a proper way (control number, MSB, LSB, NULL control number). Technically you can do it in 3, or 2 if the control number doesn…

> - CC MSB/LSB: Plows over normal CC messages so you need to explicitly set up your controller / synth to agree with each other. As far as I know the order of MSB/LSB is not defined by any standard, and IMO this makes it a broken standard.

This was set up to a degree with General MIDI 2, and I've found a -lot- of synths in the past that follow it - even to the point of implementing LSB on other controllers that are not part of the standard. This is in the murky past, however, maybe 20 years+ ago...

Re: An update to 37-year-old MIDI

#62

imho MIDI 2.0 hits the low hanging fruit but doesn't go far enough at fixing the biggest problem in professional audio. Deterministic rendering. Basically same input makes the same output, which doesn't happen even in totally digital systems - doubly so with live (or recreated) midi events. I'll give an example - you have your PC with $DAW_OF_CHOICE running and plug in $MIDI_2_CONTROLLER to USB and enable a track and…

>I'll give an example - you have your PC with $DAW_OF_CHOICE running and plug in $MIDI_2_CONTROLLER to USB and enable a track and hit record, play your stuff, and stop. When you play it back, unless the cosmic forces are exceptionally on your side, it will not sound the same as when you played it. It's subtle and sometimes ignored or even desirable, but it's there.

I've never encountered this with any modern system; I've been sequencing from the early 90s on Atari, still doing it now, and it makes up most of my (varied) day job - plus recording, etc. I've done tests of my own and not found anything measurable (I was an instrument technician in a nuclear facility before turning to music, FTR). There were definitely issues with early DAWs (Cubase Audio springs to mind), but I've not found anything in the modern era.

Care to share some measurable results? I'm interested in what the problem is.

Re: An update to 37-year-old MIDI

#63

Is there any reason why music production in the cloud isn't the standard yet? High-quality VSTs requiree a lot of CPU power. Even my 16-inch MBP easily heats up once I add some more advanced VSTs. I would rather pay X$ per month and have my music production work station in the cloud and interact with it from any old device with a fast internet connection. Working with a buffer size of 512 samples, I currently have a…

>Is there any reason why music production in the cloud isn't the standard yet?

Latency springs to mind, firstly. It's hard enough getting a local DAW with audio interface working fast enough reliably with a high CPU load to ensure that a performer is happy with it. Adding in journey to/from the cloud, I'd think would make that part of it a non-starter.

Your quoted 10mS is doubling what you already have, and I'd wager there's more to it than that - particularly if you have an up and downstream connection to take into account. Put the buffer size up on your Ableton setup to 30mS, and see if that is playable.

Re: An update to 37-year-old MIDI

#64

My "turing test" is whether or not you can tell the difference between Stan Getz playing it and a midi device playing it.

There are three elements there though:

1) the capture of all the musical and performance input (a wind controller, etc) 2) the transmission of all that information in real-time without latency 3) the conversion of that information into the appropriate sound.

Midi is only part 2 of that - advances in other areas are needed for a fully convincing facsimile, but given the incredible improvement in sample-based libraries over the last 10 years or so (and even more so comparing something like a Spitfire Audio library to a synth string patch), it is possible that will be the case, given the investment of time, brains and money.

Re: An update to 37-year-old MIDI

#65
post #60

Earlier quoted context omitted.

For completeness, there are a few 14-bit MIDI control standards that I'm aware of, and all of them have major disadvantages. - MPE pitch wheel: You can only have 16 controls with this method. Otherwise, it's an efficient protocol. - NRPN/RPN: Requires 4 MIDI messages to send a single value in a proper way (control number, MSB, LSB, NULL control number). Technically you can do it in 3, or 2 if the control number doesn…

> - CC MSB/LSB: Plows over normal CC messages so you need to explicitly set up your controller / synth to agree with each other. As far as I know the order of MSB/LSB is not defined by any standard, and IMO this makes it a broken standard. This was set up to a degree with General MIDI 2, and I've found a -lot- of synths in the past that follow it - even to the point of implementing LSB on other controllers that are n…

CC MSB/LSB is still my absolute least favorite method because you have to tell customers to manually set up their DAW/synth to handle each command, or to load a preset/config that does this for them. Of course, customers are going to mess this up, so you end up with lots of tech support issues of the form "I moved a knob on my controller, and it's setting both CC 7 Volume and CC 39, which I've already configured to control filter attack."

Re: An update to 37-year-old MIDI

#66

By the way, seems that MIDI playback support in operating systems and browsers is petering out. About nine or ten years ago, I had little trouble playing back MIDI files on various platforms. Recently, I sent an old .mid file that I produced almost a decade ago to someone (at Google!) and they couldn't play it. After trying it myself, I was shocked. Browser after browser, system after system; no dice. I ended up conv…

It is possible for current browser to play midi using some JavaScript library just like you use native players to play midi. see MIDI.js.

So, for programming usage, it does not matters that much

Re: An update to 37-year-old MIDI

#67
post #40

Earlier quoted context omitted.

> This is extremely misleading. Sure, the velocity input into your synth is going to be at 7-bit resolution, but at soon as the synth has it, it can play anything it wants at whatever volume it wants to based on how you have configured it. There's nothing about the external 7-bit implementation that is really limiting the dynamics of the synth itself. I don't agree. Musical sounds are evolving, so one should not be s…

There are very few patches where the difference between static filter settings of 64 and 65 is audible and it's literally physically impossible to set a typical panel knob with that level of precision. (It's easier on a medium-sized slider and definitely possible on a long-throw fader, but most synth panels don't have those.) And it's incredibly easy - and fairly standard now - to add a little interpolation to contin…

> There are very few patches where the difference between static filter settings of 64 and 65 is audible

Parent wasn't talking about a static patch, but a filter sweep. I encounter audible discretion girl often and many other people have too. Just because it doesn't show up in your workflow doesn't mean it's not a significant limitation for a lot of people.

Re: An update to 37-year-old MIDI

#68

> In MIDI 1.0, all data was in 7-bit values. That means musical qualities were quantized on a scale of 0 to 127. Features like volume, pitch, and how much of the sound should come out of the right or left speaker are all measured on this scale, with 128 possible points. This is not a lot of resolution. For some really sophisticated listeners, they can clearly hear the steps between points. This is extremely misleadin…

[deleted]

Re: An update to 37-year-old MIDI

#69
post #41

Earlier quoted context omitted.

Most MIDI seems to be done over USB already. MIDI 2.0 is mostly unrelated to the actual connectors and such, it's more about the protocol.

"MIDI" on your Desk may well be done over USB but MIDI as a hardware protocol is absolutely rock solid and is the only choice for live music. Speaking as an occasional backstage gremlin, I minimise the USB proportion of the signal path because reduces the amount of testing required (MIDI is generally well implemented on the hardware side, but not all USB midi interfaces are made equal). That and a lot of MIDI is inst…

Windows audio latency increased to a 35ms floor in Vista and never recovered.

Re: An update to 37-year-old MIDI

#70
post #57
post #52

Earlier quoted context omitted.

The perceptability of the 128 steps depends on the parameters it influences. If the midi parameter influences e.g. some form of pitch, 128 values won't get you very far without having the steps perceived. It also has to do with the pressure range of midi controllers: 128 steps are few if you have to distribute them between "barely touching" and "hammering on it with full force". When you play a real instrument, you w…

You can distribute the values non-linearly, though; the difference between smallest and largest value might be big, but I don't think I could hit a pad or key in 128 different ways. Some controller software does offer a selection of velocity profiles.

It depends on the instrument. 128 positions is well enough for piano. From other instruments, drums is the one I know best, and there single parameter is just not enough: the result depends on velocity, the position where the stick hits drum head, for non round tip sticks the stick angle. For cymbals, in addition to hitting different parts of the cymbal, stick tip, shaft and shoulder give different sounds. And so on... There's a good reason why loops sampled from acoustic drums are used even though drum synths exist.
Post reply on HN