Antialiasing performance of Muon synths

Official support for: muon-software.com
RELATED
PRODUCTS

Post

I'm very pleased to see that the BLIT-SWS oscillators used in CM101 (and Electron, Tau and Atom Pro too) are giving the sort of performance compared to other synths that we designed them to in Caleb's test over in the main forum. Also, another KVR regular wrote to us asking us why, since the antialiasing performance of our synths is so good, why we don't make a bigger deal out of it. Well, here goes!

Our favourite antialiasing performance test is to set up a plain patch with a one octave pitch sweep with a fairly slow triangle LFO, sort of like a police siren type noise. Export a couple of seconds playing a high note to a WAV file, and then view the results in Cool Edit's Spectral Display mode. When there is aliasing, you will clearly see the harmonics "reflecting" off the top of the display just like ripples in a pond. What you should actually is bright, sharp lines (the harmonics in the wave) rising gradually up, and back down again with the upper ones simply fading off the top of the display when they pass beyond Nyquist.

In this first picture we can see how a synth has used a bandlimited wavetable containing only 50% of the audio bandwidth. As you pitch up one octave, the top harmonic reaches Nyquist, and the synth switches to the next higher wavetable. There's also a glitch each time the table switches.

The result looks terrible, and produces a sound where different notes have a slightly different tone within an octave!

http://www.muon-software.com/temp/rival1.jpg

The second picture (from a different synth) shows how lots of almost full bandwidth tables have been used. The pitch mod range on this synth wasn't sufficient to show how bad it really could have been, but you can clearly see the aliased harmonics reflecting back from the Nyquist point at the top of the sweep. Again, there's a glitch when the synth switches wavetable.

http://www.muon-software.com/temp/rival2.jpg

There was another pretty famous commercial rival synth that we wanted to show, but the spectrum from what should have been a saw wave was so contaminated and aliased we had to assume that there was a bug in their oscillator routine :o

This next picture shows the results from Electron. No aliasing, table-change glitches or abrupt breaks in the harmonics. This is pretty much what you'd see if you sampled the same patch from a real analogue synth.

http://www.muon-software.com/temp/electron.jpg

...and this one's from TauPro (using the glide feature across three notes to slide up and down one octave as it doesn't have an LFO). Tau Pro uses bandlimited wavetables plus 2x oversampling and polyphase decimation for pretty much ultimate antialiasing performance. There's no table change glitches either.

http://www.muon-software.com/temp/taupro.jpg

Regards
Dave

Post

...and here's a picture that really shows the difference between an analogue-modelled VSTi like Electron, and a standard sample-playback hardware synth.

www.muon-software.com/temp/hardware.jpg

Although I'm rather fond of the keyboard in question, the highly visible aliasing is quite astonishing!

However, one of the limitations of sample playback hardware (and software) is that when playing a large multisample and doing pitch modulation, the synth can't switch to a higher pitched multi-sample whenever it needs to. The result is a single, full bandwidth sample has to be shifted up (as shown here), resulting in massive aliasing :cry:

Dave

Post

Very interesting Dave! :o

Post

Just out of curiosity Dave, which of the following statements would you say is closest to your own opinion?

"Anti-aliasing is vital when attempting to emulate analogue synths digitally."

or

"Anti-aliasing is vital when synthesizing sound digitally."

Not trying to start another argument here; just curious to hear your opinion. ;)
M_W_N_P

Post

Wow Dave, very informative. Great to see actually WHY I'm always advocating the Muon oscs as the best in the business :D

I would like to publish this on my new (still top-secret) website as an article, of course with all credit pointing to Muon. Are you OK with that or would you have a problem with that ?
CrimsonWarlock aka TechnoGremlin, Moved to Reason and Rack Extensions exclusively (from Reaper and VSTs) several years ago.

Post

That's a tough one, MWNP.

