V-DAT Quality
-
- Posts: 1743
- Joined: Wed May 15, 2002 4:00 pm
- Contact:
-
- Posts: 777
- Joined: Sat May 25, 2002 4:00 pm
- Location: The Great White North
- Contact:
First of all, my humble apologies to Marcuspocus. I completely misread your posts. I agree with everything you wrote. I inadvertently started a debate thinking that you were talking about "24 bit floats" and wasted bits on the ASIO "bus"...

A few links for anyone who's interested in the concept of "floating points":
http://www.wordiq.com/definition/Floating_point
http://research.microsoft.com/~hollasch ... float.html
Incidentally in searching for these definitions I came across a link to the Sun .au audio file format:
http://astronomy.swin.edu.au/~pbourke/dataformats/au/
Interesting that it provides 32 and 64 bit floating point representations. (According to the link on the same site, WAV files do not.)
Music Manic: Let me stress that, as far as my ears are concerned, there is no difference in audio quality switching from 24 bit integer to 32 bit float etc. For that matter my ears are not "tuned" enough to hear differences between 44.1 kHz sample rate and 96 kHz. Some people can apparently hear the difference in sampling rates, but not me.
However computer geeks have spent the last 40 years tweaking and improving math algorithms for computers. The only thing computers were ever meant to do, in the early days, was calculate solutions to math problems quickly. These days floating point math functions are darned fast.
Audio is very much about math problems. Basic operations like adding, multiplying and subtracting are efficient and precise even using integers. Division is a bit more challenging.
Logarithms, sines and cosines, square roots, and so on, are all floating point operations. And they are all very much a part of audio processing. For example, if you want to calculate the dbFS amplitude ("volume") of an audio signal, the equation is:
Therefore if, for argument's sake only, your signal amplitude is 1,000,000,000 and your full scale is 2,147,483,648, then the dbFS amplitude of your signal is -6.638597312 db.
Now of course I can't speak for CWA or sequencer software makers, who may use shortcuts to calculate the levels shown in peak meters. (*) But this calculation is certainly one way to do it; and it requires floating point math!
But again: nothing to do with "sound quality" exactly. It all has much more to do with processing efficiency. There is a performance hit every time you cast an integer to a floating point for math function calculations, and another one when you cast the floating point back to an integer. You lose precision, too, but that's not something I would worry too much about.
As far as more info about sound processing: Petal and BingoTheClowno recently brought up a couple of interesting audio processing "toolkits" in the Announcements forum. Having only cracked the manuals (I haven't started using 'em yet, mind you) I'd recommend 'em to anyone who's interested in exploring the wonderful and not-quite-as-arcane-as-it-sounds
world of audio processing.
I suspect I've thoroughly bored everyone to tears by now. My apologies for being a floating point firebrand! I'll end with a couple of words (32 bit words, of course -- groan!) on VDAT:
1) I recently switched to 24 bit recordings and am now getting nasty jitter as long as my Nuendo window is open and not minimized. When I record to VDAT I don't get any jitter at all. I could buy a $500 USD word clock... Or I could use VDAT!
2) For those who are used to working in VST: don't you find working in SFP easier? I'm quite pleased with the single-window recording, myself. In particular the routing is infinitely more flexible than anything I've seen in the VST world. Thoughts?
3) Buy VDAT. It's good!
OK I'll shut up now,
Johann
(*) An old trick for certain types of math problems is to store a giant lookup table in memory, and retrieve math function values from memory. This works especially well for sine, cosine, etc. -- any function that repeats itself over the domain.
<font size=-1>[ This Message was edited by: blazesboylan on 2004-07-22 02:10 ]</font>



