Trance Forum | Stats | Register | Search | Parties | Advertise | Login

There are 0 trance users currently browsing this page
Trance Forum » » Forum  Production & Music Making - What plugin synth has the least aliasing (especially in the oscs)?
← Prev Page
1 2 3 4 5 Next Page →
First Page Last Page
Share on facebook Share on twitter Share on StumbleUpon
Author

What plugin synth has the least aliasing (especially in the oscs)?

psytendo

Started Topics :  1
Posts :  73
Posted : Mar 2, 2008 20:04
heretical wrote:
"G2 has the same character as every other anti aliased soft synth"

About the nords, most of the Nord character comes from the nord filter and the DACs.
But i have gotten true non-nord sounds out of my modular, you just need to re-think synth design.

I imagine the same is true for the G2. Its about skills.
If you think the G2 sounds the same as other synths then you are doing something wrong! (or the guy that programmed the pach )
There is so much potential in there. A distortion here and there realy help to shape the sound and that's just one trick you can use.
heretical


Started Topics :  1
Posts :  77
Posted : Mar 2, 2008 20:33
Quote:

But i have gotten true non-nord sounds out of my modular, you just need to re-think synth design.




Well actually this is my basic point in reverse. You can get non nord sounds out of the modular 1 but you can't get the nord sound from anything else.
Thats what I mean by the G2 sounds like everything else. You don't hear the G2 and think "that sounds like the G2". You might hear something that because of the patch design, it could only be done on the G2 but the signature character is lost. I don't believe they redid the entire signal patch for the G2. Mostly just the oscilators have been brought up to "modern" standards.
Like with reaktor there is a legendary patch for 2.3, heishere by lazyfish. Anyone that used it under 2.3 knows it was ruined in later versions. 2.3 had mathematically pure oscilators so they aliased to all shit. A patch that did some crazy FM stuff like heishere can no longer be done in reaktor 5 no matter what you do. The bandlimiting or whatever just doesn't allow for some of the harmonics or whatever that could have been done in 2.3.
No one right now would come out with a synth and market it as "a synth that aliases". Aliasing has become a dirty word, even though we have thrown out a whole world of sounds with our band limited oscilators.
I guess this is just what got me about the original post, I can't find softsynths that alias enough!!
psytendo

Started Topics :  1
Posts :  73
Posted : Mar 2, 2008 20:37
@ undertow:

"I think what happens is that each sample value in the OSCs gets replaced by a (windowed) sinc function centered at and scaled to the sample value. Then the output of all the sinc functions are summed and you have an alias free output signal. "

Hmm, that seems to work, but you'd have to produce the wave in a higher samplerate in the first place.
But where does the 'Interpolation' come in?
It seems to me that this process is actually the reverse of interpolation since you first generate at a higher rate and then reduce the samplerate so samples are removed instead of added (as is implied by interpolation).

Anyway, this is becoming a discusion about the meaning of the word interpolation. The way you describe the use of the sinc function would indeed reduce aliasing and is propably what Massive etc are doing.

"Also I am not sure you can really use a linear phase filter for this particular purpose as AFAIK, you need a minimal length of material to be able to calculate the filter. I don't think this is practical for synthesis. Not to mention the latency... "

Yes, this latency is what i was wondering about earlier.
I can imagine that a windowed sinc function would not increase latency by more than a few hundred samples or so, but i have no idea how good such a short window would actually sound

"Well it does to a certain extent as all linear phase filters have pre and post echo. (ringing). That is one reason why minimal phase filters are often used for various purposes (including sample rate conversion).

Also I am not sure you can really use a linear phase filter for this particular purpose as AFAIK, you need a minimal length of material to be able to calculate the filter. I don't think this is practical for synthesis. Not to mention the latency... "

Yes, the ringing.
But isnt that true for all FIR filters?
I dont know the subject THAT good and have seen the word 'minimal phase' only once some time ago.
So you say minimal phase filters have less ringing and latency? That might not be so bad..
I used the wordt 'linear phase' just to distiguish between realy non-linear phase filters so anything close to linear would propably work as well and indeed might give a little sonic character to it.

"No I meant non-linear phase filters. In other words the phase of the oscillators are already altered by theses (resonant) filters and no one is complaining about that AFAIAA. "

