The aliasing thread
-
- KVRAF
- 1718 posts since 3 Sep, 2003
I took the second example. I took the left channel from both files, inverted one and mixed them 50/50. The result was silence. I didnt look at the result to closely so I guess there could be some non zero samples, but nothing I could hear with headphones.
I think you messed something up René... or maybe I did?
I think you messed something up René... or maybe I did?
-
- KVRAF
- 2988 posts since 11 Apr, 2001
I just extracted the second example, it has two files inside:I took the second example. I took the left channel from both files, inverted one and mixed them 50/50. The result was silence. I didnt look at the result to closely so I guess there could be some non zero samples, but nothing I could hear with headphones.
I think you messed something up René... or maybe I did?
vln-5st-dn-linear.wav
vln-5st-dn-bicubic.wav
The Invert-Paste-Overlap does show clear contents around -48dB. Same for all the files Don't they show it there?
I'll download the file again to triple check.
-René
-
- KVRAF
- 1718 posts since 3 Sep, 2003
Yes, there is something there.. I never looked at the waveform. Tried it again in soundforge (Did the first one in traction with VSTs.) with the third example and got some content at around -60 db.
Sorry about that.
Still, its not a helluva lot is it? Some HF noise, and some kind of fluff around the oscilating base note. Now that I know what to listen for, I can hear it, barely, but I couldnt at first.
(A note to people trying this, the difference is more audible in speakers than in headphones for some reason.)
Sorry about that.
Still, its not a helluva lot is it? Some HF noise, and some kind of fluff around the oscilating base note. Now that I know what to listen for, I can hear it, barely, but I couldnt at first.
(A note to people trying this, the difference is more audible in speakers than in headphones for some reason.)
-
- KVRAF
- 2988 posts since 11 Apr, 2001
Yes, that's very common. Interpolation noise is much more noticeable when you do know how it sounds.Still, its not a helluva lot is it? Some HF noise, and some kind of fluff around the oscilating base note. Now that I know what to listen for, I can hear it, barely, but I couldnt at first.
This is so true, that even my wife can recognize the 2nd snippet now
-René
-
- KVRist
- 190 posts since 28 Nov, 2003
I think it also becomes a lot more obvious if you add any kind of frequency modulation or pitch bend -- when the instrument harmonics start go in one direction but the distortion stays put or moves in the other, then your ear can easily discriminate between the two.
-
- KVRist
- 243 posts since 20 Aug, 2003
I WANT TO SAY TO EVERYONE YOU BASTARTDS!!!!!!
I've been reading this whole thread for 3 hours
Was funny to see all comments by William as : '..'
and then trying to figure what he said.
To be honest I was suprised he had no clue about aliasing and algorithms...
I'm glad he changed his algorithms eventually.
A Little intro about myself, I'm a Computer Science 3rd year student and I like logic and if I argue with someone I like to hear logic replies to what I say.
Thats why I liked reading Rene posts , can see that he got that logical thinking. ( Also liked the "Truth doesn't run on democracy" )
I liked reading Urs posts, was impressed with his knowledge and also with his logics.
Liked reading Argurus posts but nothing unusual about that, Arguru been into audio since it began.
Hi gol, as I could understand from your posts you're the developer of fruity and as I could see your knowledge of algorithms and the quality you bring to your synths are superb.
That was an impressive thread which I'll remember for a long time, I liked it.
This was was edited about 5 times due to a major tiredness of the author... damn , 8am... arghhhh
I've been reading this whole thread for 3 hours
Was funny to see all comments by William as : '..'
and then trying to figure what he said.
To be honest I was suprised he had no clue about aliasing and algorithms...
I'm glad he changed his algorithms eventually.
A Little intro about myself, I'm a Computer Science 3rd year student and I like logic and if I argue with someone I like to hear logic replies to what I say.
Thats why I liked reading Rene posts , can see that he got that logical thinking. ( Also liked the "Truth doesn't run on democracy" )
I liked reading Urs posts, was impressed with his knowledge and also with his logics.
Liked reading Argurus posts but nothing unusual about that, Arguru been into audio since it began.
Hi gol, as I could understand from your posts you're the developer of fruity and as I could see your knowledge of algorithms and the quality you bring to your synths are superb.
That was an impressive thread which I'll remember for a long time, I liked it.
This was was edited about 5 times due to a major tiredness of the author... damn , 8am... arghhhh
-
- KVRAF
- 2135 posts since 12 Jul, 2004 from Brave New World
you know.... perhaps I'm confused by this whole issue... but the slight bit of noise that I heard in this isn't anything that cannot be corrected in post production. that's not taking into account the plain and simple fact that the average music fan could give a flying f**k less about something as imperceptible as audio degradation due to aliasing. especially if the musical content is unappealing. when you consider that the average person doesn't know the difference between signal to noise ratio and C7dim, then it really doesn't matter in the long run. certainly we can all sit around and pretend like someone out there really cares, but the bottom line is that the only people who care about these sorts of issues are fellow musicians, technicians and software developers. and considering the vast majority of the world's population are said persons*, I wouldn't consider this issue nearly as important as some other issues facing musicians.René wrote:The first test is transposing the sample down two octaves. I agree that this is quite out of 'standard' or 'used' transposition ranges, but it helps a lot to first hear what we're looking for very clear to then move to more subtle examples.
sorry if I sound jaded, but it really seems like a non-issue. certainly not something that should matter to the average person.
* this was sarcasm. I'm often accused of not portraying sarcasm adequately online, so I offer this disclaimer.
-
- KVRAF
- Topic Starter
- 5641 posts since 18 Jul, 2002
Sounds pretty much like:intel wrote:sorry if I sound jaded, but it really seems like a non-issue. certainly not something that should matter to the average person.
Bill Gates wrote:640K ought to be enough for anybody.
-
- KVRAF
- 2608 posts since 26 Aug, 2002 from here
be nice george
i ultimately agree with a lot of posters that this is close to nonsense - what rene test shows nicely is that at gaps of a few semitones there is some audible noise (i could hear it) but i know its absolutely bugger all in comparison to the amount of differences i will make with reverb and eq etc.
and the almost lack of difference in the final example just reinforces why sample libararies get larger and larger - it just sounds that little bit better
so ultimately this alaising thread is about working out the best sampler to play outdated or free libararies on. Matters to many i suppose but 20 pages of it !
PPS is the alaiaing different if you upsample then transpose then downsample again ?
i ultimately agree with a lot of posters that this is close to nonsense - what rene test shows nicely is that at gaps of a few semitones there is some audible noise (i could hear it) but i know its absolutely bugger all in comparison to the amount of differences i will make with reverb and eq etc.
and the almost lack of difference in the final example just reinforces why sample libararies get larger and larger - it just sounds that little bit better
so ultimately this alaising thread is about working out the best sampler to play outdated or free libararies on. Matters to many i suppose but 20 pages of it !
PPS is the alaiaing different if you upsample then transpose then downsample again ?
-
- KVRAF
- 1884 posts since 9 Feb, 2004 from Rochester, MN
The vast majority of the world's population is not the intended audience for my music. In fact, the intended audience for my music is usually 1 person: myself. I'll admit that I generally can't hear the difference that aliasing makes (in a mix), and I can't hear the advantage of dithering from 24 to 16 bits. But I can see the difference on a graph, and as long as the sound is indistinguishable to me, I'll depend on the graph to help me decide.you know.... perhaps I'm confused by this whole issue... but the slight bit of noise that I heard in this isn't anything that cannot be corrected in post production. that's not taking into account the plain and simple fact that the average music fan could give a flying f**k less about something as imperceptible as audio degradation due to aliasing. especially if the musical content is unappealing. when you consider that the average person doesn't know the difference between signal to noise ratio and C7dim, then it really doesn't matter in the long run. certainly we can all sit around and pretend like someone out there really cares, but the bottom line is that the only people who care about these sorts of issues are fellow musicians, technicians and software developers. and considering the vast majority of the world's population are said persons*, I wouldn't consider this issue nearly as important as some other issues facing musicians.
sorry if I sound jaded, but it really seems like a non-issue. certainly not something that should matter to the average person.
* this was sarcasm. I'm often accused of not portraying sarcasm adequately online, so I offer this disclaimer.
I don't see why, with all else being equal, I should choose a sampler with measurably worse characteristics.[/quote]
-
- KVRAF
- Topic Starter
- 5641 posts since 18 Jul, 2002
Sorry if I didn't looked nice, but considering how subjetive his opinion was, without even giving details about audio setup or another relevant information, I couldn't find a better analogyericj23 wrote:be nice george
My excuses if that sounded harsh for anyone.
- u-he
- 30215 posts since 8 Aug, 2002 from Berlin
Fellow developers, some of you do have a lot of time to spend...
I would love to suggest another test:
- Create a "Plain Sawtooth Synth" multisample, from a non-aliasing, high quality analog source, where each sample ranges over, say +/- 5 semitones, without any non-linear processing. This will of course also contain the 15kHz spot, but with way less power than discussed over the run of this thread.
- Place this multisample into a sampler patch with 16 voices.
- Make sure that playing a lot of notes (8 simultaneously?) leaves enough headroom for a mix, so that it arrives at the master / output of the daw at a reasonable level, say - 12dB, maybe even -20dB.
- Do the oftenly cited test, thereby rendering to 16 bit audio file, using the best quality dither mode of the daw.
This test is of course best done on paper...
I'm at my first coffee, so I am too lazy do the maths, but am I right that the dither noise might be louder than any interpolation noise of the 15k portion in a real world test
Cheers,
Urs
I would love to suggest another test:
- Create a "Plain Sawtooth Synth" multisample, from a non-aliasing, high quality analog source, where each sample ranges over, say +/- 5 semitones, without any non-linear processing. This will of course also contain the 15kHz spot, but with way less power than discussed over the run of this thread.
- Place this multisample into a sampler patch with 16 voices.
- Make sure that playing a lot of notes (8 simultaneously?) leaves enough headroom for a mix, so that it arrives at the master / output of the daw at a reasonable level, say - 12dB, maybe even -20dB.
- Do the oftenly cited test, thereby rendering to 16 bit audio file, using the best quality dither mode of the daw.
This test is of course best done on paper...
I'm at my first coffee, so I am too lazy do the maths, but am I right that the dither noise might be louder than any interpolation noise of the 15k portion in a real world test
Cheers,
-
Fire Sledge - Ohm Force Fire Sledge - Ohm Force https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=46
- KVRist
- 121 posts since 2 Nov, 2000 from 404 - Not found
Wow !! Long, long topic !
Now what about everyone unveiling his/her favourite resampling techniques (not necessarily source code) ? So we could compare, discuss the quality/CPU/memory pros & cons, improve methods together, etc. - a benefit for everyone.
-- Laurent
Now what about everyone unveiling his/her favourite resampling techniques (not necessarily source code) ? So we could compare, discuss the quality/CPU/memory pros & cons, improve methods together, etc. - a benefit for everyone.
-- Laurent
- Banned
- 5089 posts since 12 Jun, 2001 from Wusik Dot Com
Please, just ignore those posts. I removed since I was not totally right, and the way I wrote got some people angry. I already asked sorry and things are more calm now.Scr1pt3r wrote:Was funny to see all comments by William as : '..'
and then trying to figure what he said.
To be honest I was suprised he had no clue about aliasing and algorithms...
I'm glad he changed his algorithms eventually.
I learned a lot from this post. But I already knew a lot about aliasing, but not enought. We learn a new thing everyday. Takes a big person to admit that, and improve things up.
Best Regards, WilliamK
-
- KVRAF
- 2988 posts since 11 Apr, 2001
There's no magic black arts on interpolation, isn't it? Who could be afraid of the dark?Now what about everyone unveiling his/her favourite resampling techniques (not necessarily source code) ? So we could compare, discuss the quality/CPU/memory pros & cons, improve methods together, etc. - a benefit for everyone.
Code: Select all
//----------------------------------------------------------------------------------
// fsse_interpolate_sinc ()
//
// Mono, floating-point sinc interpolation (sse)
//----------------------------------------------------------------------------------
__inline void _fastcall sfzLayer::fsse_interpolate_sinc (const int iLength)
{
// precalculate all positions
// for this block
for (int i = 0; i < iLength; ++i)
{
g_dPos[i] = m_dPosition;
m_dPosition += m_dRatioLast;
m_dRatioLast *= m_dRatioInc;
}
// convert positions to integer
// by using cvttsf2si if available
dsp.DoubleToInteger (g_iPos, g_dPos, iLength);
// calculate table indexes
for (i = 0; i < iLength; ++i)
{
fDif[i] = float (IFACTOR * (g_dPos[i] - g_iPos[i]));
int iPos = dsp.Trunc (fDif[i]);
iTPos[i] = SINC2 * iPos;
fTDif[i] = fDif[i] - iPos;
}
// interpolate block
int SPASS = CYCLES;
for (i = 0; i < iLength; ++i)
{
float result[4];
float* y = &ssrt32[iTPos[i]];
float* w = &sdif32[iTPos[i]];
float* f = &fTDif[i];
float* wave = &m_pfWaveL[g_iPos[i] - SINCm1];
_asm
{
mov ecx, SPASS
mov esi, wave
mov edi, y
mov ebx, w
mov eax, f
movss xmm7, [eax]
shufps xmm7, xmm7, 0
xorps xmm6, xmm6
LOP:
movaps xmm0, [edi]
movaps xmm3, [ebx]
mulps xmm3, xmm7
addps xmm0, xmm3
movaps xmm1, [edi + 16]
movaps xmm4, [ebx + 16]
mulps xmm4, xmm7
addps xmm1, xmm4
movaps xmm2, [edi + 32]
movaps xmm5, [ebx + 32]
mulps xmm5, xmm7
addps xmm2, xmm5
movups xmm3, [esi]
movups xmm4, [esi + 16]
movups xmm5, [esi + 32]
mulps xmm0, xmm3
addps xmm6, xmm0
mulps xmm1, xmm4
addps xmm6, xmm1
mulps xmm2, xmm5
addps xmm6, xmm2
add esi, 48
add edi, 48
add ebx, 48
dec ecx
jnz LOP
movaps xmm7, xmm6
shufps xmm7, xmm7, 49
addps xmm6, xmm7
movaps xmm7, xmm6
shufps xmm7, xmm7, 2
addps xmm6, xmm7
movups result, xmm6
}
*m_pfGeneratorL++ = *result;
}
}