True analogue synthesisers and FX cannot suffer from aliasing distortion at any point in their signal path. So, if you're trying to create a realistic emulation of an analogue synth or even a flanger or distortion pedal you need to take aliasing into account and design for it. I would therefore agree that antialiasing is vital when trying to emulate analogue audio components (not just synthesisers) digitally.

Taking the second question, you have to bear in mind that sound signals themselves are analogue. Therefore if we are synthesising or modifying any sound signals digitally we need to make sure that our computations are bandlimited to the target sample rate otherwise our processing will definately distort the original audio in all sorts of ways.

If you sample a cymbal crash from a miked-up drum kit at 22khz, the antialiasing filter in your soundcard's ADC will filter out the information that can't be represented at that sample rate. I think there's considerable merit in the idea that all subsequent processes applied to that sampled signal should be equally bandlimited.

It all comes down to a question of price/performance at the end of the day. The hardware synth I talked about in an earlier post probably doesn't have enough DSP grunt to do a decent bandlimited interpolation. With native signal processing each developer has their own idea of how much DSP grunt the user is willing to throw at a particular synth or effect but can never really know.

The clued-up developer has therefore only really has a few choices - use lots of math to get good antialiasing performance from as little CPU as possible (good option), ignore the fancy math altogether and use as little CPU as possible (seems to be the common option chosen!) or use the entire CPU for one note, but boy will it look good in the tests (worst option!).

There's a fourth option, and that is to give the user some kind of "quality" control so they can trade off sound quality against CPU for themselves. This option is sometimes the most difficult because not all DSP code designs have quality parameters that can be exposed to a user easily.

We've designed the Muon stuff to offer the best anti-aliasing performance for the lowest CPU consumption that we can. I'll definately be looking at ways in which a "quality" control can be exposed to the user in the future though.

HTH
Dave

Post

Warlock - I've been putting this material together for a page to be put on our site so I'd rather not, if you don't mind. Besides, people might just think it was a thinly-veiled plug for us if it appears elsewhere!

My suggestion would be, since you are independent, you could test more synths and name and shame. I'd be most interested to read a thorough independent test myself.

Dave

Post

Thanks for your reply Dave,
Muon Software Ltd wrote:True analogue synthesisers and FX cannot suffer from aliasing distortion at any point in their signal path. So, if you're trying to create a realistic emulation of an analogue synth or even a flanger or distortion pedal you need to take aliasing into account and design for it. I would therefore agree that antialiasing is vital when trying to emulate analogue audio components (not just synthesisers) digitally.
This makes perfect sense to me. To emulate analogue sounds, you need to emulate the behaviour of analogue technology. I'm with you this far... :)
If you sample a cymbal crash from a miked-up drum kit at 22khz, the antialiasing filter in your soundcard's ADC will filter out the information that can't be represented at that sample rate. I think there's considerable merit in the idea that all subsequent processes applied to that sampled signal should be equally bandlimited.
Absolutely. I'd guess most of us would want our digital recorders and FX to be "transparent" in their operation...even if only "transparent" in the way that VintageWarmer and Magneto are. :)

With digital synthesis though, the situation is arguably a little different. As a designer of digital synths (unless your stated goal from the outset is to model the behaviour of an analogue synth) don't you have more of a "blank canvas" to work with?

If you aim to synthesize – rather than record and reproduce – sound, then there is no source material to which your device must be faithful. Rather, the "source material" is generated by the device itself, and the only rules governing what kind of material will be generated and how are those that you set for yourself.

Naturally, you won't want to spend time generating anything that you (or your customers) think sounds horrible... ;)

However.

In a post in a different thread, you mentioned that it's a popular misconception that aliasing only occurs at the high and low ends of the keyboard. I don't doubt that this is true. I guess the reason why people (myself included) tend to talk about "aliasing in the high frequencies" is that it's often only on the very high notes (perhaps C5 and above?) that the aliased artefacts begin to become perceptible as distinct, clashing, disonant tones.

In the middle range of the keyboard, while the aliasing presumably still occurs, its perceived effect may be different. Perhaps, as you describe above, the 'timbre' of the patch changes as you play through an octave or two.

