Results 21 to 30 of 51
-
2015-11-18, 14:22 #21
- Join Date
- Mar 2007
- Location
- UK
- Posts
- 1,306
Last edited by darrenyeats; 2015-11-18 at 14:35.
-
2015-11-18, 15:20 #22
One exception is shifting bitwise.
http://forums.slimdevices.com/showth...-volume-changeTransporter (modded) -> RG142 -> Avantgarde Acoustic based 500VA monoblocks -> Sommer SPK240 -> self-made speakers
-
2015-11-18, 16:16 #23
re gain staging for use without preamp for example . What you usually do is to adjust the analog gain of the system so that 90-100 of the digital volume is your loudest ever listening level but not louder .
You can do that with passive attenuators , adjustable power amps , adjustable outputs on the DAC ( like transporter )--------------------------------------------------------------------
Main hifi: Rasbery PI digi+ MeridianG68J MeridianHD621 MeridianG98DH 2 x MeridianDSP5200 MeridianDSP5200HC 2 xMeridianDSP3100 +Rel Stadium 3 sub.
Bedroom/Office: Boom
Loggia: Raspi hifiberry dac + Adams
Bathroom : Radio (with battery)
iPad with iPengHD & SqueezePad
(spares Touch, SB3, reciever ,controller )
server Intel NUC Esxi VM Linux mint 18 LMS 7.9.2
http://people.xiph.org/~xiphmont/demo/neil-young.html
-
2015-11-18, 17:47 #24
- Join Date
- May 2015
- Location
- Grosse Pointe Woods, MI
- Posts
- 778
I'll add something here. There is something called self-dither. Most commercial recordings have so much built-in random noise that they effectively dither the downstream reproduction chain and cover up any stages that should be dithered but aren't. This would probably become apparent if DBTs were used to evaluate the issues raised in this thread.
-
2015-11-18, 20:26 #25
Dithered volume control for Squeezebox
That's only half true.
1. Yes, SqueezePlay does have two overlapping volume ramps and there's actually even a volume level at which increasing the "logical" volume level by one decreases the actual volume level (between step 38 and 39 I believe... might have mis-counted by one or two, though).
The reason for this is that you want different levels of volume change for high and low relative volume levels. A "linear" (of course it's actually logarithmic) change would either have too big steps at high volume levels or too small steps at low levels.
So if you don't like the ramp using an external volume control might help.
2. SqueezePlay doesn't necessarily clip with 16 bit material.
EDIT: my original assumption (remembering the table wrongly) was that it uses the remaining 8 bit to scale but it doesn't, it uses a 16 bit volume range because -48 dB would probably not be silent enough.
I haven't checked which ones of the volume steps potentially clip, obviously all that go beyond -48 dB do but there are only 17 of those (steps 0 to 16). If you want to optimize for clipping it might be worthwhile to optimize this table. It's in the lua source code so you can actually do that.
EDIT2: OK, I re-checked again and as it stands the whole upper volume range is already optimized for this. So that whole upper part of the curve (down to level 39) does NOT have any clipping for 16 bit values because it only uses the upper 8 bit of the volume factor.
Between level 38 and 39 the scale changes (39 equates to a lower actual volume level than volume step 38) and below that (for more silent volume levels) you will see clipping at -144dB.
3. For 24 bit material EVERY volume control will clip, even a dithering one.
It does clip at -144dB, though so if any your dithering effect will be a noise "optimization" (it's not a reduction because as mentioned before dithering itself is just adding noise, too) of -147dB. Worthwhile all the hassle?Last edited by pippin; 2015-11-18 at 21:03.
---
learn more about iPeng, the iPhone and iPad remote for the Squeezebox and
Logitech UE Smart Radio as well as iPeng Party, the free Party-App,
at penguinlovesmusic.com
New: iPeng 9, the Universal App for iPhone, iPad and Apple Watch
-
2015-11-19, 00:32 #26
- Join Date
- Mar 2007
- Location
- UK
- Posts
- 1,306
Pippin, I've seen such custom tables but are you SURE that SqueezePlay uses such a table? Because the code has a parameter for the total volume range (74dB) that can be set to any value. Also parameters for the ramping. I infer there is no mapping to a custom table like for SB/Transporter.
I didn't write linear, I wrote equally divided by dB, which is itself a logarithmic scale.
DarrenLast edited by darrenyeats; 2015-11-19 at 00:58.
-
2015-11-19, 01:52 #27
- Join Date
- Mar 2007
- Location
- UK
- Posts
- 1,306
Right. Plus the studio probably does all sorts of processing at high accuracy and sampling rate - when they reduce effective bit depth for the 16/44 file they'll have to add dither at 16 bits.
Still, correctly implemented digital volume control will handle any recording, at 16 or 24 bits, at any volume level, without adding any digital distortion.Last edited by darrenyeats; 2015-11-19 at 06:15.
-
2015-11-19, 12:07 #28
Yes, I am sure.
The player even matches gain values coming from the server (e.g. when using replay gain or fade-in/-out) to the table and picks a matching gain value from the table.
Because the code has a parameter for the total volume range (74dB) that can be set to any value. Also parameters for the ramping. I infer there is no mapping to a custom table like for SB/Transporter.
Could it be that what you found is for the volume control and defines the stepping of the volume buttons/scale? That would still then be translated based on this curve by the player.
Player and UI are separate logical entities in SqueezePlay (the UI can connect to a remote player, for example).
I didn't write linear, I wrote equally divided by dB, which is itself a logarithmic scale.Last edited by pippin; 2015-11-19 at 12:10.
---
learn more about iPeng, the iPhone and iPad remote for the Squeezebox and
Logitech UE Smart Radio as well as iPeng Party, the free Party-App,
at penguinlovesmusic.com
New: iPeng 9, the Universal App for iPhone, iPad and Apple Watch
-
2015-11-20, 01:11 #29
- Join Date
- Mar 2007
- Location
- UK
- Posts
- 1,306
Pippin,
So the table is in a firmware layer on (say) the Touch? And the table translates incoming dB/scaling values to the nearest scaling value that matches in its table? (BTW, if that were true, technically the table wouldn't be in SqueezePlay.)
Thanks, Darren
PS: I ask out of curiosity only, since I listen over wide volume range and I have 24 bit music ...Last edited by darrenyeats; 2015-11-20 at 01:56.
-
2015-11-20, 04:01 #30
Dithered volume control for Squeezebox
It's not in the firmware, it's in SqueezePlay. Both technically and really. It's in Playback.lua which is the player code.
It's not overridden per device which came as a surprise to me because I had considered the Touch might have a different curve from Radio or Controller. This is actually the curve originally coming from the Boom. I believe SB3 and Transporter have different curves.Last edited by pippin; 2015-11-20 at 04:05.
---
learn more about iPeng, the iPhone and iPad remote for the Squeezebox and
Logitech UE Smart Radio as well as iPeng Party, the free Party-App,
at penguinlovesmusic.com
New: iPeng 9, the Universal App for iPhone, iPad and Apple Watch