The aliasing thread

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

Post

Interesting point - but what benefit would the user get from using a 96khz library in a 44.1 khz project (apart from increased CPU consumption)?
Increased CPU consumption? That would only happen in a lousy player :D A decent player wouldn't have any extra CPU usage by playing samples of arbitrary samplerate.

The advantage of using 96kHz in a 44.1kHz project is just not having to manually resample millions of wavs, nor having to store the same library twice for two different samplerates and using a complex nomenclature to identify which one goes in which project, etc.

-René

Post

Muon Software Ltd wrote:
I was speaking of loading for example a single piano sample sampled at C-4 and playing the piano sequence you've played before.
That would sound horrendous for reasons not related to the resampling algorithm I would say :lol:
I know :)
But if the purpose is just seeing the difference between different algorithms then its allright.
Or could simply have a mutli sample of a single note on each octave or each 2nd octave.

Post

Edit: removed after George asked me to.
Last edited by WilliamK on Fri Sep 24, 2004 8:39 pm, edited 2 times in total.

Post

Got to wonder if reading all that extra data from RAM (or disk) wouldn't cause a slow-down though. Either way, why not just run the project at 96khz though?

Anyway, I don't think it's a likely enough occurrence to have to specifically design for :lol:

The new files are up:
http://www.muon-software.com/temp/examples.rar

The file size has increased, now about 16.6mb. I still don't hear any extra noise though.

Post

WilliamK wrote:Guys, I learned a lot from this thread, you know that. I even managed to change my code, and I'm still improving it. Arguru also helped me out with some parts, that will be on V1.1 in a few weeks from now.

But now I wonder, what's the balance of quality x CPU usage for real-time usage. I don't mean rendering here ok?

I'm using Hermite interpolation for real-time playing, and it does very good. Is not good as SFZ Mode 24 but is still better than linear-interpolation, and VERY fast. ;-)

So, why not also compare the programs, not only by quality, but Q x CPU?

So far I had time to test only a few programs, maybe George could also put some sort of CPU ratio on his aliasing page? That would be nice. As the graphics showed there are not always "real-time", some programs showed there hit hard on CPU usage, while having lower-quality modes that would be equivalent to the other programs. Not sure if I lost you guys on my explanation. ;-)

Here is a quick graph I did.

Rene, I'm not trying to get into a flame-fight here ok? I'm just showing that some programs uses way too much CPU usage for real-time playing on its HQ modes. Hope you understand.

Image

Off-course Wusikstation is the fastest code, as I couldn't test NI and Korg software just yet. Those should be as fast too, as they also use SSE instructions heavly. But not sure if they also use in paralel like I do on my Assembly code. 8)

CPU used: Athlon XP 1.6Ghz. All synths were tested with 128 voices and the same waveform. BUT, Wusikstation I tested with several large files, just to be sure. ;-) No filter, extra envelope, or FXs were used on the synths. I don't know if SFZ has an AMP envelope, does it? (couldn't find the option)

But I think it would be easy to create some sort of CPU "ratio", so if an user sends a report from a P4 2.0Ghz, we can still compare to my results, or any other result. And we can all learn how to improve our codes. At least I see that this is what we are all doing here, right?

Here is the graphic above, in a list format.

Code: Select all

Wusikstation Draft    22
SFZ Draft             30
Wusikstation HQ       30
Orion Sampler HQ      56
SFZ HQ (mode 8)       72
ShortCircuit HQ       78
HighLife HQ (Hermite) 100+
Best Regards, WilliamK
There's a big problem with what you wrote.

Wusikstation Draft 22
SFZ Draft 30
Wusikstation HQ 30
Orion Sampler HQ 56
SFZ HQ (mode 8) 72
ShortCircuit HQ 78
HighLife HQ (Hermite) 100+[/code]

Whats the point in comparing their HQ mode if it differs ?
How can you compare your HQ mode for example to Argurus HighLife HQ (Hermite) mode ?
They are not comparable. The only common thing is that they're both called HQ.
CPU comparison in this case is useless as the result of the algorithms is very different.

