Digital Media Audio Blogs > Audio

Improving bad breath and wind control


Musicians who buy synthesizer wind controllers, such as a Yamaha WX-* or an Akai E*I, are often soon disappointed, not because of the controller's quality or their possibilities, but because they just don't work well with conventional MIDI synthesizer modules.

Now that VST and other plugins are common, there has been an enormous explosion of new synthesizers. You would hope the situation for wind-controller musicians would have improved, yet the last decade of VSTs and plugins are almost without exception unsatisfactory for use with wind controllers.

So I thought I would make up a little blog entry giving some extra information that fellow designers of VSTs could use, to make their synthesizers friendly to wind controllers and breath controllers. I'll use some SynthEdit schematics, but the general ideas should be pretty independent. ((I'm planning to put out some actual SynthEdit modules for this in the near future, so this blog is mainly about what I have learned through experimentation with different architectures)

The problem

Synth.PNG


First. lets have a base diagram, showing a typical MIDI mono synth. Where it says "oscillator", it could of course be any kind of complicated or simple sound engine. A sound-generator ("Oscillator") going through an amplifier ("VCA") then going though some effects, with the VCA being controlled by an envelope generator ("ADSR") which is triggered by the MIDI Gate signal (note on/off) and with level or peak of the ADSR controlled by the MIDI Velocity signal, to give keyboard dynamics.

Now very often, when people want to add breath control, they merely add an extra VCA section in series, like this.

SynthBad.PNG

This seems the obvious thing to do, however it actually is the wrong way to do things. (I admit it is better than nothing,but not much better.) The trouble is that for wind controllers and players, intricate control of the attack portion of the note or line is really important: you need to be able to have hard and soft attacks at all levels of volume: a hard attack on a soft note and a soft attack on a loud note, not just a soft attack on a soft note and a hard attack on a loud note. Without this, a major weapon in the wind-player's armory goes unused, which will be unsatisfactory for the player and less

From an analog synth point of view, MIDI wind controllers send five basic signals from a wind controller: the note number, the gate, the velocity, the breath control and pitch bend. (MIDI actually piggybacks them, so that there is a note-on code which has a velocity code with it, and a note-off code: MIDI sends events rather than continuous signals. A continuous variation such as breath control or pitch bend is sent as a sequence of events.)

The breath control events from a wind controller take a little time to reach full level, so there is always a slightly slow attack. And since many people start from using synth presets, if the ADSR (envelope) of the that preset already has a little slow attack, this is compounded by the slow attack of the MIDI breath control signal.

The result: many presets are unusable, and it is impossible to get crisp initial attack. You can very often hear this in real examples of people playing wind controllers with standard synths: either they use quite fadey-in sounds, or hard attack sounds (using the gate to control the VCA and the breath control on the VCF, for example) but nothing much in between. Wind controllers typically have a selection mechanism so that as well as sending on MIDI CC (Continuous Control) 2 Breath Control, they can also route the same signal to MIDI Aftertouch or to the MIDI Volume control.

This is most unsatisfactory: sure you get really exquisite control of notes and lines once they have started, through the breath control, but maddeningly bad control of the start of notes and lines. It severely and unnecessarily limits the possibilities of the wind controller.

A Fix

The fix is surprisingly simple: instead of treating the breath control as a series effect, mix it in parallel with the ADSR. Use the ADSR with a tiny or no attack, a small "pluck" delay, no sustain and tiny or no release, with the most extreme velocity sensitivity possible. So the ADSR provides just the hard start portion of the attack needed before the breath control can kick in.

SynthNBreath.PNG

A setup like this allows the wind player to have "who-do" alternation of tonguing/blowing (the first a fast fade in with low velocity, the second a fast decay with hard attack from high velocity) at all levels. And what is nice is that it can be implemented transparently with existing keyboard-based MIDI architectures: as a parallel channel it doesn't interfere.

Response

Once this basic architecture is established, the designer can think of providing some extra support to make a really playable VST. The first thing to do is to provide some kind of user-selectable response customization, both for the breath control and for the velocity control to the ADSR.


SynthNBreath2.PNG

The most important of these is the breath response. It may well be better to merely provide a half-dozen built-in settings for the user to select from, than a graphical interface, especially to allow the player to change the response during a piece.

But what kinds of responses are most useful? A mathematician may be inclined to think, well, lets have a linear response and an exponential response, and a concave response without giving it much thought. When we think about responses for electronic music, one thing that is perhaps under appreciated is that players, while they want dynamics, also want evenness of tone: this is because they instrument needs to sit in a particular position in the mix, and often we want the dynamic extremes to be exceptions rather than the rule: the monomaniacal fondness for compression that many producers or engineers comes from a desire to keep sounds in balance, and selecting a response to fit this need for balance is helpful. To put it bluntly, if an instrument swings too uncontrollably in level, it will just end up being compressed, which rather blunts our weapon!

Another reason why a variety of response is useful is because that is the way physical instruments are too: you can have a soft bassoon, however getting the reeds vibrating does require a certain amount of initial energy (and it is one of the skills that performers have to learn, for many instruments: how to get a super soft note.) At the other end, when after a certain level, plucking a guitar string with more force merely changes the tone rather than the volume as such.

So here are some breath responses that might be useful to provide. This first one is good for soft sounds, and sounds with a lot of swells. However, if your piece needs consistent medium or loud passages, using this kind of breath will result in you running out of air fast.

Response1Low.PNG


This next response is useful for general performance.

Response1Mid.PNG
This next response is useful for solos above a racket: full on.
Response1Hi.PNG

A common kind of material has the player playing notes at one level with occasional stabs or emphasis. So a two-level response is useful.


Response2.PNG


