So, Natural Studio and Muon..?

Official support for: muon-software.com
RELATED
PRODUCTS

Post

I see from Douglas Wates' ns_kit site that he's had you working for him on an engine to make the Natural Studio drum kit really shine.

Is this going to be using the Tachyon engine..? Can you reveal any more details..?

Post

So far, the plan is that the NS Kit instrument will be based on a disk-streaming version of the Tachyon engine. We're just starting to get to grips with the spec so apart from that there's not alot to say :lol:

I did see your post over on the Natural Studio forum though, asking for technical comparisons between SFZ and Tachyon. What sort of information are you looking for?

Regards
Dave

Post

I was thinking in terms of sound quality - particularly any aliasing issues (which, with ns_kit, I see as a non-issue!). You've already said it's disk only - the only question I have on that is how you buffer.

(I suppose I could go read about Tachyon first... ;-) )

Post

You're asking Muon about aliasing issues!? They're about as anal as you can get on the issue of aliasing, which is why I had hoped to see Dave make some comments in my thread on aliasing. Check out this page from their website.

Besides, isn't aliasing more an issue for pitch shifting notes? I wouldn't think it would come into play so much in a drumkit...

Post

The only thing I could think of was pitchbending the toms...

I suppose CPU utilisation comes into it in that case. With sfz+ (in draft mode), my XP2800+ flakes out at about 180 layers. Would tachyon be better or worse?

Post

Here's a surprise for you :D

Tachyon doesn't include any anti-aliasing technology when operating in realtime mode.

In fact, it only uses either Nearest Neighbour, Linear or Cubic Hermite interpolation (depending on what the client specifies, default is Linear). None of these types of interpolation are bandlimited and I would expect Tachyon to behave quite badly compared to a highly-antialiasing sampler like Jeskola XS-1 or SFZ in its highest quality modes. We decided to prioritise performance, and Tachyon compares well with the competition in this respect.

I ran some tests today with a 72mb soundfont (converted from Akai's Splendid Piano using Awave to DS404 and Soundfont) on a spare 512mb Athlon XP1700+....the results seemed to indicate that Tachyon's performance was equivalent to a point in between SFZ free on "poo-ish" and SFZ free on "duh-ish" quality (the bottom two settings). Not a very scientific test I know, but it reflects how an end-user will experience the performance of these two engines...

Having said that, we're building in a super-high quality offline rendering mode which will be as anally alias-free as anything else were've ever done. So when you render to disk the resampling will be totally pristine down to -96dB or beyond. This approach will give the best compromise between realtime performance and sound quality.

Hope this helps
Dave

Post

which is why I had hoped to see Dave make some comments in my thread on aliasing
Which thread was that?

Cheers
D

Post

Muon Software Ltd wrote:
which is why I had hoped to see Dave make some comments in my thread on aliasing
Which thread was that?
http://www.kvr-vst.com/forum/viewtopic.php?t=36735

Post

There's not really much I have to add to that thread. Whenever discussion of aliasing arises you always get somebody popping up and saying that they like it, its musical and so on and so forth. Personally I don't see, bearing in mind the maths, how it can be musical in the context of a harmonic signal but there you go. Anyway, these type of comments tend to push the discussion rapidly away from the basic fact that an analogue synth oscillator won't alias, it is simply impossible (unless of course you're listening to it through a nasty A/D convertor at too low a bitrate of course)

So, if a developer is selling a particular synth as a realistic analogue emulation I would say it should definately not exhibit any aliasing - otherwise it isn't a very good model of an analogue synth at all.

However, there are plenty of digital synths, samplers and ROMplers that exhibit aliasing. Since they're not even trying to be analogue emulations I don't really think this is too much of a problem at all. With a well designed soundset nobody will really notice after all.

Maybe the lines of distinction are getting a bit blurred. For example, if you have a subtractive synth design with 100 source harmonically-rich steady-state waveforms, is it a digital synth or is it an analogue emulation? the mind boggles :shock:

Regards
Dave

Post

Muon Software Ltd wrote:There's not really much I have to add to that thread.
How about an answer to the original question? What is aliasing and how would someone like me be able to spot it?

The thing about aliasing (as far as I understand it) is that it adds (or changes?) notes to be other notes. So the harmonics would be out of tune, or some such. Is that right? Or close?

Post