Now , regarding the draft mode :
Wusikstation Draft 22
SFZ Draft 30

Do they use the same algorithm ? Can anyone post an example of the aliasing comparing these 2 draft modes ?

Post

Scr1pt3r wrote:Whats the point in comparing their HQ mode if it differs ?
How can you compare your HQ mode for example to Argurus HighLife HQ (Hermite) mode ?
They are not comparable. The only common thing is that they're both called HQ.
CPU comparison in this case is useless as the result of the algorithms is very different.
Do they use the same algorithm ? Can anyone post an example of the aliasing comparing these 2 draft modes ?
I'm sorry, but maybe you don't get it. Highlife HQ and Wusikstation HQ both uses Hermite interpolation, look at http://www.buzzxp.com/samplers before anything. :P Also, SFZ draft and Wusikstation draft both uses Linear-Interpolation. Those 2 programs look exactly the same compared with that graphic-test. "But why the heck my is so low in CPU usage?" you will say... I use SSE+Assembly only, no FPU code at all on my real-time audio-parts. Plus, I do in paralel, 4 voices for the cost of 1 voice. :D

Hope you understand now.

The quality diference would be Shortcircuit, that goes above any other test. But as they don't have a "lower" quality setting, I couldn't test it.

Wk

Post

Got to wonder if reading all that extra data from RAM (or disk) wouldn't cause a slow-down though. Either way, why not just run the project at 96khz though?
Oh, just because THAT would lead to a more-than-double CPU usage. Please let me explain it:

There's no reason why the resampling a 44.1kHz sample would lead to a different CPU usage than a 96kHz sample to the same target. Resampling process consit on calculating 44100 output samples from a pool of 96000 every second.

If the player doubles the CPU usage in that procedure, it's just doing something plainly wrong.

While in the case of streaming the bandwidth is naturally increased, the resampler has absolutely nothing to do with it. In any case, the streaming itself of 96kHz sample data does have identical CPU usage in a 44.1kHz and 96kHz project.

However, -playing- at 96kHz leads to double the CPU usage, as the player has to calculate 96000 output samples per second instead of 44100.

-René

Post

There's no reason why the resampling a 44.1kHz sample would lead to a different CPU usage than a 96kHz sample to the same target. Resampling process consit on calculating 44100 output samples from a pool of 96000 every second.
Seems reasonable to me. I have to wonder still though if there'll be an impact on the cache still though. I'm reading the same number of output samples as you say, but from bigger blocks of input data.

What do you think of the new sound examples? any obvious noise?

Post

WilliamK wrote:
Scr1pt3r wrote:Whats the point in comparing their HQ mode if it differs ?
How can you compare your HQ mode for example to Argurus HighLife HQ (Hermite) mode ?
They are not comparable. The only common thing is that they're both called HQ.
CPU comparison in this case is useless as the result of the algorithms is very different.
Do they use the same algorithm ? Can anyone post an example of the aliasing comparing these 2 draft modes ?
I'm sorry, but maybe you don't get it. Highlife HQ and Wusikstation HQ both uses Hermite interpolation, look at http://www.buzzxp.com/samplers before anything. :P
Trust me I know http://www.buzzxp.com/samplers without even looking at it.
"Highlife HQ and Wusikstation HQ both uses Hermite interpolation" - so you want to tell me you'd like to compare Argurus 512 Sinc hermite interpolation CPU usage comparing to your 4 Points hermite interpolation?

Post

Scr1pt3r wrote:Trust me I know http://www.buzzxp.com/samplers without even looking at it. "Highlife HQ and Wusikstation HQ both uses Hermite interpolation" - so you want to tell me you'd like to compare Argurus 512 Sinc hermite interpolation CPU usage comparing to your 4 Points hermite interpolation?
I'm sorry bud, but look again. There is no such 512 Sinc Hermite. HighLife OR uses 4 point Hermite, OR 512 Sinc. :roll: Plese, do look again. Sinc Interpolation is ONE thing, Hermite is ANOTHER thing.