In an analogue emulation, this kind of side-effect is obviously extremely undesirable, since this is not how analogue synths behave...but who's to say that, provided the sound has musical potential of some kind, this might not be one perfectly legitimate way for a digital synth to behave? :)

As I say, the only rules are those that you set for yourself...so couldn't a digital synth be allowed to sound...well...digital? ;)
With native signal processing each developer has their own idea of how much DSP grunt the user is willing to throw at a particular synth or effect but can never really know.
Very true. Certainly I appreciate a low CPU load...although I might care less if I owned a faster computer...I don't know.
There's a fourth option, and that is to give the user some kind of "quality" control so they can trade off sound quality against CPU for themselves. This option is sometimes the most difficult because not all DSP code designs have quality parameters that can be exposed to a user easily.
Also, if you present the user with a slider labelled "Quality", calibrated from "Low" to "High", 95% of people will always have it set to "High" anyway, which might make it a little pointless. ;)

However, what if you labelled it "Quality", but calibrated it differently? Perhaps "Analogue" at one extreme, and "Digital" at the other? "Edgy" and "Soft"? "Bright" and "Fluffy"? "Derek" and "Clive"? I don't know. Might be interesting... :?:

Anyhow.

Sorry to take over your support forum with another of my ranting essays. I'll say in my defense that I'm a registered Tau Pro owner, not just some drunk who walked in off the street. ;)

Also, please don't think my comments are meant as any kind of implicit criticism of your products; they really aren't. I'm a big fan of Tau Pro and Electron. They are certainly among the best soft-synths I've tried, and compare favourably with some products costing five times as much. I'd say you do the analogue/subtractive thing as well as anyone. :oops:

I guess the whole aliasing thread yesterday set me thinking about how we – customers, developers, the lot of us – evaluate synths these days, especially now that so many of our studios exist entirely in the digital domain.

I'll get my coat ;)
M_W_N_P

Post

Aliasing is a byproduct of a DSP algorithmn, not a design goal in itself.

Take three totally digital technologies = sample playback, FM and waveshaping.

In the first instance, sample playback, aliasing creeps in as we transpose samples up and down. So if you hold a note on the nice guitar sample, and bend up, you'll be in aliasing territory. This is bad, because when you bend a note up in the analogue world, this doesn't happen. You're not getting out what you put in, there's something else. In essence, the interpolation design has failed and the illusion of "playing a guitar" is lost. Same applies if its *not* a guitar sound though. If you bend a synth sound up an octave, you want it to sound the same but an octave higher, without odd overtones. If you wanted some other effect when you bent up, you'd have assigned the pitch wheel to some modulation destination or other.

In the second instance, FM. There's a fairly straightforward set of maths that will tell you what harmonics you will get out if you frequency modulate some signals. Depending on the output sample rate of the unit some of the harmonics in the resulting signal might be out of range. The resulting, without proper oversampling and filtering/decimation, is aliased.

Finally, take waveshaping. This technique can both synthesise harmonics, and remove them (put a sine through a triangle waveshaper and vice-versa to illustrate). In the case of the waveshaper generating harmonics, it is entirely possible that the harmonics might fall out of the range of the target sample rate and we've got aliasing again. A good waveshaper (like that used in a Line6 POD, for example) will use oversampling to get rid of this.

My point is, that *all* digital technologies can create aliasing because sound is analogue in nature. Until we're all running at roughly 96 times oversamplingt There's no blank canvas and you just have to respect Shannon's theorum of sampling and get on with it 8)

Regards
Dave

Post

Muon Software Ltd wrote:Warlock - I've been putting this material together for a page to be put on our site so I'd rather not, if you don't mind. Besides, people might just think it was a thinly-veiled plug for us if it appears elsewhere!

My suggestion would be, since you are independent, you could test more synths and name and shame. I'd be most interested to read a thorough independent test myself.
You're right, doing an article myself is a better idea. Might be a while though before I get to it.

