Yeah, author of the paper also mention its not proven to make a difference. Still I find the idea intriguing. To the point I had SoX suffer by my scripting.
SoX here seem to do rounding and I wonder if same numbers could apply to CDSP?
sox -v.5684447589 'testfile*' -n stats
will show bit-depth needed for any given FP factor.
Bash:
~$ sox -v.5684447589 'noise070s.wav' -n stats
Overall Left Right
DC offset -0.000203 -0.000203 0.000052
Min level -0.397988 -0.397970 -0.397988
Max level 0.397988 0.397970 0.397988
Pk lev dB -8.00 -8.00 -8.00
RMS lev dB -12.77 -12.77 -12.78
RMS Pk dB -12.55 -12.55 -12.56
RMS Tr dB -13.04 -13.01 -13.04
Crest factor - 1.73 1.73
Flat factor 0.00 0.00 0.00
Pk count 9.50 16 3
Bit-depth 31/32 31/32 31/32
SoX here seem to do rounding and I wonder if same numbers could apply to CDSP?
pow(10, -6.020599913279624 / 20) = 0.49999999999999999448961326390771
Bash:
~$ sox -v.49999999999999999448961326390771 'noise070s.wav' -n stats
Overall Left Right
DC offset -0.000179 -0.000179 0.000046
Min level -0.350067 -0.350052 -0.350067
Max level 0.350067 0.350052 0.350067
Pk lev dB -9.12 -9.12 -9.12
RMS lev dB -13.89 -13.89 -13.89
RMS Pk dB -13.66 -13.66 -13.67
RMS Tr dB -14.15 -14.12 -14.15
Crest factor - 1.73 1.73
Flat factor 0.00 0.00 0.00
Pk count 9.50 16 3
Bit-depth 16/17 16/17 16/17
True 🙂 But this is more what I'm aiming for.Bit shifts will get you a quite crude volume control as you only get 6 dB steps as 1 bit = 6 dB.
Calculatet and tested with SoX from 8 step for each 6dB. 1.0000 .8750 .8125 .7500 .6875 .6250 .5625 .5000
Code:
1.0000000000 0 dB Bit-depth: 16 [16/16 16/16 16/16]
.8750000000 -1.1596 dB Bit-depth: 19 [19/19 19/19 19/19]
.8125000000 -1.8032 dB Bit-depth: 20 [20/20 20/20 20/20]
.7500000000 -2.4981 dB Bit-depth: 18 [18/18 18/18 18/18]
.6875000000 -3.2538 dB Bit-depth: 20 [20/20 20/20 20/20]
.6250000000 -4.0825 dB Bit-depth: 19 [19/19 19/19 19/19]
.5625000000 -4.9971 dB Bit-depth: 19 [19/20 19/20 19/20]
.5000000000 -6.0204 dB Bit-depth: 16 [16/17 16/17 16/17]
.4375000000 -7.1800 dB Bit-depth: 19 [19/20 19/20 19/20]
.4062500000 -7.8236 dB Bit-depth: 20 [20/21 20/21 20/21]
.3750000000 -8.5194 dB Bit-depth: 18 [18/19 18/19 18/19]
.3437500000 -9.2751 dB Bit-depth: 20 [20/21 20/21 20/21]
.3125000000 -10.1029 dB Bit-depth: 19 [19/20 19/20 19/20]
.2812500000 -11.0184 dB Bit-depth: 19 [19/21 19/21 19/21]
.2500000000 -12.0408 dB Bit-depth: 16 [16/18 16/18 16/18]
.2187500000 -13.2013 dB Bit-depth: 19 [19/21 19/21 19/21]
.2031250000 -13.8449 dB Bit-depth: 20 [20/22 20/22 20/22]
.1875000000 -14.5398 dB Bit-depth: 18 [18/20 18/20 18/20]
.1718750000 -15.2955 dB Bit-depth: 20 [20/22 20/22 20/22]
.1562500000 -16.1233 dB Bit-depth: 19 [19/21 19/21 19/21]
.1406250000 -17.0388 dB Bit-depth: 19 [19/22 19/22 19/22]
.1250000000 -18.0621 dB Bit-depth: 16 [16/19 16/19 16/19]
.1093750000 -19.2217 dB Bit-depth: 19 [19/22 19/22 19/22]
.1015625000 -19.8653 dB Bit-depth: 20 [20/23 20/23 20/23]
.0937500000 -20.5611 dB Bit-depth: 18 [18/21 18/21 18/21]
.0859375000 -21.3168 dB Bit-depth: 20 [20/23 20/23 20/23]
.0781250000 -22.1446 dB Bit-depth: 19 [19/22 19/22 19/22]
.0703125000 -23.0601 dB Bit-depth: 19 [19/23 19/23 19/23]
.0625000000 -24.0825 dB Bit-depth: 16 [16/20 16/20 16/20]
.0546875000 -25.2429 dB Bit-depth: 19 [19/23 19/23 19/23]
.0507812500 -25.8866 dB Bit-depth: 20 [20/24 20/24 20/24]
.0468750000 -26.5815 dB Bit-depth: 18 [18/22 18/22 18/22]
.0429687500 -27.3372 dB Bit-depth: 20 [20/24 20/24 20/24]
.0390625000 -28.1650 dB Bit-depth: 19 [19/23 19/23 19/23]
.0351562500 -29.0805 dB Bit-depth: 19 [19/24 19/24 19/24]
.0312500000 -30.1038 dB Bit-depth: 16 [16/21 16/21 16/21]
.0273437500 -31.2634 dB Bit-depth: 19 [19/24 19/24 19/24]
.0253906250 -31.9070 dB Bit-depth: 20 [20/25 20/25 20/25]
.0234375000 -32.6028 dB Bit-depth: 18 [18/23 18/23 18/23]
.0214843750 -33.3585 dB Bit-depth: 20 [20/25 20/25 20/25]
.0195312500 -34.1863 dB Bit-depth: 19 [19/24 19/24 19/24]
.0175781250 -35.1018 dB Bit-depth: 19 [19/25 19/25 19/25]
.0156250000 -36.1242 dB Bit-depth: 16 [16/22 16/22 16/22]
.0136718750 -37.2846 dB Bit-depth: 19 [19/25 19/25 19/25]
.0126953125 -37.9283 dB Bit-depth: 20 [20/26 20/26 20/26]
.0117187500 -38.6232 dB Bit-depth: 18 [18/24 18/24 18/24]
.0107421875 -39.3789 dB Bit-depth: 20 [20/26 20/26 20/26]
.0097656250 -40.2067 dB Bit-depth: 19 [19/25 19/25 19/25]
.0087890625 -41.1222 dB Bit-depth: 19 [19/26 19/26 19/26]
.0078125000 -42.1454 dB Bit-depth: 16 [16/23 16/23 16/23]
.0068359375 -43.3051 dB Bit-depth: 19 [19/26 19/26 19/26]
.0063476562 -43.9487 dB Bit-depth: 20 [20/27 20/27 20/27]
.0058593750 -44.6445 dB Bit-depth: 18 [18/25 18/25 18/25]
.0053710937 -45.4002 dB Bit-depth: 20 [20/27 20/27 20/27]
.0048828125 -46.2280 dB Bit-depth: 19 [19/26 19/26 19/26]
.0043945312 -47.1426 dB Bit-depth: 19 [19/27 19/27 19/27]
.0039062500 -48.1659 dB Bit-depth: 16 [16/24 16/24 16/24]
.0034179687 -49.3263 dB Bit-depth: 19 [19/27 19/27 19/27]
.0031738281 -49.9700 dB Bit-depth: 20 [20/28 20/28 20/28]
.0029296875 -50.6649 dB Bit-depth: 18 [18/26 18/26 18/26]
.0026855468 -51.4206 dB Bit-depth: 20 [20/28 20/28 20/28]
.0024414062 -52.2484 dB Bit-depth: 19 [19/27 19/27 19/27]
.0021972656 -53.1639 dB Bit-depth: 19 [19/28 19/28 19/28]
.0019531250 -54.1871 dB Bit-depth: 16 [16/25 16/25 16/25]
.0019531250 -54.1871 dB Bit-depth: 16 [16/25 16/25 16/25]
.0017089843 -55.3467 dB Bit-depth: 19 [19/28 19/28 19/28]
.0015869140 -55.9904 dB Bit-depth: 20 [20/29 20/29 20/29]
.0014648437 -56.6862 dB Bit-depth: 18 [18/27 18/27 18/27]
.0013427734 -57.4419 dB Bit-depth: 20 [20/29 20/29 20/29]
.0012207031 -58.2697 dB Bit-depth: 19 [19/28 19/28 19/28]
.0010986328 -59.1843 dB Bit-depth: 19 [19/29 19/29 19/29]
.0009765625 -60.2076 dB Bit-depth: 16 [16/26 16/26 16/26]
.0008544921 -61.3680 dB Bit-depth: 19 [19/29 19/29 19/29]
.0007934570 -62.0117 dB Bit-depth: 20 [20/30 20/30 20/30]
.0007324218 -62.7066 dB Bit-depth: 18 [18/28 18/28 18/28]
.0006713867 -63.4623 dB Bit-depth: 20 [20/30 20/30 20/30]
.0006103515 -64.2901 dB Bit-depth: 19 [19/29 19/29 19/29]
.0005493164 -65.2056 dB Bit-depth: 19 [19/30 19/30 19/30]
.0004882812 -66.2288 dB Bit-depth: 16 [16/27 16/27 16/27]
.0004272460 -67.3884 dB Bit-depth: 19 [19/30 19/30 19/30]
.0003967285 -68.0321 dB Bit-depth: 20 [20/31 20/31 20/31]
.0003662109 -68.7279 dB Bit-depth: 18 [18/29 18/29 18/29]
.0003356933 -69.4836 dB Bit-depth: 20 [20/31 20/31 20/31]
.0003051757 -70.3114 dB Bit-depth: 19 [19/30 19/30 19/30]
.0002746582 -71.2260 dB Bit-depth: 19 [19/31 19/31 19/31]
.0002441406 -72.2492 dB Bit-depth: 16 [16/28 16/28 16/28]
.0002136230 -73.4089 dB Bit-depth: 19 [19/31 19/31 19/31]
.0001983642 -74.0534 dB Bit-depth: 20 [20/32 20/32 20/32]
.0001831054 -74.7483 dB Bit-depth: 18 [18/30 18/30 18/30]
.0001678466 -75.5040 dB Bit-depth: 20 [20/32 20/32 20/32]
.0001525878 -76.3318 dB Bit-depth: 19 [19/31 19/31 19/31]
.0001373291 -77.2473 dB Bit-depth: 19 [19/32 19/32 19/32]
.0001220703 -78.2705 dB Bit-depth: 16 [16/29 16/29 16/29]
.0001068115 -79.4301 dB Bit-depth: 19 [19/32 19/32 19/32]
.0000991821 -80.0738 dB Bit-depth: 19 [19/32 19/32 19/32]
.0000915527 -80.7687 dB Bit-depth: 18 [18/31 18/31 18/31]
.0000839233 -81.5252 dB Bit-depth: 19 [19/32 19/32 19/32]
.0000762939 -82.3530 dB Bit-depth: 19 [19/32 19/32 19/32]
.0000686645 -83.2677 dB Bit-depth: 18 [18/32 18/32 18/32]
.0000610351 -84.2909 dB Bit-depth: 16 [16/30 16/30 16/30]
.0000534057 -85.4505 dB Bit-depth: 18 [18/32 18/32 18/32]
.0000495910 -86.0951 dB Bit-depth: 18 [18/32 18/32 18/32]
.0000457763 -86.7900 dB Bit-depth: 18 [18/32 18/32 18/32]
.0000419616 -87.5457 dB Bit-depth: 18 [18/32 18/32 18/32]
.0000381469 -88.3735 dB Bit-depth: 18 [18/32 18/32 18/32]
.0000343322 -89.2890 dB Bit-depth: 17 [17/32 17/32 17/32]
.0000305175 -90.3122 dB Bit-depth: 16 [16/31 16/31 16/31]
.0000267028 -91.4718 dB Bit-depth: 17 [17/32 17/32 17/32]
.0000247955 -92.1155 dB Bit-depth: 17 [17/32 17/32 17/32]
.0000228881 -92.8104 dB Bit-depth: 17 [17/32 17/32 17/32]
.0000209808 -93.5669 dB Bit-depth: 17 [17/32 17/32 17/32]
.0000190734 -94.3947 dB Bit-depth: 17 [17/32 17/32 17/32]
.0000171661 -95.3094 dB Bit-depth: 16 [16/32 16/32 16/32]
.0000152587 -96.3326 dB Bit-depth: 16 [16/32 16/32 16/32]
If better resolutinon are needed will these factors give 34 step for each 6 dB within 22 bit
1.000000 .984375 .968750 .953125 .937500 .921875 .906250 .890625 .875000 .859375 .843750 .828125 .812500 .796875 .781250 .765625 .750000 .734375 .718750 .703125 .687500 .671875 .656250 .640625 .625000 .609375 .593750 .578125 .562500 .546875 .531250 .515625 .500000
Last edited:
Sorry for another post, the edit post time frame windows are little short for editing in afterthoughts.
SoX rounding up to .5 (1 bit) seam to take place from
SoX rounding up to .5 (1 bit) seam to take place from
sox -v.4999999997 'noise070s.wav' -n stats
. Factor v.4999999996 will need 32 bit with SoX. Not clear if rounding take place at parameter input which I think would be strange?CamillaDSP does everything with floating point math. All gain (in mixers, volume and gain filters etc) is applied by calculating the linear gain factor from the given value in dB. This is then multiplied with all sample values. There is no rounding except for the inherent precision of the 64-bit floats (or 32-bit if compiled for that).
That means the result of any math operation is rounded to about 16 digits (or 8 for 32-bit).
Most log messages have some rounding because 16 digits gets too long. Rounding down to 4 or so makes them much easier to read.
Integer factor resampling is not bit-perfect because the resampler always applies an anti-aliasing filter. And as soon as there is any kind of filtering, bit-perfectness is just gone.
There have been requests to add an option to specify gain as a linear coefficient, so you can get for example exactly 0.5 by just giving that instead of that long -6.020599.. number. That will come in the v1.1.
That means the result of any math operation is rounded to about 16 digits (or 8 for 32-bit).
Most log messages have some rounding because 16 digits gets too long. Rounding down to 4 or so makes them much easier to read.
Integer factor resampling is not bit-perfect because the resampler always applies an anti-aliasing filter. And as soon as there is any kind of filtering, bit-perfectness is just gone.
There have been requests to add an option to specify gain as a linear coefficient, so you can get for example exactly 0.5 by just giving that instead of that long -6.020599.. number. That will come in the v1.1.
collegues! please help, where i can read about setup camilla dsp with mpd player?
i need to make playing mpd via camilla
i need to make playing mpd via camilla
Just list your sources and use that is the capture device.
There is a script on the Camilla page that do that - 3rd row..
https://github.com/HEnquist
//
There is a script on the Camilla page that do that - 3rd row..
https://github.com/HEnquist
//
You have to make the output of mpd player to loopback, and the capture device of cdsp then is loopback.collegues! please help, where i can read about setup camilla dsp with mpd player?
i need to make playing mpd via camilla
When I jump around in my "Shortcuts" I get different sound from one and the same config depending on which "route" around the different configs I take. It seems that the sound from one and the same is different depending of what was loaded jus before in time...
//
//
I think this might be the same issue @mdsimon2 reported a few days ago. Does it give you the right config if you click the config shortcut twice?When I jump around in my "Shortcuts" I get different sound from one and the same config depending on which "route" around the different configs I take. It seems that the sound from one and the same is different depending of what was loaded jus before in time...
//
Hello everyone.
I got amazed abou the camilla DSP performance and capability..much more flexible than any standard DSP Xover device.
But..guys..i would like to have some support about the Hd configuration.
I would like to build up a 4 way active speaker system.
So..i would need a multichannel DAC for sure ..8 eight outputs..
But..what about the input...do i need 8 digital input..or..is it possible to use an USB connection to carry on the 8 channel signals from Camilla to the DAC?
Using a Rapsberry..which IN / OUT interface do i need to have?
Many thanks in advance.
Maurizio
I got amazed abou the camilla DSP performance and capability..much more flexible than any standard DSP Xover device.
But..guys..i would like to have some support about the Hd configuration.
I would like to build up a 4 way active speaker system.
So..i would need a multichannel DAC for sure ..8 eight outputs..
But..what about the input...do i need 8 digital input..or..is it possible to use an USB connection to carry on the 8 channel signals from Camilla to the DAC?
Using a Rapsberry..which IN / OUT interface do i need to have?
Many thanks in advance.
Maurizio
The computer running Camilla will produce 8 channels out and they could all be carried by one USB cable. Be sure to get a 8ch USB DAC that is compatible with Pi - all aren't as I understand it.
//
//
Hello everyone.
I got amazed abou the camilla DSP performance and capability..much more flexible than any standard DSP Xover device.
But..guys..i would like to have some support about the Hd configuration.
I would like to build up a 4 way active speaker system.
So..i would need a multichannel DAC for sure ..8 eight outputs..
But..what about the input...do i need 8 digital input..or..is it possible to use an USB connection to carry on the 8 channel signals from Camilla to the DAC?
Using a Rapsberry..which IN / OUT interface do i need to have?
Many thanks in advance.
Maurizio
I suggest you consider the Behringer UMC1820. This USB interface has 10 analog outputs, can run at up to 96k Hz, and is fully Linux compliant. It has good sound quality and makes a perfect starter interface. You can use its analog or digital inputs if you want to play from sources that are external to the Raspberryr Pi, or you can play files and streams on the Pi and use the interface like a DAC. The UMC1820 costs about US$250.
Hi Charlie. So..following what TNT wrote me..i should use the usb port on the UNM1820.
I found as well a very interesting multichannel dac from topping.
https://www.audiophonics.fr/en/dac-...m-trs-32bit-192khz-dsd128-silver-p-16663.html
Do you think could be used together with Camilla?
Many thanks in advance.
Maurizio
I found as well a very interesting multichannel dac from topping.
https://www.audiophonics.fr/en/dac-...m-trs-32bit-192khz-dsd128-silver-p-16663.html
Do you think could be used together with Camilla?
Many thanks in advance.
Maurizio
Yes the DM7 is an excellent DAC, and from what I have read it seems to be Linux compliant. The only problem is that there is no input, so you can only play audio files and streams from the Pi itself. It is a better DAC compared to the Behringer, but probably only if you use it with balanced connections (TRS or XLR type). Otherwise the Behringer is less than half the price and offers inputs. There is also the MOTU Ultralite mk5 that you could consider. It has very high audio performance, has audio inputs, and works great with CDSP.
There is really no intricate relation between Camilla and the DAC. Camilla outputs PCM signal wich any DAC should be able to process. A concern is the USB compatibility / driver aspect.
//
//
Hi.Yes the DM7 is an excellent DAC, and from what I have read it seems to be Linux compliant. The only problem is that there is no input, so you can only play audio files and streams from the Pi itself. It is a better DAC compared to the Behringer, but probably only if you use it with balanced connections (TRS or XLR type). Otherwise the Behringer is less than half the price and offers inputs. There is also the MOTU Ultralite mk5 that you could consider. It has very high audio performance, has audio inputs, and works great with CDSP.
Well i'm not interested to other inputs. At the moment my audio source is a Futro with Daphile. I'm not using the CDP anymore so far..I think i will first start to test Camilla on Raspberry..
But..i would need to use a different streamer..as daphile is not working on Raspberry.
Try Volumio - then you get CamiilaDSP onboard with the Volumio distro. Cant be any easier... again: check USB DAC compatibility.
https://volumio.com/en/get-started/
//
https://volumio.com/en/get-started/
//
Thanks a lot guys.
I will.
By the way ..i a list of camilla compatible dacs..and this should works as well..
https://www.diyinhk.com/shop/audio-...high-quality-usb-tofrom-i2sdsd-spdif-pcb.html
I will.
By the way ..i a list of camilla compatible dacs..and this should works as well..
https://www.diyinhk.com/shop/audio-...high-quality-usb-tofrom-i2sdsd-spdif-pcb.html
- Home
- Source & Line
- PC Based
- CamillaDSP - Cross-platform IIR and FIR engine for crossovers, room correction etc