Live data from Hacker News

An update to 37-year-old MIDI

qz.com

71–80 of 105 posts

Re: An update to 37-year-old MIDI

#71
post #41

Earlier quoted context omitted.

"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.

This is why many music apps use ASIO drivers that skip Windows audio. ASIO is awful in many ways, but latency is not one of them.

Re: An update to 37-year-old MIDI

#72

> 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…

Also, if we talk about the volume parameter. The human ear's dynamic range is about 120 dB, which includes about 20-30 dB of pain. With 127 bits, we can map that with 1 dB resolution. 16 bit audio ("CD quality") only has a 90 dB dynamic range. We would almost never want a single instrument to have a 90 dB dynamic range, but if we did, MIDI values could logarithmically encode it with a better than 1 dB per step resolu…

> 16 bit audio ("CD quality") only has a 90 dB dynamic range.

That's a persistent myth. The channel noise floor at the frequencies of interest of 4x kHz / 16 Bit audio is below -100 dB due to combined noise shaping and dithering.

While this means for music 16 bit audio is generally sufficient, it has leaves little room for error; mastering has to be excellent. That's why everyone is recording in 24 bit; it allows you to patch up errors later.

Re: An update to 37-year-old MIDI

#73
Why in the world would you reference Adam Neely of all people? He is YouTube famous, but by no means a foremost expert on any of this stuff. He literally just reads the feature list in his video and adds some simple explanation while filming himself walking around a convention. If you want to learn about something like this, talk to one of the contributors or an actual hardware/software developer.

Neely, like all YouTube explainer-celebrities, is primarily concerned with getting views and having "production quality", while leaving the audience with a vague sense of having learned something without actually having learned anything at all. His most popular videos are chock full of non sequiturs and made-up nonsense.

Re: An update to 37-year-old MIDI

#74
post #48

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'm sorry, but...what? I'm the rare non-professiona…

I wouldn't be at all surprised if the process is not bit perfect; the question is: can you hear a difference on your own? Can you hear the difference if it is pointed out ahead of time (through waveform comparison)?

Re: An update to 37-year-old MIDI

#75

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…

If gaming can do it via Stadia, I think music production should be able to do it too. I understand the other comments about latency being particularly crucial for live performance. But there's a big difference between live performance and recording. And I could see a model where as you play live and lay down tracks, it uses a low latency local sample, but then when you playback after the fact (where latency is not important) it can leverage more advanced state of the art VSTs via the cloud.

Re: An update to 37-year-old MIDI

#76

Why in the world would you reference Adam Neely of all people? He is YouTube famous, but by no means a foremost expert on any of this stuff. He literally just reads the feature list in his video and adds some simple explanation while filming himself walking around a convention. If you want to learn about something like this, talk to one of the contributors or an actual hardware/software developer. Neely, like all You…

His comment about classical betrayed this a bit. It was pretty ignorant (in the pure sense of uninformed) and confusing.

Re: An update to 37-year-old MIDI

#77
post #70
post #57

Earlier quoted context omitted.

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.…

You do not need MIDI 2.0 to solve any of those problems.

Re: An update to 37-year-old MIDI

#78
post #48

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'm sorry, but...what? I'm the rare non-professiona…

"think I would have noticed by now"

I don't think so.

Many systems are non-reproducible and it's often subtle enough that professionals don't know or don't care.

Re: An update to 37-year-old MIDI

#79

> 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…

> 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.

If I have to manually reconfigure every sound to work with the quantization, that's a very impractical workflow.

[With reservation for that I maybe misunderstood]

Re: An update to 37-year-old MIDI

#80

Earlier quoted context omitted.

Use an FPGA? I mean that sounds pretty simple, if you think there's a market let's talk.

Silicon isn't the bottleneck here, you could probably rig it up on existing chips. I can think of a way to do it with a stereo codec and surround codec with a mux in there, it wouldn't be super cheap but for pro gear, who cares. The big blocker is the drivers and compatibility with existing software. Audio people do not like tooling changes, and what I'm talking about is a rather fundamental change to very low level…

Given your later explanations of what you actually mean, none of what you're talking about can possibly help.

MIDI is a serial protocol without timestamps. It is not possible for it to have "N notes with the same timestamp" because MIDI messages/events do not have timestamps. There is no notion of any time other than "now" in the MIDI protocol.

In the early 2000's there were MIDI hardware interfaces that did accept a timestamped event stream, and claimed to provide much better timing than those that just "send it out ASAP". These gained zero traction in the industry because nobody could actually tell the difference, and it required h/w-specific code, which nobody likes.

Your "how i'd like to do it" on Linux is impressively wrong in the sense that you do not need a hypervisor and you do not need hardware changes. We already do this on Linux, when desired (e.g. embedded Linux in the mixer consoles on several pro-audio companies).

I've spent 20 years writing pro-audio+MIDI software after "an extremely lucrative exit" from a previous venture. I don't think you understand what the actual pro-audio paradigms are, nor how they could be changed.

Post reply on HN