[sdiy] Question for those with musical ears

Tom Wiltshire tom at electricdruid.net
Fri Apr 16 19:27:25 CEST 2021

       Electric Druid
Synth & Stompbox DIY

> On 16 Apr 2021, at 17:32, Mike Beauchamp <list at mikebeauchamp.com> wrote:
> I'd imagine this gets more sensitive at higher pitches too:
> - A 1 cent pitch difference at C2 gives a beat frequency of .5Hz. Great.
> - A 1 cent pitch difference at C8 gives a beat frequency of 41Hz. Yikes!

Not only that, but our ears are much more sensitive to pitch in the middle range than at the extremes. It’s *really* hard to hear steps between bass notes. The Hertz difference is smaller, I suppose, but that means that at that extreme, our pitch perception loses its exponential qualitgtdsx

> When it comes to turning something into discrete steps, I think we should be aiming for close-to-ideal instead of barely-perceptible when hardware allows.

Yeah, it’s a nice goal. Certainly “as good as possible” within whatever other limitations there are.

> The pitch resolution is usually an after-thought since most synths are played with keyboards, so the pitch resolution is only important for the tuning granularity and pitch-bend-wheel flourishes. But more alternative controllers are around that are pushing for constant continuous pitch (like the giant Roli) and I think digital synths need to be designed with this in mind, allowing for large pitch-bends (at least 4 octaves) and with a very high resolution.

It’s simple to have way more pitch resolution than you need. I often use a 16-bit variable for this. The upper byte is the MIDI note number, and I rarely use the MSB (so 0-127). The lower byte is the sub-semitone position, so a full byte gives me 256 steps per semitone, about 0.4 cents. This is certainly less than even our golden-eared friends can hear. If you were to use a 24-bit variable for pitch (or even just make use of that extra bit I mostly ignore) you’d have more resolution than you would ever need.

It’s not only the resolution that matters, but also the update rate. Super-fine resolution is no good if you update values at some awful rate. I have a cheap M-Audio MIDI keyboard, and the pitch bend data might be 14-bit, but it’s sent so infrequently that there are horrid pitch steps and zippering when you use it. Any sound generator that wants to use such data needs to make sure to filter it so it’s smoothed.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://synth-diy.org/pipermail/synth-diy/attachments/20210416/6db2d606/attachment.htm>

More information about the Synth-diy mailing list