Aliasing happens when you sample a sound containing high frequencies at too low a sample rate. It also happens when you perform samplerate conversion on a sample that contains frequencies that cannot be represented at the new samplerate using a sample rate conversion algorithm that isn't adequately bandlimited.

The graph on our website illustrates the first case. The yellow sine wave is the source signal. The white lines show the sampling intervals. The green line shows the signal reconstructed again after sampling and it comes out at a *lower* frequency than the source wave. This is called an "alias" of the original wave, and its frequency is mathematically related to the sampling frequency. In fact, its frequency is given by the formula:-

Aliased Freq=(Sample Rate/2)-(Source Freq - (Sample Rate/2))

So if you try to sample a 1000 hz wave at a sample rate of 1800hz, the resulting aliased waveform will be at 800hz.

If that wave was harmonically rich, it would now have some spectral components (the aliased harmonics) that were no longer in mathematical relationship to the fundamental frequency. The frequency of the aliased harmonics is actually related mathematically to the sample frequency, and the harmonic relationships in the wave will all be spoiled. Depending on the amount of aliasing, we may perceive the waveform as atonal, incorrectly pitched, or a nasty metallic mess.

You can use DS404 (or quite a few other samplers) to demonstrate the second case - sample rate conversion that isn't properly bandlimited.

Load a sawtooth wave recorded at C3 into your sampler, and create a single zone for it spanning the whole keyboard. Play up from C3 and by the time you get to the top octave it'll no longer sound anything like a sawtooth wave at all, it'll sound like a bell! if you play down from C3, you'll hear the sound getting progressively duller and dirtier - however this isn't aliasing, it's just the raw sound of the linear interpolation DS404 doing its job. If you email me I'll send you a tiny DS404 patch that illustrates this. If you watch an FFT display while playing up the keyboard you'll actually be able to see the aliased upper harmonics "bouncing" off the right hand side of the graph and starting to blend with the real harmonics. On the spectrograms on our website you see this as a mirror image of the pattern, crisscrossing down from the top of the graph.

So why does this happen? it is pretty much down to the fact that linear interpolation is not bandlimited. In fact, its a cheap and dirty way of performing sample rate conversion that is performed totally in the time domain and ignores the complexities of what's actually going on in the frequency domain. With some samples however it can sound OK, and with others it will sound terrible - the answer lies in the the relative loudness of the upper harmonics in the sound and the direction of tranposition. If you tranpose a sample with lots of strong, loud high harmonics (like a pure sawtooth wave) UP it will sound aliased. Tranpose it down, and you won't hear any aliasing, just the increasing levels of noise generated by the interpolation itself. In the sawtooth wave patch I mentioned earlier, it was sampled from a synth with the lowpass filter fully open. However, this has the rather nice side effect of reducing the level of the upper harmonics quite a bit, increasing the range I can safely pitch the sample up.

Some samplers like Jeskola XS-1 and SFZ make a pretty good stab at reducing aliasing by employing a more complex form of interpolation algorithm. If you look at George's (DiscoDSP) graphs its not hard to spot which samples have antialiasing interpolation and which ones don't. Personally we're not worried about aliasing in samplers or digital synths. What concerns us more is aliasing in synths that claim to be analogue emulations as I explained in my previous post.

Anyway, hope all that helps.

Post

Thank you very much, Dave!

I hope you don't mind me asking more... because I'm going to!

If I'm understanding correctly, it seems as though the way to get rid of aliasing in synths (as opposed to samplers) is to just get rid of any frequencies above a certain point, right? If so, what stage would this be done at? More than one? If two oscs have their higher freqencies removed, might they not create more when they are combined? And wouldn't effects potentially do the same?

Post

There are a number of basic architectures used in digital synthesisers, and each has their own approach to handling aliasing.

The most common is the wavetable. This is a set of looped samples, typically one per octave. In some cases synthesiser designers generate the samples in the wavetable using fourier synthesis, in other cases they are sampled from real synths. It doesn't really matter how they get there :)

Aliasing occurs when tranposing a sample up that has strong high harmonics. So the wavetable designer has two choices - they can either make sure they only ever transpose their samples downwards (thus avoiding any possibility of aliasing, but increasing the noise resulting from their interpolation algorithm) or they make sure that their samples don't have any strong high harmonics within the range that would alias if the sample were tranposed. The second method is more common I think, and involves working out how many semitones you need to transpose the sample up, and then filtering off an equivalent amount of high frequencies from that sample in the wavetable. So if you need to tranpose a sample up one octave, that is halving its sample rate. If you halve the sample rate (SR/2) that would move the Nyquist point down to SR/4. Thus you need to make sure there are no strong harmonics above SR/4 in the source sample.