A few links for anyone who's interested in the concept of "floating points":
http://www.wordiq.com/definition/Floating_point
http://research.microsoft.com/~hollasch ... float.html
Incidentally in searching for these definitions I came across a link to the Sun .au audio file format:
http://astronomy.swin.edu.au/~pbourke/dataformats/au/
Interesting that it provides 32 and 64 bit floating point representations. (According to the link on the same site, WAV files do not.)
Music Manic: Let me stress that, as far as my ears are concerned, there is no difference in audio quality switching from 24 bit integer to 32 bit float etc. For that matter my ears are not "tuned" enough to hear differences between 44.1 kHz sample rate and 96 kHz. Some people can apparently hear the difference in sampling rates, but not me.
However computer geeks have spent the last 40 years tweaking and improving math algorithms for computers. The only thing computers were ever meant to do, in the early days, was calculate solutions to math problems quickly. These days floating point math functions are darned fast.
Audio is very much about math problems. Basic operations like adding, multiplying and subtracting are efficient and precise even using integers. Division is a bit more challenging.
Logarithms, sines and cosines, square roots, and so on, are all floating point operations. And they are all very much a part of audio processing. For example, if you want to calculate the dbFS amplitude ("volume") of an audio signal, the equation is:
Code: Select all
db = 20 log ( <signal level> / <full scale level> )
Now of course I can't speak for CWA or sequencer software makers, who may use shortcuts to calculate the levels shown in peak meters. (*) But this calculation is certainly one way to do it; and it requires floating point math!
But again: nothing to do with "sound quality" exactly. It all has much more to do with processing efficiency. There is a performance hit every time you cast an integer to a floating point for math function calculations, and another one when you cast the floating point back to an integer. You lose precision, too, but that's not something I would worry too much about.
As far as more info about sound processing: Petal and BingoTheClowno recently brought up a couple of interesting audio processing "toolkits" in the Announcements forum. Having only cracked the manuals (I haven't started using 'em yet, mind you) I'd recommend 'em to anyone who's interested in exploring the wonderful and not-quite-as-arcane-as-it-sounds

I suspect I've thoroughly bored everyone to tears by now. My apologies for being a floating point firebrand! I'll end with a couple of words (32 bit words, of course -- groan!) on VDAT:
1) I recently switched to 24 bit recordings and am now getting nasty jitter as long as my Nuendo window is open and not minimized. When I record to VDAT I don't get any jitter at all. I could buy a $500 USD word clock... Or I could use VDAT!

2) For those who are used to working in VST: don't you find working in SFP easier? I'm quite pleased with the single-window recording, myself. In particular the routing is infinitely more flexible than anything I've seen in the VST world. Thoughts?
3) Buy VDAT. It's good!
OK I'll shut up now,
Johann
(*) An old trick for certain types of math problems is to store a giant lookup table in memory, and retrieve math function values from memory. This works especially well for sine, cosine, etc. -- any function that repeats itself over the domain.
<font size=-1>[ This Message was edited by: blazesboylan on 2004-07-22 02:10 ]</font>
-
- Posts: 1963
- Joined: Tue Aug 19, 2003 4:00 pm
- Location: Bath, England
My thoughts:
There's only 2^32 discrete values that can be represented by 32 bits, period. Whether it's interpreted as an integer or a floating point or a fixed point number is irrelevant.
You're generally dealing with an approximation when representing a number which has a decimal point in it - i.e. there's a precision factor involved, but the trade-off is that you can represent a much wider range of numbers. At the end of the day though, it's a 32-bit sample word.
edit: sorry, I also meant to say thanks for all the ASIO-module info!
Royston
<font size=-1>[ This Message was edited by: Counterparts on 2004-07-22 04:28 ]</font>
There's only 2^32 discrete values that can be represented by 32 bits, period. Whether it's interpreted as an integer or a floating point or a fixed point number is irrelevant.
You're generally dealing with an approximation when representing a number which has a decimal point in it - i.e. there's a precision factor involved, but the trade-off is that you can represent a much wider range of numbers. At the end of the day though, it's a 32-bit sample word.
edit: sorry, I also meant to say thanks for all the ASIO-module info!
Royston
<font size=-1>[ This Message was edited by: Counterparts on 2004-07-22 04:28 ]</font>
-
- Posts: 2464
- Joined: Tue Jun 05, 2001 4:00 pm
- Location: Warsaw to Szczecin, Poland
- Contact:
Unlike VDAT, STS records to RAM, I belive which makes it limited. However having lots of RAM and recording several minutes is ok. VDAT is a multitracker, isn't it? SO it can't be replaced with STSOn 2004-07-20 12:32, Shayne White wrote:
OK guys, thanks for the info, but I don't have VDAT! I *do* have the STS though, which does the same 32-bit recording; does it use the same algorithms as VDAT? I'll check it out for recording.

