• Alexa for Squeezebox

    Breathing new life into your LMS.
    Add Alexa voice control to your Squeezeboxes.

    Learn More See it in action
  • Currently in Alpha

    We're almost feature complete.
    Beta opening soon...

  • 1
  • 2
Built for Alexa

Built for Alexa

All the power of Alexa, all the flexibility of Squeezebox! A custom skill facilitates voice control for transport, content selection
Built for SqueezBox

Built for SqueezBox

Squeezebox is an amazingly flexible and resilient platform. Our custom plugin links to Alexa to add voice control.
Built for Simplicity

Built for Simplicity

An LMS plugin linked to an Alexa skill. Simple. Easy. Effective.
  • 1
Friday, February 28, 2020

Alexa for Squeezebox

These days, it seems that voice assistants are everywhere. In stand-alone devices, in a/v equipment, in household appliances, cars and more. Beyond a gimmick, voice applications are evolving to a point where they are approaching usefulness.

But what about legacy technology? Squeezebox was a great platform. There's still plenty about and there's a healthy second-hand market. The LMS is still viable and supported by a great community. 

The Hab-Tunes project seeks to breath new life into older technology by integrating voice control. The first such endeavor is Alexa for Squeezebox - an Alexa skill and LMS plugin that allows you control your Squeezebox by voice.



Comprising a standard Alexa skill and LMS plugin, it's familiar and easy to install, configure and use.



With https used when available, and no need for open ports locally, Alexa for Squeezebox helps keep the ner-do-wells at bay.



Developed over 2 years, with over 50 testers from around the world, Alexa for Squeezebox is stable and reliable.



With ongoing maintenance and feature additions, you can shape the direction and request functionality you'd like to see.


The ambition is to add Alexa voice control to the LMS
and Squeezebox platform in a simple and intuitive way.
Find out more about the design philosophy, or dive right in. Learn More

Get Started

It's All About the Music


Simplicity and Flexibility.
All the hallmarks of Squeezebox - Now with added voice control.

Volunteer Testers


Extensive Alpha phase is ending, with Squeezebox users from around the world contribuiting time and ideas.

Ready for the World


With German localisation well advanced, Alexa for Squeezebox can be ported to any supported Alexa language.

Recent Blog Posts

The limited 0.1.2 test is now more or less complete. A handful of dedicated and super-patient testers undertook to verify that the significant issues from v0.1.1 were resolved. They and some others who just couldn't wait to get involved (!) went on to test actual functionality resulting in the finding and squashing of a number of bugs;

  • Always check the version on LMS startup (plugin)
  • Removed double-declaration of $LMSaddress var during init (plugin)
  • Suggested port 7777 for proxy (plugin / docs)
  • Pick version number up from install.xml (plugin)
  • Fixed a bug with undef $dynamicIP if setting switched off (plugin)
  • Fixed an issue preventing ports >9999 being used (db)
  • Added some extra debugging (plugin)
  • Fixed a bug logging to fail when LMS query fails (plugin)
  • Fixed an issue with database field size preventing users with multiple devices completing commands. (db)
  • Added more device names (skill)
  • Added German Skill version for localisation (skill)

There's a few more tasks to be completed before v0.1.3 release;

  • Pick up non-standard LMS port from prefs or from user input
  • Complete refactoring of plugin<->skill communications code to re-implement HTTPS support


Built in to the skill for the development phase is tracking of command round trips to help with optimisation of code to minimise latency. Now that users are getting the plugin correctly installed and working, some data is being generated. Here are some of the key observations;

  • 530 commands were issued by 13 users.
  • Omitting failed transactions due to bugs, there were 400 completed commands
  • The overall average round-trip time for commands was 1289 ms
  • The average round-trip time by command type was;
    • GetID: 51 ms
    • Register: 119 ms
    • QuerySelectedPlayer: 863 ms
    • SelectPlayer: 1088 ms
    • ListDevices: 1048 ms
    • Resume: 1814 ms
    • Pause: 1857 ms


This is pretty much in line with expectations in that the first two don't require any LMS interactions and the last two have 2x LMS queries per command. These figures are well within the allowed 10 second interval for skill responses but it would be nice to get them down further. As a matter of interest, here are the shortest and longest round trip times for each command in milliseconds;

  • GetID: 2 / 758
  • Register: 2 / 2297
  • QuerySelectedPlayer: 312 / 2318
  • SelectPlayer: 346 / 2753
  • ListDevices: 313 / 4324
  • Resume: 363 / 4572
  • Pause: 495 / 4822

There's obviously a significant differential which would be based on end-user connection speeds.



Get Involved

Right now, site membership at Hab-Tunes.com is open. However, membership does not accrue any benefits. Participants in the ongoing closed alpha need to be members, and those who will participate in the forthcoming Beta cycle will also require membership.
Details on how to get involved can be found here