This works rather well for a lot of synths. In fact, if you generate a wavetable with one sample for each note on the keyboard you only need to filter a small amount of the high frequencies off the very top of each sample and it'll be outside the range that people will notice. If you don't have enough samples, the transitions will start to become a bit obvious as you play up and down the keyboard. A good example of this is Reason's Subtractor synth. The wavetables this synth uses only appear to have one sample per octave and you will hear the oscillator getting brighter and brighter as you play up to the start of the next sample, and then going dull again. Our own Muon Atom does this too (but heck, it was written in 1999 :D)

Wavetables can be further refined with oversampling. Oversampling involves running the internal synth engine at 2x the external sample rate, and then sample-rate-converting the results back down to the target output rate using a powerful filter/decimator. There are quite a few benefits to be gained from doing this but even 2x oversampling won't make perfectly alias-free results if the waveform generation has been naive. We use 2x oversamping in Tau Pro, combined with a form of wavetable synthesis and hermite interpolation to get a very solid alias-free signal even if we're modulating the harmonics, doing hard sync or ring mod as Tau Pro can.

There are of course other forms of oscillator that don't rely on wavetables. In Electron for example we use a form of bandlimited algorithm that creates alias-free waveforms without wavetables, oversampling or anything like that. A similar technique is apparently used by Iblit and Polyiblit amongst others.

Hope this helps
Dave

Post

Muon Software Ltd wrote: So, if a developer is selling a particular synth as a realistic analogue emulation I would say it should definately not exhibit any aliasing - otherwise it isn't a very good model of an analogue synth at all.

However, there are plenty of digital synths, samplers and ROMplers that exhibit aliasing. Since they're not even trying to be analogue emulations I don't really think this is too much of a problem at all. With a well designed soundset nobody will really notice after all.
Huh? So the acoustic instruments that samplers are often intended to emulate DO naturally exhibit aliasing?!

Of course resampling won't be an issue if the samples are recorded and played at the same pitch. But what if you're using 96khz samples? Or recording at 96khz, using 44.1khz samples? (Not that I'd use anything other than a multiple of 44, but it happens ;) ).Or using pitch bend? Or don't have a sample for each note?

I can definitely hear superior quality sound coming from sfz+ at medium quality than from Kontakt, for example.

Still, cool that you've at least included a HQ mode for rendering. But why exclude the option for realtime mode? Or at least some intermediate quality option. A little bit of antialiasing goes a long way to my ears.

P.S. Will there be an integrated mapping editor for Tachyon? And will it be better than the DS-404 editor?
Last edited by griels on Wed Feb 25, 2004 12:45 pm, edited 1 time in total.
Music with dinner is an insult both to the cook and the violinist.

Post

Huh? So the acoustic instruments that samplers are often intended to emulate DO naturally exhibit aliasing?!
Of course not. But by sampling an acoustic instrument are you really seeking to "emulate" it? I would have said physical modelling seeks to emulate acoustic instruments, whereas an S+S style rompler is something different entirely. That's just semantics though :D

You should be aware however that you can safely tranpose many samples up using simple linear interpolation without causing aliasing simply because the sample doesn't have any significantly loud high frequency content.

For example, I just took a look at the harmonics of a piano sample at C6. The peak frequency present in the sample was a spike -80dB down just above 16khz. I could easily tranpose this sample up an octave and only get a tiny, tiny amount of aliasing. It wouldn't matter if the sample was originally 96khz at played at a lower rate either - the piano itself just doesn't generate significant amounts of high frequency energy to make anything above 20khz that could alias in such circumstances.

Careful patch programming also plays a significant part when you're talking about ROMplers. Whenever I do a DS404 patch, I also always set the topmost note in the zone to be the same as the root note. In this way I can guarantee there will be no aliasing when the patch is played normally (though I could probably be less cautious and pitch the sample up a fair bit as already demonstrated). Obviously if you apply some extreme pitch modulation (+1 octaves or more!) you'll probably hear some aliasing but in doing so you've gone way beyond "emulating" an acoustic instrument.

Regards
Dave

Locked

Return to “Muon Software”