Post by sdiesel77Hi All,
I made these notes when I was messing around with the Touch and EDO/TT3,
don't know if you can make anything of them.
If you want to use these settings then it is best to copy the whole text
into a text file as sometimes the lines get truncated if copying line by
line.
These settings attempt to remove the digital sound from the Touch
playback, from my own findings and feedback from people who have used
them the result is a smoother more analogue and yet still detailed sound
which some people may prefer.
They do this by using larger tcp and alsa_buffer sizes and other tcp
settings as well as optimised kernel and priority settings .
Whether the they are the best settings for your system is obviously open
to debate, I am happy with them in my system and I have tried XXhighend,
JRMC, Foobar2000, ASIO, WASAPI, KS etc and keep coming back to the
Touch, TT3.0, EDO and these settings.
Warning - these settings are ones I am using in my system without any
issues. They may not work in other systems and it is your responsibility
to ensure that any code is backed up before changing and you know how to
back out the changes.
No liability is accepted by the author for any damages caused by the use
of these settings.
Thanks to Soundcheck for TT3.0, Triode for the EDO mod and the members
of the SlimDevices Forum who were brave enough to try these and provide
valuable feedback.
I am using these settings asynchronously connected to a Musical Fidelity
V Link 192 - best sound I have heard, layer upon layer of detail.
Amazing. So congratulations again to Triode for his hard work.
However, the base EDO sound is quite thin and lacking bass, I have
included settings to solve this - sections 1,3,4 and 5.
Am using alsa buffer of 999999999, periodcount of 64 and large rmem
values without a problem.
These modification are designed to improve the sound of the Logitech
Squeezebox Touch and are based on an ethernet attached digital out
Touch. Wireless and analogue out setups may also benefit, but may need
different settings.
It is recommended to have the Triode EDO and Soundcheck TT3.0 mods
applied first or TT3.0 as a minimum.
http://soundcheck-audio.blogspot.co.uk/2011/11/touch-toolbox-30.html
http://forums.slimdevices.com/showthread.php?94512-Announce-Enhanced-Digital-Output-app-USB-Dac-and-192k-Digital-Ouput
I use tagged WAV files or uncompressed FLAC files created using
DBPoweramp. The best sound is obtained by decoding on the server rather
than the Touch, otherwise the settings will need to be changed to cope
with the extra load on the Touch.
usb dac connected Touches will need IRQ-37 given a higher priority (95),
the settings have been been used successfully by a few people including
myself.
do this by changing the following in the priority section
PRIOIRQ37=0
to
PRIOIRQ37=95
and
chrt -o -p $PRIOIRQ37 $PIDIRQ37 >/dev/null 2>&1
to
chrt -f -p $PRIOIRQ37 $PIDIRQ37 >/dev/null 2>&1
and
PRIOIRQ47=36
to
PRIOIRQ47=0
and
chrt -f -p $PRIOIRQ47 $PIDIRQ47 >/dev/null 2>&1
to
chrt -o -p $PRIOIRQ47 $PIDIRQ47 >/dev/null 2>&1
If going back to using digital out then just reverse the settings
above.
note - the 12000000 figure in the following lines (see step 3) can be
increased to 42958848 maximum to improve the sound, however the sound
does tend to have hiccups and may pause in some setups, in which case
lower the values. I use the 42958848 value without any problems.
echo "12000000" > /proc/sys/net/core/rmem_max
echo "12000000" > /proc/sys/net/core/rmem_default
echo "655360" > /proc/sys/net/core/wmem_max
echo "65536" > /proc/sys/net/core/wmem_default
echo "4096 12000000 12000000" > /proc/sys/net/ipv4/tcp_rmem
The settings below use 100000 as the alsa buffer value, this is the
minimum value that gives the largest buffer size, it's a bit technical
to explain why. The maximum is 999999999, but some people have problems
with that setting. For EDO users with a USBDAC connected to the Touch
the 100000 setting is recommended.
If you are streaming low sample rate radio etc then a periodcount of 2
works otherwise 10 is a good value to use with alsa buffer of 100000. I
am using alsa_buffer of 999999999 and periodcount of 64.
TCP settings on the server - these also make a difference. I have Nagles
algorithm disabled (using TCPOptimiser) and the RWin value set to
1073741823 (can be set directly in the registry - even though it is not
supposed to have an effect in Win7 there is an audible difference).
EDO specific changes
if you have the triode enhanced digital output (EDO) installed make the
following 3 changes, if you don't have EDO installed go to change 4.
copy and paste don't try typing the values in case of mistakes.
If you have the triode EDO installed then you won't be able to use TT -b
xxxx to change the alsa buffer size, if you want to change the buffer
size then follow steps 2,3,4,5 swapping 100000 for your required value.
If you find you are not able to change the EDO related files after an
EDO install/update then try switching the Touch off at the mains as it
seems to leave the user permissions in a funny state.
or you can try the following which allows you to change thesettings in
EnhancedDigitalOutputApplet.lua.
open file
/usr/share/jive/applets/EnhancedDigitalOutput/EnhancedDigitalOutputApplet.lua
search for the word buffer and add the following line
{ desc = "BUFFER_999 ", time = 999999999, count = 4 },
so it looks like the following
menu:addItem({
text = self:string("BUFFER_TUNING"),
sound = "WINDOWSHOW",
callback = function(event, menuItem)
local options = {
{ desc = "BUFFER_DEFAULT", time = 20000, count = 2 },
{ desc = "BUFFER_LARGE", time = 100000, count = 4 },
{ desc = "BUFFER_SMALL", time = 4000, count = 2 },
{ desc = "BUFFER_RAND", time = 100000, count = 104 },
{ desc = "BUFFER_999 ", time = 999999999, count = 4 },
}
save the changes and restart the Touch and you will be able to choose
BUFFER_999 from the Touch menu as well as all the other options.
The settings below are based on a digital out sp/dif connection.
Change the buffer size and periodcount to your required values. They are
set to 100000 and 4 in the settings below.
1. change entry in file
/usr/share/jive/applets/EnhancedDigitalOutput/loadPriority.lua to
loadPriority=1
2. change entry in file
/usr/share/jive/applets/EnhancedDigitalOutputMeta.lua to
function defaultSettings(self)
return {
playbackDevice = "default",
bufferTime = 100000,
periodCount = 4,
autoKernelUpdate = true,
embeddedTTHack = false,
cpuIdleFullspeed = false,
firstUse = true
}
end
note - if you are using a usb dac connected to the Touch then change
TXRX in sections 3,4 and 5 to the same value as setting
playbackDevice="????" in file EnhancedDigitalOutput.lua in sections 3,4
and 5
3. change entry in file
/etc/squeezeplay/userpath/settings/EnhancedDigitalOutput.lua to
settings =
{autoKernelUpdate=false,bufferTime=100000,playbackDevice="TXRX",sampleSize=24,embeddedTTHack=false,cpuIdleFullspeed=false,periodCount=4,firstUse=false,}
4. copy and paste don't try typing the values in case of mistakes
change entry in file /usr/share/jive/applets/SqueezeboxFab4Meta.lua to
function defaultSettings(meta)
return {
alsaPlaybackDevice = "TXRX",
alsaPlaybackBufferTime = 100000,
alsaPlaybackPeriodCount = 4,
--JIVE2alsaEffectsDevice = "plughw:2,0",
--JIVE2alsaEffectsBufferTime = 100000,
--JIVE2alsaEffectsPeriodCount = 2,
alsaSampleSize = 24,
}
end
and also change the following entry
-- fix buffer time
settings.alsaPlaybackBufferTime = 100000
--JIVE2settings.--JIVE2alsaEffectsBufferTime = 100000
5.change entry in file
/etc/squeezeplay/userpath/settings/SqueezeboxFab4.lua to
settings =
{brightnessControl="manual",alsaPlaybackPeriodCount=4,brightness=1,alsaPlaybackDevice="TXRX",alsaPlaybackBufferTime=100000,alsaSampleSize=24,cleanReboot=false,brightnessMinimal=1,}