How to fix the bug causing incorrect song lengths in Airtime running on Ubuntu 14.04

Guide to fixing the buggy ‘silan’ version packaged with Ubuntu 14.04 which causes Airtime to use incorrect song/track lengths.

There’s a problem with the version of “silan” (Soundfile Silence Analyzer) that’s packaged with Ubuntu 14.04 which causes many (or most) files to appear half as long in Airtime as they should, resulting in songs ending when they’re only halfway done playing. This guide explains how to replace the faulty copy of silan with a fixed/working version.

1. Check which version of silan you’re running

If you’re experiencing the problem mentioned above, you’re probably running Version 0.3.2-1build1 but type the following command to make sure:

2. Add the sourcefabric.org repository to your APT (Advanced Packaging Tool) source list.

Edit the sources.list file using a text editor (nano, vi, etc.):

At the bottom of the file, add the following line (if it’s already there, you can skip this step):

Save and exit (if you’re using nano, press Ctrl-O and hit Enter to save, then press Ctrl-X to exit.)

3. Run the apt-get update command

Type the following to update your repository package lists:

4. Install the sourcefabric.org keyring (used to authenticate packages for security purposes)

Type the following:

Press Y at the prompts.

5. Replace the faulty version of silan

Here’s where we replace the bad version of silan with the the updated/working version. Type the following:

Hit Y at the prompts.
Ignore the warning: dpkg: warning: downgrading silan from 0.3.2-1build1 to 0.3.2~trusty~sfo-1

6. Confirm that you’re now running the proper version

As in step 1, type the following to check with version of Silan you now have installed:

This should now be Version 0.3.2~trusty~sfo-1

7. Prevent Silan from automatically “upgrading” back to the fucked up version

This step is important. Even though Silan should now be working fine, the system will revert back to the original broken version the next time you update unless you type the following:

You should see the message silan set on hold. This prevents the package from being automatically installed, upgraded or removed (see apt-mark manual for more info.)

That should solve the problem!

For additional information on this problem: