Integer is King? - the challenge

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

Post

whyterabbyt wrote:
camsr wrote: Why do you think studio equipment runs on a higher voltage than consumer grade equipment?
whit?
http://www.sengpielaudio.com/calculator-db-volt.htm

Post

you cant get better than about 120db with current low grade technology (which is what you use) due to the fact that at low voltages and currents, the circuits are influenced by outside noise sources easily. if you increase the voltages you run into serious slew-rate issues. if you increase the currents you run into serious thermal issues. the balancing point happens to be at about 120db.

high grade equipment runs at 10vpp, mid grade runs at 5vpp, consumer grade runs at 2vpp. different modular synthesizers for example use different peak levels. generally the good quality modulars have a signal level of 10vpp and a peak processing level of 20vpp.

if you want to see an example of this you can look at:

cheapo casio keyboard: 1vpp
mid grade whatever: 2vpp
yamaha dx-7: 5vpp

measure with your dmm.

i bought a sh-09 a few years ago. the factory output levels were at about 1.5vpp. there were serious noise and buzzing issues. i added some emi shields and modified the circuits to increase the output levels to 5vpp. the difference was extreme. i'm talking a change of noise levels from -60db to -100db.
Last edited by aciddose on Tue Jun 05, 2007 11:08 am, edited 1 time in total.

Post

So do you think if I was DJing in a club, and I turned up the sound real loud, the crowd would boo at me cause they could hear the stupid integers truncating themselves?

Post

camsr wrote:
Christian Budde wrote:
camsr wrote:wtf are "nasa grade" convertors? dB is a relative term and at higher voltage its possible to get a snr better than 120dB. Why not?
Yes 'dB' is realtive, so why should it be any better at higher voltage?
Heat won't have the same effect on a higher voltage because it just dominates with energy. And were not talking about gain, this is about DA conversion or have you already forgot? Why do you think studio equipment runs on a higher voltage than consumer grade equipment? The increased energy factors out other sources of noise.
To a degree, but since for every 6db (1 bits worth) you have to double your voltage you then start running into other problems if you take it too far, for example crosstalk will go up unless you seperate things out more, you'll need bigger power supplies, unless you have special cooling things will get hotter which will increase thermal noise, and so on.

Anyway 120dB takes you from the threshold of hearing to the pain threshold, so unless you are some deity that can hear a gnat's fart on a motorway, it's not really worth stressing over.

Post

and at what point does that involve the gear itself running at 'higher voltages'?
my other modular synth is a bugbrand

Post

look at the international levels table.

Post

camsr wrote:look at the international levels table.
and?
my other modular synth is a bugbrand

Post

JonHodgson wrote:Anyway 120dB takes you from the threshold of hearing to the pain threshold, so unless you are some deity that can hear a gnat's fart on a motorway, it's not really worth stressing over.
well taking account cumulation of s/n inside a system the issue isn't as simple as comparing it to the threshold of pain in hearing. inside a complex synth the s/n ratio will sooner or later become an issue due to volume scaling and control signal interactions.

Post

aciddose wrote:high grade equipment runs at 10vpp, mid grade runs at 5vpp, consumer grade runs at 2vpp. different modular synthesizers for example use different peak levels. generally the good quality modulars have a signal level of 10vpp and a peak processing level of 20vpp.
What a load of bollocks
Image
Now with improved MIDI jitter!

Post

Image

"Righty-ho Cholmondley. That's mid-range equipment, so no more than five volts peak to peak."
Image
Now with improved MIDI jitter!

Post

nuffink wrote: "Righty-ho Cholmondley. That's mid-range equipment, so no more than five volts peak to peak."
"Is that european 'mid-range' or american 'mid-range'"
my other modular synth is a bugbrand

Post

Kingston wrote:
JonHodgson wrote:Anyway 120dB takes you from the threshold of hearing to the pain threshold, so unless you are some deity that can hear a gnat's fart on a motorway, it's not really worth stressing over.
well taking account cumulation of s/n inside a system the issue isn't as simple as comparing it to the threshold of pain in hearing. inside a complex synth the s/n ratio will sooner or later become an issue due to volume scaling and control signal interactions.
I was referring to the limitations of the DAC, not the sample stream being fed into it.

Post

Ok, can we please get back to the original topic here. From this point please open up a new thread if you want to continue talk about DA convertertion.

Here are some measurement results: For a harmonic distortion measurement of a mid setting (gain/attenuate all bands at differend frequencies) I end up with an overall SNR of -136dB (floating point) and -144,5dB (fixed point).
Keep in mind that with this test floating point performs worse because it works better with very samll signals, while in this case I used a fullscale pure tone. Around fullscale you have a better resolution with fixed point. In that case you only have the 51bit of the mantissa as resolution, comparing to the 6Xbit in integer64 representation (I used some bits to have overhead).
However that 51bit are still superior to 32bits of a normal integer.

Ok, back to the code thing:

I coded the plugin in pascal which has the native types Double and Int64. Thus my source code is more or less equal:

Per sample processing:

Code: Select all

Output   := Nominator[0] * Input + State[0];
State[0] := Nominator[1] * Input - Denominator[1] * Output + State[1];
State[1] := Nominator[2] * Input - Denominator[2] * Output;
For type 'Double' all the coefficients and states (Input, Output, Nominator, Denominator and State) are Doubles. In contrast they are of the type Int64.
The coefficients are calculated entirely using floating point operations (but immediatly transformed to fixed point).

Note: The outer processing loop converts the sample to double/int64 where they maintain until the final bumb down. The bumb down is done without any kind of dither/noiseshaper and the Integer64 are normed to 56bit to have some headroom for boosting. I might increase this, but this way we're on the secure side.

Ok, I'm having some lunch now. See ya,

Christian

Post

The harmonic distortion value here is going to be irrelevant, unless something clips it's going to be well below any noise in your system.

But you can't just swap doubles for ints in a filter and expect it to sound the same.

Post

X, Y, Z don't make any (relevant) difference.

BUT: I think I said this in the other thread, for EQ float is working fine. Even the Sawstudio EQs use float (whereas the rest is integer).

So what I'd like to hear is a compressor and/or modulation plugin comparison. Still, thanks alot for your efforts, we can be sure now that float is fine for EQs!

Post Reply

Return to “DSP and Plugin Development”