No, no, of course not. Thats why they sound so good!
But one important thing about the main filters is that you can mess with the cutoff.
I just think that in the case of an anti aliasing filter phase shifts would be unwanted (if the change in phase is too much, anyway)
But i'm not saying that it sounds bad per se

"My point was that you can not really use filtering. As soon as the signal is created, it needs to be alias free. It can not be filtered after the fact. (Well maybe if you use insane oversampling but that to me seems like the wrong solution to the problem)."

Agreed that this is not ideal but for some designs (working with sampled waves as a basis) this is inevitable. Its propably why some synths eat up so much cpu.
The other option would be the aditive synthesis one we discussed earlier.
I'm not sure what other option there are to generate a correctly bandlimited wave.

Nice discussion tho!
psytendo

Started Topics :  1
Posts :  73
Posted : Mar 2, 2008 20:50
@ heretical:
"Thats what I mean by the G2 sounds like everything else. You don't hear the G2 and think "that sounds like the G2". You might hear something that because of the patch design, it could only be done on the G2 but the signature character is lost."

What i mean is that i can make my own character with a G2!!!
Thats very different from saying there is no character.
You have to design your own character!.

And it is very important to understand that aliasing or other artifacts are just SOME possible things that can add to the character.
If it was the only one then all analog synths would be without character!

"Aliasing has become a dirty word, even though we have thrown out a whole world of sounds with our band limited oscilators.
I guess this is just what got me about the original post, I can't find softsynths that alias enough!!"

