My thread in the LMS forum was closed down, but I still have some changes to report. I am happy to reply to any questions about the effects of these mods.
The web is full of optimisations for audio playback, this is a consolidated list of mods that I have found that work, I am getting significant improvement in resolution with these.
Win 7 Multi Core Optimisation for LMS
Windows 7 is great O/S for running LMS on and there are a number of enhancements/configurations that can be made to improve performance and hence the sound.
I have spent some time trawling the web and trialling various set ups and this thread documents what I have found to work in my system. Hopefully it may be useful to others too.
requirements - Win 7 SP1, I have Home Premium, a laptop/computer with more than 2 logical cores, I have an i3 (4 core), check via task manager performance tab, if in doubt. May work on 2 core, have not tested it for obvious reasons - the Game Booster 3 would be worth trying if nothing else.
Will this make a difference to my system ? Download Fidelizer and try it on Audiophile setting, make sure you untick the set Windows X's Live as Home Page. If you can hear a difference playing music and prefer the sound then you will probably benefit from the steps below.
Note - I am using a Touch modified to Fidelity Audio Level 1 and I run it with Soundcheck's TT3.0 with all the options enabled, but with Squeezebox Touch default priority and buffer settings. The mods below should benefit anyone running LMS.
The basic theory behind these mods is to take load off the computer and also to optimise the way processes are executed.
Basically this is one long advert for Fidelizer and how good it is, but for me it is a pain in the rear to use and I don't like the developer's philosophy where he makes it a pain to start rather than working out a way to charge for it. So, even if you stick with Fidelizer I would still recommend the use of Process Lasso to get Squeezeserver on it's own cores, disabling core parking and the use of Game Booster 3, you can even leave out Process Lasso and just have disabling core parking and the use of Game Booster 3. Or just run with Fidelizer, but at least you now know there are other options.
There are a number of guides to how to reduce the impact the Win 7 visual experience has on the system and also how to switch off services that are not neccessary to Squeezeserver operation. The links are below, I have optimised the visual side and switched off some non essential services, but it is hard to tell if these have made any difference to sound quality.
right, now the steps that make a difference
update - now using a mixture of JPlay and fidelizer settings
Squeezeserver on core 1,2,3 priority real time, i/o high and same with svchost.exe (netsvcs) and lsass.exe which is the MMCSS process
everything else on core 0, priority idle, i/o very low apart from
these windows processes which are all priority normal and i/o normal on core 0
svchost.exe (dcomlaunch),svchost.exe (localservicenetworkrestricted),svchost.exe (networkservice)
the reasoning was that fidelizer gives more priority to processes used by MMCSS, am running with svchost.exe (netsvcs) at realtime priority and i/o high as have MMCSS audio profile priority settings at 26. Sounds very good an extra bit of detail.
gives a more presence and atmosphere than the fidelizer method below.
both Fidelizer and JPlay adjust the windows timer resolution to .5 ms, so here is a $10 aus app that allows you to do that
The aim here is to mimic Fidelizer to an extent so that processes which are not required have a priority of idle and also that all processes except for Squeezeserver are assigned to core 0.
To do this I use Process Lasso, it is free and allows process priorities and core affinities to be set for each time the process is run, so next time you reboot the settings wil be retained.
when setting up there is a scope of each instance of Process Lasso panel, select manage the processes of all users (including SYSTEM processes) and also select run with elevated rights and manage processes of elevated rights
Warning - if your system is unstable with Fidelizer then it will probably be unstable with Process Lasso as well
get familiar with the Process Lasso gui, hide the graph. If you haven't already started Fidelizer then start it with Audiophile setting.
Go to the Process Lasso gui and click on the priority class column title so that the highest priority processes are at the top. Highlight all the idle processes click and then shift - click, right mouse click and set default priority to idle, also set the default core affinity to core 0. Now do the same for the non idle priority processes except don't set a default priority, just set the core affinity to 0.
Start up Squeezeserver, go to Process Lasso, set Squeezetray.exe to default priority idle and default core affinity to 0.
Set SQUEEZ~3.EXE to default priority Normal and core affinity to 1,2,3 for a 4 core system.
Reboot to clear Fidelizer. You should now have the process priorities and core affinities set by Process Lasso.
Now, surely Windows does all this task management adequately and why is this neccessary. Well, yes, Win 7 has very good task and resource management and it does sound good, but I think it sounds better with the Squeezeserver running on it's own cores, it is easy with Process Lasso to revert back to the default processes and core affinities to test the sound. To me the sound with Squeezeserver assigned to 1 core is better than the default, sounds more ordered, not so messy as the default and the sound when assigned to 3 cores is better than just being assigned to 1 core. The sound with 3 core assignment has more going on and it is still an ordered sound.
ok, but it still not as good as Fidelizer
copied from this link http://forum.cakewalk.com/tm.aspx?m=1861804, make the changes below, this produces quite a nice effect, the sound is smoother and more relaxing, take a copy of the registry before the changes.
Here is where some registry setting changes come in
- Go to Regedit
- Find this key:- " 0cc5b647-c1df-4637-891a-dec35c318583 "
- Within this key, there is a value called: " ValueMax "
- This value represents the % number of cores the system will park - the default 100% ie: all Cores are potentially park-able
- Change the value from 64 to 0 so the " ValueMin " and " ValueMax " are both zero
- You will have to find the key a few times and repeat the process for each time it is found - the number of instances will depend on the number of power profiles in your system [ in my DAW it was only found twice ]
- Do a full shutdown and power-off and cold-re-start
these registry entries alter the priority of the real time clock and numerical processor yo highest and graphics media accelerator to lowest. check your own irqs with msinfo32 from dos prompt then select hardware then select irqs. these entries need to be added in as dword.
copied from this site http://www.sensomusic.com/forums/viewtopic.php?id=2463
Process Lasso has the option to classify a process as a Multimedia Player, this allows MMCSS to alter the priorities further to ensure the audio process gets the optimum resources. click on SQUEEZ~3.EXE and right mouse click, the classify option is just over half way down the list of options.
The Multimedia classification gives a slightly more detailed and richer tone than the default ie without the Multimedia classification and you would probably need a high resolving system to get any benefit.
There is a further tweak to the MMCSS audio profile, where the priorities are set to the same as Pro Audio, Background is set to True, the priorities are set to 26 and the clock to 1. 26 is chosen because the MMCSS task runs at priority 27. clock rate of 1 = 100 nS and is the highest rate available, the default is 10000.
the registry settings are below, this includes affinity for cores 1,2,3 the default is "Affinity"=dword:00000000
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile\Tasks\A udio]
MMCSS has been implicated in reducing network bandwidth, this only occurs if playing other media at the same time and can be solved by the following registry changes which set the system responsiveness to 100 and disables the network throttling.
The Windows Audio and Windows Audio Endpoint services can be set to manual and stopped. Thanks Soundcheck.
If not using the MediaPlayer classification then the MMCSS and Windows Audio and Windows Audio Endpoint services can be set to manual and stopped.
Results 1 to 10 of 240
Thread: Win 7 Optimisations
2012-01-26, 00:36 #1
- Join Date
- Dec 2011
Win 7 Optimisations
Last edited by SBGK; 2012-02-01 at 14:12.
2012-01-26, 00:37 #2
- Join Date
- Dec 2011
Hello, everybody! This is not the Big tweak, promised for nearest time, but these settings may bring Your system to sound better
1. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Session Manager\Memory Management. Create DWORD IoPageLockLimit (REG_DWORD): 1000 is for 4096 hex - (This is real AWE working parameter). You can set the value for 1000, 2000, 4000, 10000 - the one I use now is 10000
2. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Session Manager\Executive Find there AdditionalCriticalWorkerThreads set the value to 4
3 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Fi leSystem Create there dword DontVerifyRandomDrivers set value to 1
Reboot, listen to some music, please.
produces bigger soundstage, very nice.
ok, nearly there, but still not as good as Fidelizer, the sound is still a bit lean, what is Fidelizer doing to get that effect ?
The last trick up our sleeve is some more free software called Game Booster 3, which actually stops non essential services and makes quite a difference to the sound, giving a deeper, richer tone and more layers to the music. Magic.
On my laptop it has stopped 12 services and claims a 42% boost in performance.
Like Process Lasso it can be set to run at startup, I have the following in a .bat file in the startup folder
"C:\Program Files (x86)\IObit\Game Booster 3\GameBooster.exe" -game
be careful when installing as the install tries to trick you into installing extras like Yahoo browser bar etc, in fact it might be a good idea to step through the install the first time and just select skip on each screen so you can see what it is trying to do.
once running you can add the squeezeserver.exe and squeezetray.exe to the gamebox, press the boost button and you're all set. The services can be restored by pressing the restore button.
Go to Process Lasso and set the gbtray.exe to default priority idle and default core affinity 0.
It now sounds better than Fidelizer and I am in control, I know what is being done to my machine, the settings are there when I boot the machine and the sound is wonderful.
Found a great tool for understanding what is being started at start up, allows items to be deselected from startup and is the most comprehensive tool I have seen. I used it to find out why the Process Lasso management console kept starting up at startup, turns out there was a scheduled task set up which I then disabled.
Last edited by SBGK; 2012-02-01 at 14:10.
2012-01-26, 00:39 #3
- Join Date
- Dec 2011
the only change to the previous thread is that I am using clock rate of 1 in MMCSS and have shut down 6 more processes using Game Booster 3.
Very happy with the results.
2012-01-26, 08:24 #4
- Join Date
- Feb 2008
- flat rock community, ga
So long as the squeezeboxen receive an adequate stream of data from the server, any changes to the host hardware/OS will only result in an improvement in the speed of the user interface.
No improvement in sound quality will result under any circumstances.
Sound quality in this system is determined by the D/A converters in the players, the capability of your stereo to play them, and the bit rate/depth of the music file.
2012-01-26, 09:08 #5
- Join Date
- Nov 2005
- San Francisco, CA
2012-01-26, 12:48 #6
- Join Date
- Oct 2007
Just a warning for the curious who might, despite it all, want to try these modifications: Some of the software recommended (as mentioned in passing by SBGK) can do unwelcome things to your computer - for example, the browser homepage change made by default by Fidelizer is reported to hardwire the developer's homepage into the Windows registry. One user lost dozens of open tabs in their Opera browser, as the registry change caused Opera to start up with the new homepage, discarding saved tabs. It was claimed by the developer in the Fidelizer forum that this was due to a "bug", but in my opinion such practices are bordering on those used by developers of malware.
As a general point, I would advise against installing any such "eccentric" software, especially when the source code is not available: even if you can't read the source code yourself, open source software is an open book to the world in general, which tends to prevent it from doing nefarious or stupid things.
As regards making manual registry changes, as recommended above, be very careful, you can make your computer unusable. In fact, I would go as far as saying that if you don't have a deep understanding of what you are doing, then just don't do it.
In any case, you should have a full backup of your system, and be prepared to spend the hours (at least) which it would take to use it, should things go wrong.
2012-01-26, 13:06 #7
- Join Date
- Dec 2011
snake oil too.Vortexbox>SBT(stock)>>Forssell MDAC-2>>>Klein and Hummell 0300D
Sota Sapphire/Lyra Kleos>>Bespoke Valve Phono Stage>>Mastersound Due Venti>>Link Audio K100
2012-01-26, 17:18 #8
- Join Date
- Dec 2011
I don't understand the buffer memory thing, when I make a change I restart the song, I can observe the network traffic sending an initial burst of data and then a steady stream, so the buffer has been refreshed. I don't make a change and then hear an immediate difference unless I restart the song, don't know if that covers your concern above.
look at this thread from the Linn forum, there is more going on with ethernet data transfer than people realise.
It was only a few years ago that people were saying that one version of Squeezeserver sounded better than another and yet they were both bit perfect, as far as I know.
So if the computer settings make a difference to the way Squeezeserver runs then it is not too much of a stretch to think that it may affect the sound as we have seen in different server versions.
I can see why this is such a contentious issue, I had no idea that ethernet was bit perfect and that the SBT buffered when I started out. All I was observing were changes in the sound eg if everything is put on 1 core then the sound is more scrambled than if Squeezeserver is on dedicated cores, if the squeezeserver priority is set to idle then the sound is less focussed, if set to normal sound is better and set to real time it can sound too intense.
All I am doing is reporting my results, if that is enough to draw some of the less savoury accusations then fair enough. I have no theory to back these observations, they are what they are and it is very easy for people to try a few things, if they want to. There is no reason for people to get so heated about a difference in opinions.
2012-01-26, 17:44 #9
- Join Date
- Oct 2007
http://forums.slimdevices.com/showth...t=93236&page=3 that you try wifi...
2012-01-26, 18:25 #10
Where I think the problem lies at the moment, and this may be the reason that the above test isn't conclusive for you, is that you don't seem convinced that the buffered data contains all the right ones and zeros, in the right order, ready to be played back at the right speed by the player. If that's the case, and you believe that the content of the buffer is already inherently somehow corrupted by the way it got there, then that would explain why the test might not be viewed as conclusive. But it's not, so it is.