But if you put it on your own site I can always put a link to it ;)
CrimsonWarlock aka TechnoGremlin, Moved to Reason and Rack Extensions exclusively (from Reaper and VSTs) several years ago.

Post

Muon Software Ltd wrote:Aliasing is a byproduct of a DSP algorithmn, not a design goal in itself.
Yep. I understand this.

I suppose what I keep coming back to is the question of whether side-effects are always necessarily undesirable... :?
Muon Software Ltd wrote:You're not getting out what you put in, there's something else.
Yeah...could be interesting, eh? :)

Maybe I just read too much John Cage at an impressionable age... ;)

"In the nature of the use of chance operations is the belief that all answers answer all questions."

Anyway, thanks for taking the time to reply. It's been interesting to hear about this from a coder's point of view.
M_W_N_P

Post

Hmm. The whole point with aliasing is that you are not getting out what you think you *should* be getting out when you do "X" and you have no control over it. That isn't potentially interesting, it's annoying because you can't control it in any way.

In sample playback, when you transpose a full-bandwidth sample upwards you want it to sound the same, just higher. Without perfect Sinc interpolation or enough oversampling to cover the transposition, you aren't getting what you want as there's some aliasing.

In FM, the mathematics of combining two sine waves are pretty clear. If the output sample rate is insufficient to represent that waveform or there's insufficient oversampling, you'll get aliasing again.

Waveshaping is the worst of the lot. You can put more or less anything you like into the waveshaper and the mathematics of calculating the likely output are horrendous. Again, if you don't have enough oversampling you'll get aliasing with a lot of settings.

Now, on the other hand, if a musician takes all this into account and says, OK, I like aliasing so I'm going to sample everything at 44khz and play it back at 11khz, or setup my FM oscillator/waveshaper so that it aliases 'cos that's musically relevent to my work, then I'm cool with that because it was a *conscious* choice to make it that way and the musician is in control of when it aliases and how much by.

However, in most cases people aren't getting what they think they're going to get out of a digital sound process because of aliasing, and poor technology removes the choice factor. You can't choose whether or not you're going to get it and you can't remove it in any way once its there.

Cheers
Dave

BTW - Actually, I just thought of a way in which musicians can choose whether or not they want aliasing. Choose which soft synths and FX you buy carefully. Easy! :wink:

Post

Muon Software Ltd wrote:Now, on the other hand, if a musician takes all this into account and says, OK, I like aliasing so I'm going to sample everything at 44khz and play it back at 11khz...
Aah...now you're talking... :D
Muon Software Ltd wrote:...'cos that's musically relevent to my work, then I'm cool with that because it was a conscious choice to make it that way. However, in most cases people aren't getting what they think they're going to get out of a digital sound process because of aliasing, and poor technology removes the choice factor.
I think I see your point here.

So, from your point of view, it's as much a customer service issue as a technical one; the user isn't getting what he/she thought he/she was paying for?

I can appreciate why you'd be concerned about that.
Muon Software Ltd wrote:BTW - Actually, I just thought of a way in which musicians can choose whether or not they want aliasing. Choose which soft synth you buy carefully. Easy! :wink:
Quite so. ;)
M_W_N_P

Post

I wouldn't go so far as calling it a customer service issue :)

All I'm saying is that users should be given the choice here.

If a soft synth or FX is designed in such a way that it aliases, the user has no choice at all, they get it if they want it or not.

However if the softsynth or FX is designed in such a way that it doesn't have aliasing, the user can always add some later if they really want to with some kind of quick'n'dirty sample rate convertor. Heck, if enough people wanted such an "effect" we'd write one. :D

Dave

Post

Muon Software Ltd wrote:...Heck, if enough people wanted such an "effect" we'd write one. :D

Dave
We already took care of that with Trasher II which contains a quick'n'dirty sample-rate reducer to lower the samplerate AND put aliasing in. That's why it's called Trasher :D

Cheers,
Mike

Locked

Return to “Muon Software”