Wk

Post

Seems reasonable to me. I have to wonder still though if there'll be an impact on the cache still though. I'm reading the same number of output samples as you say, but from bigger blocks of input data.
Input data goes at 96000 samples per second. In the case of no resampling, that's like 384k of -new- data every second, which is completely replaced with new data, and that's only if we think we're playing one voice. Even large cache sizes are easily flooded with such data amount, making the cache effect negligible.
What do you think of the new sound examples? any obvious noise?
I'm really sorry, I'm dieing to check them out. However, I'm on travel atm, posting from a no-soundcard lousy PC :(

Those 2 programs look exactly the same compared with that graphic-test. "But why the heck my is so low in CPU usage?" you will say... I use SSE+Assembly only, no FPU code at all on my real-time audio-parts. Plus, I do in paralel, 4 voices for the cost of 1 voice.
I can easily think on two hundred reasons affecting the per-voice CPU not related to the resampler. When using linear interpolation (DRAFT), the resampling on sfz does take about 10% of the total per-voice number.

For instance, it uses a samplerate-calculated Amplifier Envelope. Comparing it with another calculated every, say, 8 samples would result in non-directly-comparable numbers. Same applies for LFO's and every modulation.

It's also important to check if the test is performed using mono waves or stereo waves. SFZ will take about a 20% more to play stereo waves, instead of 100%.

There's also the 'AMD' effect. AMDs don't feature SSE2, so SFZ will do much better in P4s.

I have nothing against this kind of comparisons. I'm all up to it, so I'm anxiously waiting till I can put my hands into Wusikstation to do a face-to-face comparison against sfz in -every- aspect.

-René

Post

I'm really sorry, I'm dieing to check them out. However, I'm on travel atm, posting from a no-soundcard lousy PC
When you've downloaded them let me know so I can take them down. I don't want the rest of the muon website to suffer bandwidth-wise by serving up a 16mb file to thousands of curious aliasing-analysts :-)

Post

WilliamK wrote:

Code: Select all

Wusikstation Draft    22
SFZ Draft             30
Wusikstation HQ       30
Orion Sampler HQ      56
SFZ HQ (mode 8)       72
ShortCircuit HQ       78
HighLife HQ (Hermite) 100+
Best Regards, WilliamK
Is this CPU % for a single voice @ 44.1kHz? Can't be, that's really slow! Also, what sort of CPU are you testing on?

Post

WilliamK wrote:
Scr1pt3r wrote:Trust me I know http://www.buzzxp.com/samplers without even looking at it. "Highlife HQ and Wusikstation HQ both uses Hermite interpolation" - so you want to tell me you'd like to compare Argurus 512 Sinc hermite interpolation CPU usage comparing to your 4 Points hermite interpolation?
I'm sorry bud, but look again. There is no such 512 Sinc Hermite. HighLife OR uses 4 point Hermite, OR 512 Sinc. :roll: Plese, do look again. Sinc Interpolation is ONE thing, Hermite is ANOTHER thing.

Wk
Ok, but you know what I meant.
Comparing this : http://www.djlaser.com/public/samplers/ ... r_full.png
to that :
http://www.djlaser.com/public/samplers/ ... n_full.png

Or am I missing something ?

Post

Scr1pt3r wrote:Or am I missing something ?
Yes you are, I just told you. :roll: HL Hermite code is ONE thing, HL Sinc512 code is ANOTHER thing. The tests I have done uses HL Hermite code and Wusikstation Hermite code, that shows the same graphic as you can see here:

http://www.djlaser.com/public/samplers/hl_full.png

http://www.djlaser.com/public/samplers/ ... n_full.png

Those graphics are from http://www.buzzxp.com/samplers/

Wk

Post Reply

Return to “Samplers, Sampling & Sample Libraries”