Integer is King? - the challenge

DSP, Plugin and Host development discussion.
Post Reply New Topic
RELATED
PRODUCTS

Post

thorkz wrote:
PS. Christian could you maybe consider to debug this EQ a little and bring it out with that Z- algorithm?

Thaaaaaaanks
If it turns out that the Z-Algorythm is float based.. will you still use it? ;)

Post

if it is I will laaaugh :lol:
Cakewalk by Bandlab / FL Studio
Squire Stratocaster / Chapman ML3 Modern V2 / Fender Precision Bass

Formerly known as arke, VladimirDimitrievich, bslf, and ctmg. Yep, those bans were deserved.

Post

Good question.

I have not compared it to anything else but to itself.
It usually shows on longer runs. I'm pretty sure though, since I found my known caracteristics.
Z could be some other great technologie, but since one of the three is integer, it can only be Z.
Since X and Y for shure are not fixed p. and one of the three is.
In fact if christan would say " no, z is float" I could not believe him.

But please .... I give you a hand to hear it for yourself

1.(optional) record something with a microphone (instead of a synth)

2. put it to Z and crank the bass so that your feeling it in your belly. Go with it for a while. Spend some time.

3. When you have a nice bass feel in your stomach turn it to Y. Dont get taken away from the changes in the other freqs. Just stick to that feeling in your guts.

4. listen. ............ somthings missing.
The bottom is gone.



Part two: The High-End.

1. take full range signal you consider as having a nice hi-end.

2. Focus it. Try to visualize those nice hi-end instuments.
Play with panning if that helps you. " See " those
sounds in a room. spend some time.

3. put the TestEQ to Z and turn it on. Find a pretty
extreme setting that sounds nice to you.

4. settle with that setting and again spend some time to
focus and see the instruments. (Where in front of you is that snare or the stringplayer standing? Does it get masked by other sounds? Some Synth maybe? Listen to that. And where is the backwall of that room ? how far can you see into this room?)

5. Turn the TestEQ to Y. ..... ........ ........

6: No? Turn it back to Z and listen.

7. Turn it to Y.


Its fun . try it. :D

thorK

Post

Very interesting.

Post

you know, without seeing the source code i'll have to assume they're all the same. in fact i should really download this and check the disassembly myself. too lazy though.

Post

Thorkz.... it's about time someone told you straight

You're talking shit

given time and the incentive I could calculate the EXACT difference between a floating point and integer implementation of the same algorithm for a given signal. It's not likely to happen because I doubt anyone could pay me enough money to waste my time like that, but knowing this, and knowing how I'd do it, I can say with complete confidence that if I took a number of algorithms, for EQs, effects, synths whatever, there would be no universal correlation of "integer has more bass", or "more topend", or "better stereo placement", or "more space" or "more chocolatyness", or any damn thing.

Oh incidentally, as well as DSP I've also worked in psychoacoustics, so I probably also know more about how the ear and brain work in this regard than you do.

Post

thorkz wrote:
Urs wrote:
Shy wrote:it doesn't sound like horrible plain aliasing.
True. The carrier feedback of the DX-7 (strangely followed by the DX-100) generates almost perfect white noise, if set to 6 or up. The only thing that beats this is a noise generator based on Mersenne primes running on IBM PowerPC processors. It's almost as good on Freescale chips, but these lack a bit of the pink noise spectrum, maybe because the Freescale processors use the same registers for integer as for floating point, which somehow diffuses the precision. X86 processors are a whole different problem. Due to the fewer general purpose registers a strange side effect happens where some registers would auto-frequency-modulate themselves, adding an extra portion of aliasing. This is called register aliasing ( http://www.fefe.de/devel/aliasing.txt ), and it's a very unpleasant thing which especially AMD users react weird about (as numerous discussions on http://www.anandtech.com/ clearly prove). However, Mac users will be happy to know that Intel has recently improved register aliasing - it's now called pointer aliasing ( http://american.cs.ucdavis.edu/Micro27/html/abst13.html ). As pointer aliasing happens in the imaginary part of the dsp process - which is discarded ion favour of the real part by the asio/coreaudio driver), it does not contribute to the sound in an unpleasant way, so Intel macs are pretty clean sounding here. Maybe too clean to be pleasant sounding.

.
:D :D :D Tell ya what?

I'm in the transition from my old AMD 3000+ mobile to an intel Banias 1,5GHz.


I did this test on both machines. :D :D

same soundcard, same audiosoft, different windows.

I'm a little afraid to say it, because its so nice and peaceful here for a change.

And so far its all just about playback.


I expereancing my old AMD as jittery. It has a certain high end color that is not present on the intel.


..... please ignore this. :x

thorK
.[/quote]


So its official, AMD sound jittery lol :) :)
Last edited by UltraJv on Fri Jun 08, 2007 2:18 pm, edited 1 time in total.

