Virtual Wind Instruments

June 29th, 2018
music, tech
I've been thinking about what I want in a virtual wind instrument and how it differs from a keyboard instrument. On a keyboard there's:
  • Which key did you hit?
  • How hard did you hit it?
  • How long did you hold it?
A wind instrument adds:
  • How much breath pressure is there?
Your typical virtual instrument (synth) only has one parameter that can be expressively adjusted after the note has started: volume. For example, to simulate an organ with a swell box you can do well with just having volume (dB) vary linearly with pressure:

Most real instruments change their tonal qualities as you increase pressure/force/tension, however, and this is a good thing! It lets you vary the feeling of the instrument much more than by just getting louder and softer. While in acoustic instruments this typically comes along with large variations in volume, we usually adjust that out by adding compression. you generally want volume to increase at first and then level off:

While the tone goes from something clean/sweet/pretty to something a bit harder/dirtier/rougher:

We can call this combined volume and roughness 'intensity', and in these graphs above I've shown intensity rising with breath pressure.

A note generally has two aspects: the initial sounding (the attack) and everything else (the sustain). On a keyboard synth these are controlled together by how hard you press the key. You can't, for example, choose between a low and high intensity attack to pair with a given intensity of sustain. And you can't vary the intensity of the sustain over the course of the note.

Which gets to how I want a virtual wind instrument to work:

  • Breath pressure controlls overall instrument intensity. No breath pressure, no sound. Varying pressure affects notes regardless of whether they've already started.
  • How hard you press the key controlls the attack intensity. This should be a function of the overall intensity: pressing a key forcefully with low breath pressure should give a less intense attack than with high pressure.

This is close to how the saxaphone synth I've been using works, except that attack intensity isn't treated as a function of overal intensity. If you whack on the keys it will make the 'attack' noises even if there's no breath pressure, and to get it to sound good you need to vary your key press pressure along with the breath pressure to keep an appropriate attack intensity for a given sustain intensity.

I'd like to play around with other sounds, but I haven't yet figured out how to find/build something which breaks down the sound this way.

Comment via: google plus, facebook, hacker news, substack

Recent posts on blogs I like:

Linkpost for July

Effective Altruism

via Thing of Things July 3, 2026

Agentic test processes, LLM benchmarks, and other notes on agentic coding from Galapagos Island

I've been using AI fairly heavily since last November and the whole thing is a funny experience. An agent will do something that, if a human did it, you'd immediately fire them. My reaction, of course, is to act as if this is great and spin up a t…

via Posts on July 3, 2026

Variable fonts aren't universally supported

I make a lot of webpages. I also use Lockdown Mode on iOS and MacOS for a bit of extra security. Sometimes I realize that I forgot to test on Safari and it looks like crap, or I test and don’t notice that there’s been a problem for months (as was the case…

via Home June 27, 2026

more     (via openring)