Finally, a three level response like the following can allow p, mf and ff playing for pieces that suit it.

Response3.PNG

Creamy Smoothness

So that is the basics. Of course, there are many wrinkles and alternative architectures that are useful. For example, I use a system more like the following where a very low velocities, the ADSR doesn't provide a hard attack (even the low-level that would occur due to the low velocity.) That makes for smoother, less erratic fade-ins and soft-attack playing.


SynthNBreath3.PNG

Another difference for the system I have been working on is that I don't actually mix the ADSR and breath control signals: I take the maximum of them. However, these are small details compared to the bigger picture.

Finally, a plugin designer who really wanted to make help the playability of the plugin with wind controllers might also consider making available a modulations signal (to the rest of the synth, in particular to filters) using just the top 25% of the breath control signal. (This is in addition to providing the full breath modulation control signal.) Many kinds of wind instruments exhibit a change in tone when overblown rather than a level change, and this kind of signal can be really useful.

Categories





AddThis Social Bookmark Button



Comments (7)
Read More Entries by Rick Jelliffe.

7 Comments

Rick Jelliffe said:

Danny: Thanks for that: the Neumixturtrautonium turned out really well, much better than I expected. The tricky part is that it requires a really tight coupling between the arrangement and the sound, because of all the chordal harmonics: like some extreme drawbar settings on a Hammond too.

The thing to do seems to be to

1) Make a nice patch or sound. If it is an extreme sound, then the following may be necessary:
2) Try that sound in all notes in the appropriate scales and keys
3) Where there is a grating inharmonicity, select the II or III variant (using the modulation wheel) and make the most minimal adjustment to change the subharmonic to a less grating one)
4) Remember to adjust the modulation wheel whenever you play the note (to avoid the wolf tone).

Cheers
Rick

Danny said:

Quick note I had to drop in - we've been doing pretty straight r&b stuff recently (er, the 60's garage r&b, not glossy dull 2000s), but I really wanted to go for something a bit more dancy. So I just got a thumping maniac rhythm, wanted a correspondingly hardcore synth sound. Did a cheesy bassline with an old cheesy sound, but it didn't work. But I'd copied your Neuro*?* synth across the other day, and so I dropped it into that - yay! It rocks. Perfect. Lurid.

Now I've just got to figure out what that plophony's business is all about..

Danny said:

Many thanks for the links Rick - wonderful material. I should have been clearer about what I had in mind though. I've already got an Akai MPD24, what I lack is a good soft synth/sampler to plug it into (I've got a couple of shrinkwrapped VST drumkits, but they're a bit lifeless).

Rick Jelliffe said:

Danny: There are quite a few DIY drum synths around. For the contoller, there is the Kraftwerk patent for example. And the Electronic Peasant has some nice ones.

A consistent theme for drum pads is the problem with isolating one drum from another. A more interesting problem would be how to have a drum controller that allowed the sonic possibilities of brush-playing!

For DIY synths, probably the state of the art are the Thomas Henry designs, the UD-1, the Clangora and most recently, the Mega Percussive Synthesizer.

Danny said:

Good stuff Rick, keep 'em coming!

"Interesting" breath modeling does seem rather hard. Even a simple harmonica (blues harp) has incredibly complex variations with the amount and style of blow, and they're going to be different from say a penny whistle. (No coincidence that those are the only wind instruments I possess :-)

I've got a less demanding target next on my todo list (after 'finish the last thing off') - making a half-decent drum pad controller. I'm sure pretty good ones already exist, but having SynthEdit available...well, you obviously know the feeling. Anyhow I suspect your thoughts here on using the dynamics will transfer nicely.

Rick Jelliffe said:

David: Actually, I have never found *any* that get it right, which is why I make my own in SynthEdit. (Even Yamaha modules like the TX81Z which have breath patches aren't very good: I expect the VL70M would be much better, though, because of the way that physical modeling works: listening to the VL70m demos I don't hear this kind of problem.) My hope is that by publishing this, it may help VST developers to add on the appropriate side-channel: it is not difficult technically, and it would be great if more mono-synth developers added something like this.

I'll be putting out an open-source version of the SynthEdit module to make it easy for SE developers to add it in to existing synths, in the coming week. People using SynthMaker or the various virtual modulars can easily work out similar block arrangements.

My plan is to fix up some of the synths I have made for private use and put them out as VSTs. Probably a version of the neumixturtrautonium VST for example.

I was a little disappointed in even with this improved architecture when articulating sounds from a Soundfont player, however. Some sounds, particularly oboes and pipe/reed instruments, were absolutely wonderful, but most were not so good: sampled and rompled sounds already have their own dynamic shape which can fight against the one that the musician wants to impose using the wind controller. I think that is why the pipe and reed sounds worked well: they have a fairly constant input level.

I think we still need more work on the best way to use wind controller information with sampled/rompled sounds such as plucked sounds: for example, should there be some kind of level-averaging system to even out the level from the sound generator from minor variations, so that tremelo only comes from the breath control and never the sound-generator? Should the mix between sound-generator and breath control be itself controlled by an envelop generator, so that for example at note-off the sound reverts back to the original source rather than the breath control?

Using the architecture above, I found that setting the ADSR decay time had a pretty important impact on the immediacy of the sound: an 1/8 second decay was good for brass (giving that plosive brass "double-hit" attack effect), while a 1/4 second decay was better for strings.

Thanks for sharing, Rick. Can you recommend any current VSTis that get it right? As a former French horn player, I've been looking for an excuse to haul out my BC3 breath controller.

Leave a comment


Type the characters you see in the picture above.

Topics of Interest

Related Books

Archives


 
 


Or, visit our complete archive.  

Stay Connected