Post

JonHodgson wrote:Thorkz.... it's about time someone told you straight

You're talking shit

given time and the incentive I could calculate the EXACT difference between a floating point and integer implementation of the same algorithm for a given signal. It's not likely to happen because I doubt anyone could pay me enough money to waste my time like that, but knowing this, and knowing how I'd do it, I can say with complete confidence that if I took a number of algorithms, for EQs, effects, synths whatever, there would be no universal correlation of "integer has more bass", or "more topend", or "better stereo placement", or "more space" or "more chocolatyness", or any damn thing.

Oh incidentally, as well as DSP I've also worked in psychoacoustics, so I probably also know more about how the ear and brain work in this regard than you do.
Yea verily!

Post

thorkz wrote: Z could be some other great technologie, but since one of the three is integer, it can only be Z.
IIRC he said 1 is int, 1 is float, and 1 is unknown.

That doesnt mean that *only* 1 is int, it means *at least* one is. A subtle but important difference.

I have my suspicions what he did with the unknown, but only based on some of his comments, not based on anything i can hear.
In fact if christan would say " no, z is float" I could not believe him.
You mean you really wouldnt belive it or just that you would be very surprised?
But please .... I give you a hand to hear it for yourself

Its fun . try it. :D
I have tried it, with a recording of my guitar, i have an Echo Mia, and Yamaha MS5P powered monitors. So not really high end studio gear but good enough imo.

I cant hear any difference between any of them.

I tried it on my headphones too (again average home studio gear), and again nothing.

Post

URS,
perhaps I'm really dumb but what does pointer aliasing have to do with generation of random numbers?
Pointer aliasing analysis is an analysis you do to try to statically determine if different pointers in a program are pointing to the same memory locations at some point of the execution of a program.

Mersenne prime generation algo is a deterministic algorithm, eventhough it generates numbers which look like random, and hence should give the same output regardless the machine it runs on.
If two instances of the same Mersenne generator code running on different machines produce different outputs, you'd have to blame the compiler for that... But an algo is an algo?

I really did not understand you point, URS, could you explain further?

Post

Yeah. I would start with the bass test really. Take a nice punchy whatever and do the bottom test.

thorK

Post

monsterbeetle wrote:I really did not understand you point, URS, could you explain further?
Perhaps this can clarify it....
URS wrote:Shy, please take my apologies, my post is all made up garbage. It's supposed to express my view on 17 pages of utter bs.


I thought URS' post was excellent because it's not far off the kind of bullshit you see on so many Audiophile websites that are trying to sell you something :-)

Post

I might be crazy but I think I am hearing a difference.. I know how easy it is to "hear" differences when listening really carefully so I'll do some more ABX test later (I might have gotten lucky but several times I've gotten now 10/15 and 11/15, however, I also did get one 8/15 :) ).

my guess is not which one is float or int, as I can't really say which one sounds "better" but rather that X = unique, Z and Y = same.

NOTE: I've yet to try it in the studio but rather at home with M-audio 2496 card going into a crappy boom blaster and AKG K271 headphones.

Cheers!
bManic
"Wisdom is wisdom, regardless of the idiot who said it." -an idiot

"They don't ban hate speech; they ban speech they hate." -an oracle

Post

Firstly: Welcome to the witch hunt! Clearly, a great number of the "sane" voices here are convinced that there cannot be any difference between a floating point and fixed point implementation of the same filter.

Wait a moment though ...

It occured to me last night that one of the more important reasons that I continued with fixed point plugs was the trouble I had with denormals -- specifically in the filters I was implementing.

So I had to ask myself 'how might the standard approaches to "re-normalization" affect the audio signal?'

What popped into my mind was Jitter

As an aside I would note that even if you could map a DSP algorithm one-to-one between a fixed point and floating point implementation you would still take a perforance hit for the additional denormal code which is pretty much taken for granted by floating point coders.

Very interesting indeed, Christian ....

Post

pj geerlings wrote:As an aside I would note that even if you could map a DSP algorithm one-to-one between a fixed point and floating point implementation you would still take a perforance hit for the additional denormal code which is pretty much taken for granted by floating point coders.
One could argue that SSE (floating point only) can be taken for granted nowadays while SSE2 (some basic integer maths) can not. Thus you can not necessarily run integer maths in SIMD fashion, getting a much higher performance hit.

Also, denormals can be turned off for the SSE unit. No need to code around it.

Instead, for fixed point/integer you always have to shift bits like hell. Now, that's a performance hit...

However, I must admit I've never written a filter in integer. I'm using the stuff for other things...

;) Urs

Post Reply

Return to “DSP and Plugin Development”