6 ms·
> 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 th
by core-questions 7y ago
> 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 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.
Higher resolution timing and a greater amount of 'awareness' about the features of the device at the other end so as to facilitate automatic mapping of controls from surfaces to synth parameters is what I would find more useful.
- duskwuff 7y agoAnd it wasn't even uncommon for MIDI controls to be split into a MSB and LSB value. 14 bits is plenty for most audio values.
- kazinator 7y agoAlso, 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 resolution. In a mix, any instrument that is reduced by more than about 20 dB will disappear. When synthesized music (e.g. electronic drumming) lacks dynamics, it is not because of the encoding of the raw volume parameter. It's due to other factors, like poor synth patches. Poor synth patches use a small number of samples, like say a snare drum being hit in three different ways, and they stretch that over the dynamic range with some naive scaling. A real drum doeesn't work that way; it makes a different sound for each intensity with which it is struck. You need samples of it being played at a myriad volume levels, sort those by intensity and map them to the intensity range. Some instruments don't even change intensity that much when they are played louder; a lot of the perception of loudness comes from changing harmonic content. If you fake it with one sample that is just volume-adjusted, it will not sound right. Synthesizers have tricks to help with this, like low-pass filters that respond to velocity: hit the key harder, and more high frequencies go through. That's one tool in the box for creating a more dynamic sound from scratch.
- atoav 7y agoThe 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 will notice that the range of things between the most silent and most loud you can manage is usually huge. For midi controllers this is kinda limited, so good developement.
- kazinator 7y agoIf you want high resolution pitch, then you basically disagree with the whole concept of MIDI. The concept of MIDI is that notes are symbols. MIDI tells an instrument to play A4, not to play note witha 440 Hz fundamental. MIDI doesn't care how that instrument i tuned. A4 could come out as 430 Hz. That said, MIDI supports microtonal effects like pitch bending. Pitch bend messages use 14 bits.
- rzzzt 7y agoYou 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.
- oriolid 7y agoIt 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.
- 7y ago
- v-yadli 7y ago> 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 seeing a note as "keeping a value zero-order sampled for a period" -- consider tremolo, sliding, etc. When it's one more dimension to consider than just a point, the limitation of 7bit is shown. Consider a lowpass filter commonly found on a synth. Play a note, and turn the knob all the way down. On an analog device the transition will be smooth and you'll hear the filter gradually "closing down". If the knob is mapped to 0-127, you can easily hear the steps (sounds like discrete i----a----o----u----n----). Sure there are non-standard 14bit encodings (NRPN), but that's manufacturer-specific, and doesn't communicate. The article is right that MIDI 2.0 will make it feel a lot more "analog".
- TheOtherHobbes 7y agoThere 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 continuous parameters that are varying. MIDI 2.0 won't make anything feel more "analog" because virtually no one cares about those kinds of performance possibilities, so most manufacturers won't implement them. Many of the changes in 2.0 have been driven by the ROLI people. I love my Seaboard, but it's very much a minority instrument for a tiny minority of players, and there's no reason to believe any of the changes to the spec going to make a transformative difference to mainstream music. They're mostly relevant for edge cases where people have already been getting by with 1.0 without extreme pain, but some enhancements may be welcome.
- shmageggy 7y ago> 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.
- deleted 7y ago[deleted]
- BurningFrog 7y ago> 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]