To me its not a dirty word, i only want to have a synth that doesnt alias (and is still playable .
It's just another tool that i want to use.

think of this:
I'm saying that i'm looking for a ultra comfortable car.
Then you say who needs it, i like cars that go the fastest.
Then i say yes, but i already have cars that go fast, now i want a comfortable one.
Then you say Are you mad? the faster the better, man screw this comfortable oldsmobiles. Go FAAAST!.
Then i say again, yes, i understand what is so nice about going fast and i like it too but that's not what i want right now.
Then you say... etc, etc, etc

Do you understand what i'm talking about?
heretical


Started Topics :  1
Posts :  77
Posted : Mar 2, 2008 21:11
I understand what your saying but I guess I disagree that you can make your own character.
There is nothing you can do to get that distinctive of a character in the way that a virus filter sounds like a virus filter no matter what you do to it.
Honestly, I think when people that are not synth heads say that psytrance all sounds the same now they are percieving the banality of the sound of modern synths.
Koxbox sounds like Koxbox because 90% of the sound is the synth character of the prophecy.
GMS remixing koxbox still sounded like GMS because of the nord lead.
All synths are built for comfort now. It seems to me we have forgot what it is to even go fast to keep with your analogy. I guess my complaint is that with all this processing power we should be able to go both fast and in comfort at this point.
UnderTow


Started Topics :  9
Posts :  1448
Posted : Mar 2, 2008 21:20
Quote:

On 2008-03-02 20:37, psytendo wrote:
@ undertow:

Hmm, that seems to work, but you'd have to produce the wave in a higher samplerate in the first place.



You don't actually. This is the trick: You match the frequency of the sinc function yopu use with the sample rate so that the sinc function wave is at a zero crossing for all the other sample values. Tadaa!

(Something like this: http://www.csounds.com/ezine/summer2000/internals/sincinterp.jpg )

Quote:

But where does the 'Interpolation' come in?



I suppose it is called like that because you interpolate the sinc functions.

Quote:

I can imagine that a windowed sinc function would not increase latency by more than a few hundred samples or so, but i have no idea how good such a short window would actually sound



Well if what I describe above is how Rapture does it, pretty damned good IMO.

Yes, the ringing.

Quote:

But isnt that true for all FIR filters?



From my understanding, linear-phase FIR filters have their coefficients symmetrical mirrored around the center coefficient. This is why there is as much pre ringing as post ringing. Minimum phase FIR filters are not symmetrical. The center coefficient is closer to the beginning so you still have post ringing but much less pre-ringing.

I believe it is the pre-ringing that is most objectional to our ears as it smears transients and peaks in an audible way.

Quote:

But i'm not saying that it sounds bad per se



I would have to dig out MatLab or launch Vicual C++ to do some tests... I couldn't be bothered.

Quote:

Agreed that this is not ideal but for some designs (working with sampled waves as a basis) this is inevitable. Its propably why some synths eat up so much cpu.
The other option would be the aditive synthesis one we discussed earlier.
I'm not sure what other option there are to generate a correctly bandlimited wave.



Sinc interpolation! Hehe

Quote:

Nice discussion tho!



Indeed.

UnderTow
psytendo

Started Topics :  1
Posts :  73
Posted : Mar 2, 2008 21:31
heretical,

"I guess my complaint is that with all this processing power we should be able to go both fast and in comfort at this point."

I started this thread because i have dificulty finding the comfortable synths.
It seems that most plugs created over the past 10 years just try to go fast

And altho you cannot recreate a virus filter with a G2, you can realy invent your own character. Emulating other synths is just lame.

Saying that reactor has become too good is also strange since you can write your own dsp code and basically add any feature your cpu can handle. Since any character in digital synths is just software (except for the DAC, which has its own character) you could do the same in reactor. Why complain about the existing oscs being too clean when you can write your iown n Reactor?

Speakafreaka
IsraTrance Junior Member

Started Topics :  18
Posts :  779
Posted : Mar 2, 2008 21:49
Thought I might chip in about wavetables and how I build em, because it strikes me as relevant.

Basically, the maths is, I generate an array of numbers from a .wav file.

Inevitably, the more numbers in the array for a given .wav, the more accurate the reproduction of the file. Obviously, therefore I sample low pitch waveforms.

So now I have an array of numbers.

I read through this array - remember this is just maths - not connected to sample rate at all. The speed at which I read through the index determines 'pitch'.

At this point I interpolate the output of the array by examining the two values either side of the point I am taking a sample at and averaging them.

This is low pass filtering!

I am taking a sample of the array at whatever sample rate the system is occuring at, however, I'm constrating change to exactly half sample rate.

This will still produce what most people incorrectly call 'aliasing' however, as my method takes no account of how far inbetween the two samples I am for example (linear interpolation) or better yet, 'guess' at the shape of the waveform such (spline interpolation). You could think of different methods of interpolating as different LP models.

Naturally, the more complicated the form of interpolation, the more intensive the CPU processing.

At least, this is my understanding of it (which may very (very) well be wrong). This field is like a black hole, the further I look into it, the more I realise that many of the concepts are deeply ambiguous and often misleadingly presented.

Basically, you are going to find it pretty tough to find a synth out there that doesn't produce the effect you are talking about either more or less.

Lets take Massive for example - this synth does alias. Take a sine wave and sweep the pitch down from very high using a envelope slowly. Quite clearly, you can hear something going up too.

Yes, maybe you can get rid of this problem on a pure analog synth, but how are you going to get it into the system... there is going to be conversion to digital at some point if you ever plan to record to CD. In which case, kiss your silky smooth uppers goodbye!

Think of this - you cannot represent a change of value in a 44.1khz system at anything greater then 22.05khz - the low pass filter is hard wired into the format.          .
http://www.soundcloud.com/speakafreaka
psytendo

Started Topics :  1
Posts :  73
Posted : Mar 2, 2008 22:01
@ UnderTow:
"Quote:


But where does the 'Interpolation' come in?



I suppose it is called like that because you interpolate the sinc functions."

I see,
But the article with the jpg is still talking about a way to nicely upsample a sampleset so it is introducing extra samples by use of interpolation.

I think what they are talking about is the extra aliasing you get when you use linear interpolation. Linear interpolation introduces a completely new level of aliasing since it introduces nonlinearities with an infinite bandwidth but Sinc interpolation doesnt because it follows the waves curve precisely (is in fact band limited at the high frequencies and in practice also has a lower bound because otherwise you would need infinitely long sinc functions ).

But notice that the discussion is still about interpolation, so we are still in the domain of representing a lower samplerate signal within a higher samplerate.

See this image from the article:
http://www.csounds.com/ezine/summer2000/internals/interp3.jpg

You can see that what interpolation does (both linear and sinc) is smooth out the samples.
This would be how interpolation helps smoothing out samples that are played back at a speed below the samplerate.
You could imagine that the pixels are your systems sample rate and the 'steps' you see in the left wave are the samplerate of the waveform itself.
Then the interpolation is smoothing the wave so that it uses the pixels to make a smooth transition between the steps in the first wave.

But now imagine that the steps from the left-most wave are already at maximum samplerate (say, 48000kHz). So one step of that wave is like one pixel in the above example.
Then you cannot smooth any further unless you upsample to a higher samplerate ! (you need to add more pixels in between)
And if you are already upsampling there is no more need for interpolation.
You just need to filter what you have with a very steep filter and throw away half your samples.


"From my understanding, linear-phase FIR filters have their coefficients symmetrical mirrored around the center coefficient. This is why there is as much pre ringing as post ringing. Minimum phase FIR filters are not symmetrical. The center coefficient is closer to the beginning so you still have post ringing but much less pre-ringing.

I believe it is the pre-ringing that is most objectional to our ears as it smears transients and peaks in an audible way. "

Aah, now i remember where i read it. near linear phase filters just use half a sinc function and are cheaper on the cpu and almost as good as linear ones. And less ringing (which i didnt know ).
Speakafreaka
IsraTrance Junior Member

Started Topics :  18
Posts :  779
Posted : Mar 2, 2008 22:07
Quote:


And if you are already upsampling there is no more need for interpolation.
You just need to filter what you have with a very steep filter and throw away half your samples.






Dude, honest, interpolation is low pass filtering.

You can interpolate at higher sample rates then the system rate.

The point where you sample say

it goes

v-v-v-v-v-v-v-v-v-v
s--s--s--s--s--s--s

where v is the virtual wave sampling rate and s is the sample rate of the system.
look at the second s - it falls inbeetween the 2nd and 3rd v.

The best way to get the value of the second s is to average the value of the 2nd and 3rd v - in other words interpolate... but its going faster then the sampling rate!

          .
http://www.soundcloud.com/speakafreaka
psytendo

Started Topics :  1
Posts :  73
Posted : Mar 2, 2008 22:29
@speakafreaka:
"At this point I interpolate the output of the array by examining the two values either side of the point I am taking a sample at and averaging them.

This is low pass filtering! "

Yes, but at a higher samplerate than the original sample!
Remember that the point you are calculating is BETWEEN the samples you already have.
So if you would interpolate one point between every sample you would get 2x as many samples !!
So you have effectively upsampled the original data !!
If this interpolation is done correctly (like with sinc interpolation) there would be no frequency components introduced above a quarter of you new 'samplingfrequency'.

The problem i am talking about happens when you need to REMOVE samples to make the frequency high enough.
If you do that then you will get aliassing (you start missing tops and bottoms of the fastest oscilations in the sample and that results in a new frequency component in the hearable spectrum which seems to reflect off of the nyquist frequency, among other effects).
Interpolation would help in reducing some time quantizing artifacts in the process but would not remove aliasing! It would make the aliasing more precise (instead of letting the time quantisition distort the aliasing further)

"Lets take Massive for example - this synth does alias. Take a sine wave and sweep the pitch down from very high using a envelope slowly. Quite clearly, you can hear something going up too.

Yes, maybe you can get rid of this problem on a pure analog synth, but how are you going to get it into the system... there is going to be conversion to digital at some point if you ever plan to record to CD. In which case, kiss your silky smooth uppers goodbye! "

Yes its a real nightmare...
I havent tested the sine in Massive but it might have to do with quantisition of log envelopes. Not denying its oscilator aliasing but i just havent investigated it. Will do that soon tho

Also, i do understand that there are various processes going on that can introduce aliasing, i'm just looking for something reasonable that sounds smooth to my ears.
And i have heared it so it is not impossible!

About analog synths.
As i have learned a lot of plugins dont filter at all at the oscilators. this means that the oscs will just reflect the harmonics back without anything done about them!.
Sampling an analog synth at least has the advantage of the brickwall filter in the ADC. That's not to say there will be no artefacts but at least aliasing from the samplerate shouldnt be a problem.
Speakafreaka
IsraTrance Junior Member

Started Topics :  18
Posts :  779
Posted : Mar 2, 2008 22:55
No, I don't get it

If I have an oscilator whose waveform is running at exactly audio system rate then I'm sure we both agree all well and good, nothing but playback of whatever we put in.

However, as soon as I pitch it up, even by a semitone (the osc), then the osc is no longer running at the audio sampling rate.

I have exactly the same number of samples in the osc, however I'm reading them at a different rate.

Some of these new values will fall on the exact time of the audio system sample, but the majority won't.

So, whenever the audio system needs its next sample, I must find a way to calculate the value of the oscilator waveform, whether it has a sample at that point or not. If it doesn't have a sample at that point, then I have to 'guess' at the likely value.

Interpolation is tied to the audio systems sample rate, not the oscs.

You can't interpolate one point between every sample - you can only interpolate one point between every two samples at the very best, in other words numberOfSamples - 1.

s-i-s-i-s-i-s
          .
http://www.soundcloud.com/speakafreaka
psytendo

Started Topics :  1
Posts :  73
Posted : Mar 2, 2008 22:57
@speakafreaka:

"v-v-v-v-v-v-v-v-v-v
s--s--s--s--s--s--s "

Yes, yes, i understand interpolation.
But interpolation wont help you if you need to play back all you V's in the same time as, lets say, 2 periods of S's.
(a high frequency note)
Then the sample of V's WILL contain frequencies higher than the space between two S's and you would need to drop some samples to fit it in the few S's.
Interpolation wont help you there because the problem is in what is left of the samples after you threw away the ones that cant be fitted.
The frequencies they represent need to be filtered out BEFORE you actually map it to the sample rate, according to sampling theorem. Otherwise you get aliasing.
Interpolation doesnt do that.

In fact, interpolation doesnt have one single steep frequency response, which you realy need to prevent aliasing.
Interpolation is for smoothing and correctly calculating in-between points, but what you need to prevent aliasing is the removal of all frequencies in the sample above the final niquist frequency BEFORE you even start the process of 'mapping' samples samples to the actual samplerate (by for instance sweeping through an array).

To put it in another way EVEN IF you would use an gigantic sample that fills your entire harddrive with just one wave cycle as a basis, you will still get aliasing if you do not properly filter it BEFOREHAND (yes, its weird, but thats sampling theorem for you. ).
The filtering is dependant on how fast you will be scanning throught your sample (so, basically its pitch) in relation to the final samplerate.

So lets say you have a cycle of a saw wave.
If you need to replay it for a low note then you propably wont need so much filtering beforehand because in the end the harmonics wont be loud enough near the niquist frequency.
But say you want to play ip back at 10Khz.
Then the first harmonic will be at 20kHz already!.
Now assume 44100Khz fS.
You will need to filter out all freqencies above the first harmonic in your original waveform to prevent them from hitting the niquist freq and folding back.
Again, this has nothing to do with interpolation.
It's the basics of sampling theorem.
psytendo

Started Topics :  1
Posts :  73
Posted : Mar 2, 2008 23:07
Speakafreaka:
"However, as soon as I pitch it up, even by a semitone (the osc), then the osc is no longer running at the audio sampling rate.

I have exactly the same number of samples in the osc, however I'm reading them at a different rate."

True.

"Some of these new values will fall on the exact time of the audio system sample, but the majority won't. "

Yes, also true, thats why you can use interpolation to get a better (or even exact) value.

But an altogether NEW problem comes into play now!

You wont be able to fit all your samples into the samplingrate 'stream'.
That means you will need to skip certain samples when you scan through the wave. THIS IS THE ROOT OF ALIASING!

The other solution is to scan through all of the original samples anyway but this means you are scanning the wave at a frequency higher than your final samplerate, so you have, in fact done a form of upsampling and now need to downsample your 'scan' to fit into the final samplerate. I you filter this 'scan' correctly before fitting it (throwing away the unfitting samples) into the final samplerate this process is called Anti-Aliasing and has nothing to do with interpolation...

yes, i also whish life was simpler.
psytendo

Started Topics :  1
Posts :  73
Posted : Mar 2, 2008 23:15
Speakafreaka:
"You can't interpolate one point between every sample - you can only interpolate one point between every two samples at the very best, in other words numberOfSamples - 1. "

Yes, of course, you need two samples to interpolate between. I was talking (as an example) about the case that the sample needs to be played back at half its original speed.
Then the ammount of interpolated points would be equal to the ammount of original samples.
Remember that you need another interpolated point between the last sample and the first one if the wave needs to cycle!
And even if the sample would not repeat you would have an interpolated point between the last sample and 0 (zero).
So basically the '-1' thing is not true!
Trance Forum » » Forum  Production & Music Making - What plugin synth has the least aliasing (especially in the oscs)?
← Prev Page
1 2 3 4 5 Next Page →
First Page Last Page
Share on facebook Share on twitter Share on StumbleUpon


Copyright © 1997-2025 IsraTrance