Softsqueeze

Synchronization

You can synchronize playback between Softsqueeze with Squeezebox2, Squeezebox and slimp3 hardware players, allowing you to create a 'whole house' audio system. To enable synchronization use either the Settings > Synchronize menu in the players, or the Player Settings web pages in the Slimserver.

How does synchronization work?

The Slimserver controls the audio buffer and playback on all the players that are synchronized together. When a track starts all the players are paused, and the audio buffers are filled ready for playback. The Slimserver monitors how full the audio buffers are, and when the buffers in all players have reached 70% or greater then a play command is sent to all the players. This process is repeated at the start of each track to ensure that music stays synchronized.

When synchronization is working, it works well. If you can hear any delay then you need to trouble shoot your system.

Trouble shooting

Getting synchronization to work can sometimes by tricky. The common problems are described here.

I can hear a delay between the players

The most common problem is when you can hear a delay between the players. This is usually caused by audio latency in Softsqueeze, and in most cases this is fixable.

On Windows to get synchronization working you must use Java 5.0 (also know as Java 1.5). Early versions of Java have up to half a second latency in the audio playback. You can check what version of Java you are using by looking in the Softsqueeze preferences.

On Windows you must select the Primary Sound Driver.  Once Softsqueeze is running using Java 5.0 check to make sure that the Audio Mixer is set to the Primary Sound Driver.

On OSX you may get a small delay in playback. The latest version of Java released by Apple is Java 1.4.2. This version of Java has a small audio latency. Tiger is meant to include Java 5.0 for OSX , but I do not yet know if the javasound implementation had been improved.

On Linux you must be using Java 1.4 or later and use an  ALSA 0.9.2 or later audio driver. [Could someone who has this working please send me some instructions. Thanks].

It sounds ok to start with, but loses it in the middle of a track

Sometimes the audio playback with Softsqueeze may have small gaps in. This becomes really noticeable when playing with synchronization. Usually this is because you are trying to use you PC to do other activities while using Softsqueeze - the CPU in your PC cannot keep up with all the tasks it needs to do.

On Windows you can try increasing the priority of Softsqueeze using the Task Manager. In the Application tab right click on the Softsqueeze application and select Go To Process. This highlights the Softsqueeze process in the Process tab, right click again and change the priority in the Set Priority menu.

On OSX or Linux try increasing the priority of Softsqueeze using the top command.

Recently another cause of the gaps has been found. The Java 'garbage collector' can sometimes stop the Softsqueeze process long enough to cause gaps in the playback. I am looking into how best to fix this, but as a workaround you can start Softsqueeze from the command line, using [if you try this then please let me know if it works]:

java -Xms64m -Xmx128m -XX:+UseParNewGC -XX:+UseConcMarkSweepGC 
-XX:SurvivorRatio=2 -XX:NewRatio=8 -jar SoftSqueeze.jar

Only the first track is delayed, synchronization seems fine after that

In earlier version of Softsqueeze the first track probably will not be synchronized. This is fixed in Softsqueeze2.

© Richard Titmuss 2004, 2005