The aliasing thread

Sampler and Sampling discussion (techniques, tips and tricks, etc.)
Post Reply New Topic
RELATED
PRODUCTS

Post

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?

Post

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 just extracted the second example, it has two files inside:

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é

Post

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. :oops:

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.)

Post

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.
Yes, that's very common. Interpolation noise is much more noticeable when you do know how it sounds.

This is so true, that even my wife can recognize the 2nd snippet now :cry:

-René

Post

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.

Post

I WANT TO SAY TO EVERYONE YOU BASTARTDS!!!!!! :x















I've been reading this whole thread for 3 hours :lol:
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 :lol:

Post

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.
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.

Post

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.
Sounds pretty much like:
Bill Gates wrote:640K ought to be enough for anybody.

Post

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 ?

Post

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.
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.

I don't see why, with all else being equal, I should choose a sampler with measurably worse characteristics.[/quote]

Post

ericj23 wrote:be nice george
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 analogy :)

My excuses if that sounded harsh for anyone.

Post

Fellow developers, some of you do have a lot of time to spend...

:lol: :lol: :lol:

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

Post

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

Post

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.
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. :oops:

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. :P

Best Regards, WilliamK

Post

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.
There's no magic black arts on interpolation, isn't it? Who could be afraid of the dark? :D

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;
	}
}

Post Reply

Return to “Samplers, Sampling & Sample Libraries”