Good points given about floating point math.
Still I wonder why everything that uses integer math, sounds better to me. I mean mixing engines. Previously I had Yamaha DSP Factory, before moved on to pulsar. That card uses 32-bit integer. I used to route my tracks from cubase to Yamaha's mixer. It definitely improved the sound.
SFP sounds better than software engines.
SAW studio sounds better than others
It might be just a strange chance that things I hear sounding good also uses integer.
What comes to hearing difference between 44.1KHz and 96KHz or higher, I think the best way to evaluate it, is to use an EQ that uses oversampling. There is a free VST plugin called 'nyquist eq'. To my ears that eq sounds excellent through whole frequency range.
Still I wonder why everything that uses integer math, sounds better to me. I mean mixing engines. Previously I had Yamaha DSP Factory, before moved on to pulsar. That card uses 32-bit integer. I used to route my tracks from cubase to Yamaha's mixer. It definitely improved the sound.
SFP sounds better than software engines.
SAW studio sounds better than others
It might be just a strange chance that things I hear sounding good also uses integer.
What comes to hearing difference between 44.1KHz and 96KHz or higher, I think the best way to evaluate it, is to use an EQ that uses oversampling. There is a free VST plugin called 'nyquist eq'. To my ears that eq sounds excellent through whole frequency range.
-
- Posts: 1743
- Joined: Wed May 15, 2002 4:00 pm
- Contact:
Thanks guys.
So STS records to RAM.I thought VDAT would have to do this also.So how does it bypass RAM?
Also,if we record to 24 bit in VDAT,for example,then output through phono outs how does Scope deal with dither?
Could someone explain recording(maths)processes of recording,then running through effects,mixers,and how it affects signal please?)
Thakns blazesboylan for maths pointers.
So STS records to RAM.I thought VDAT would have to do this also.So how does it bypass RAM?
Also,if we record to 24 bit in VDAT,for example,then output through phono outs how does Scope deal with dither?
Could someone explain recording(maths)processes of recording,then running through effects,mixers,and how it affects signal please?)
Thakns blazesboylan for maths pointers.
-
- Posts: 1743
- Joined: Wed May 15, 2002 4:00 pm
- Contact:
-
- Posts: 1963
- Joined: Tue Aug 19, 2003 4:00 pm
- Location: Bath, England
Your first sentence above explains why, in fact, you cannot represent every 32-bit integer value with a 32-bit floating point.blazesboylan wrote:
Yes, you lose 8 bits of whole number precision.
If you can find me a number that IS represented by a 32 bit integer but ISN'T represented in the 32 bit floating point domain then I'll send ya a Coke and a bag of chips, on the house.
BTW, I don't think that it's necessarily 8-bits that you lose - it depends on the implementation (although perhaps in the 'digital audio domain', it's always an 8-bit exponent which is used).
Salt 'n' vinegar, please!

An interesting article on fixed-point vs. floating-point arithmetic for DAW systems:
http://www.seneschal.net/papers/bitstre ... eam035.htm
...mentioning SHARC DSPs no less!
Royston
p.s. you can represent any 24-bit integer value with 32-bit floating point, of course!
-
- Posts: 777
- Joined: Sat May 25, 2002 4:00 pm
- Location: The Great White North
- Contact:
I started a reply to this a couple of days ago and then got into a wrestling match with Mozilla. Needless to say Mozilla won. You can all thank it for the relative brevity of this message...! 
@Smartypants: (Errr, I mean Counterparts...
) IEEE is the standard floating point format these days. There are in fact less numbers represented by 32 bit floating point than by 32 bit integer, because of the duplicates (e.g. 1 x 2 ^ 1 == 2 x 2 ^ 0).
You haven't named a specific number so no salt'n'vinegar for you yet. Give me a number!
Incidentally of all the numbers represented by 32 bit signed int that are NOT represented by 32 bit float, the biggest rounding difference is 64. We're talking about numbers that are all over 16 million, so not a huge %. For example, the 32 bit integer:
2,147,483,584
Is rounded in 32 bit floating point to:
2,147,483,648.000000
On the other hand if you were to represent this number as an integer:
-174,128,847,165,414,375,698,728,300,949,473,853,440.000000
It would come out as:
-2,147,483,648
That's a pretty big rounding error!!!
Anyway the precision is not all that important IMHO. It's the fact that the floating point coprocessor on your CPU is there to do floating point math. Digital signal processing is all about logarithms, sines, cosines, etc. So floating point is good. Use the floating point Luke.
BTW that article you linked to is great! The only thing I thought funny was that some crackpot decided to compare 48 bit integer audio to 32 bit floating point. I'd be willing to bet that 24 bit integer works a heckuva lot better than 8 bit floating point... I wonder if anyone will invite me to a conference to discuss.
Anyway thanks for the link!
@Music Manic: I could be wrong, but I had the impression the upcoming CutMaster was to replace TripleDat. I think GaryB has the inside scoop, maybe he can give us one of his long dreary monologues on CutMaster?
(Jus' teasing GaryB.
)
@spiderman: I was the one talking about jitter. Now I'm not sure. *Sigh*. It could be PCI latency I'm suffering from. I think the symptoms are both the same: lots of blurps, splats, narfs, egads, boinks, etc. Dunno if there's any real way to measure either one except with your ears. For me it started when I moved to 24 bit, but minimizing Nuendo alleviates the problem somewhat. I'm considering buying a wordclock anyway, since I figure it will at the very least look cool and provide extra flashing lights.
OK I'm off my floating point soapbox. For real this time.
Counterparts if you want your crisps + Coke you gotta come up with an actual number!
Cheers,
Johann

@Smartypants: (Errr, I mean Counterparts...

You haven't named a specific number so no salt'n'vinegar for you yet. Give me a number!

Incidentally of all the numbers represented by 32 bit signed int that are NOT represented by 32 bit float, the biggest rounding difference is 64. We're talking about numbers that are all over 16 million, so not a huge %. For example, the 32 bit integer:
2,147,483,584
Is rounded in 32 bit floating point to:
2,147,483,648.000000
On the other hand if you were to represent this number as an integer:
-174,128,847,165,414,375,698,728,300,949,473,853,440.000000
It would come out as:
-2,147,483,648
That's a pretty big rounding error!!!
Anyway the precision is not all that important IMHO. It's the fact that the floating point coprocessor on your CPU is there to do floating point math. Digital signal processing is all about logarithms, sines, cosines, etc. So floating point is good. Use the floating point Luke.
BTW that article you linked to is great! The only thing I thought funny was that some crackpot decided to compare 48 bit integer audio to 32 bit floating point. I'd be willing to bet that 24 bit integer works a heckuva lot better than 8 bit floating point... I wonder if anyone will invite me to a conference to discuss.
Anyway thanks for the link!
@Music Manic: I could be wrong, but I had the impression the upcoming CutMaster was to replace TripleDat. I think GaryB has the inside scoop, maybe he can give us one of his long dreary monologues on CutMaster?

(Jus' teasing GaryB.

@spiderman: I was the one talking about jitter. Now I'm not sure. *Sigh*. It could be PCI latency I'm suffering from. I think the symptoms are both the same: lots of blurps, splats, narfs, egads, boinks, etc. Dunno if there's any real way to measure either one except with your ears. For me it started when I moved to 24 bit, but minimizing Nuendo alleviates the problem somewhat. I'm considering buying a wordclock anyway, since I figure it will at the very least look cool and provide extra flashing lights.
OK I'm off my floating point soapbox. For real this time.

Cheers,
Johann
-
- Posts: 1743
- Joined: Wed May 15, 2002 4:00 pm
- Contact:
-
- Posts: 777
- Joined: Sat May 25, 2002 4:00 pm
- Location: The Great White North
- Contact:
I'm very humble in math, but nevertheless the discussion about number precision misses the subject 
It's not about how precise you can represent or divide one or the other value - it's about a continuous flow of processing.
And what are the programmer's most favourable building blocks ?
Yes - loops and iterations.
Without special caution almost anything turns in to random values after enough loop passes - so careless programming IS bound to fail.
That's why there are differences (obviously) in sound quality even if people use the same basic tools.
I have a faint memory from the 80s when we discussed a customer's problems with bookkeeping apps. They dealt with projects usually in the 3 figure million range, but had to be precise to the penny.
Only special 'BCD-math' packages could do the trick. That 'binary coded decimal' was some sophisticated integer math if memory serves me right.
Another point is the demand for absolute precision in audion processing.
It's completely different from a scientific calculation about (say) the acceleration needed to hit a certain planet's orbit, like the thing they recently did when passing between the rings of Saturn
The audio calculation preferably should keep the integrity of the waveform's SHAPE, which is much easier to detect than a similiar (in values) deviation of it's amplitude.
just another 2 cents, Tom

It's not about how precise you can represent or divide one or the other value - it's about a continuous flow of processing.
And what are the programmer's most favourable building blocks ?
Yes - loops and iterations.
Without special caution almost anything turns in to random values after enough loop passes - so careless programming IS bound to fail.
That's why there are differences (obviously) in sound quality even if people use the same basic tools.
I have a faint memory from the 80s when we discussed a customer's problems with bookkeeping apps. They dealt with projects usually in the 3 figure million range, but had to be precise to the penny.
Only special 'BCD-math' packages could do the trick. That 'binary coded decimal' was some sophisticated integer math if memory serves me right.
Another point is the demand for absolute precision in audion processing.
It's completely different from a scientific calculation about (say) the acceleration needed to hit a certain planet's orbit, like the thing they recently did when passing between the rings of Saturn

The audio calculation preferably should keep the integrity of the waveform's SHAPE, which is much easier to detect than a similiar (in values) deviation of it's amplitude.
just another 2 cents, Tom
-
- Posts: 777
- Joined: Sat May 25, 2002 4:00 pm
- Location: The Great White North
- Contact: