• 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
Thursday, April 09, 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

We're now on test round 11 with Alpha v0.2.0.3. The purpose of the Alpha stage is to expand the available commands to the final set and test as we go. So far, the following commands have been added;

We previously has a 'List Devices' command which would return an enumerated list of devices connected to the LMS with their connected status. A tester suggested that we could extend this lits to include volume and other parameters. Rather than do that, I decided to keep the list devices command a basic list and add a new 'Status' command. Now, saying, 'Alexa, tell Squeeze Box to give me a status update (for player X)' will return a detailed list for the nominated device or all devices indicating number, name, connected status, playing status, volume and whether muting is enabled or not. This will later be expanded to include details of the track/stream playing.

The skill now includes commands to control the power state of discrete or all devices, switching them on or off as required.

One of the frustrating voice UX aspects of echo interaction, particularly for this skill, is having to ask 'Alexa, tell squeeze box to...' for every command. Alexa does support sessions allowing the skill to remain open to listen for additional commands that don't need to be prefixed with the wake work or skill invocation. Initial testing revealed a number of issues;

The main problems were sounds from 3x principle sources being picked up and generating phantom commands. These sources were;

  • Alexa herself reacting to the tail end of her own prompts (!!)
  • Music from the users squeeze box
  • Extraneous and environmental sounds

The first one was dealt with by introducing a very short pause after Alexa speaks and before she listens. The second is addressed  by lowering the volume of squeezeboxes while she's listing. The third is addressed by allowing users turn off extended listening if environmental noise is an issue

So, it now works like this;

  • 'Extended Listening' is enabled by default
  • Users can set it on or off by saying 'Alexa, tell squeezebox to turn extended listening on/off'
  • Users can check the status by asking 'Alexa, ask squeeze box to give me my settings'
  • If extended listening is Off, the skill will only continue listening after the user says 'Alexa, Open Squeeze Box'
  • If it's on, she will continue listening unless the command is likely to play or not stop music (play, resume, set volume)
  • In cases where extended listening is active, volume on all squeezeboxes is reduced to 10%
  • Volume is restored to previous levels when she stops listening
  • There's a failsafe of 60 seconds, after which the volumes are restored automagically

This feature is the focus of v0.2.0.x testing round and we're making slow but steady progress on refining it. The inspiration here is how inbuilt music playback skills work. For example, if Alexa is playing music from Spotify and the user speaks the wake word, the volume is automatically reduced for the duration of the listening session. Unfortunately, a custom skill does not get notification of the wake word and only knows the user is speaking once the command has been issued. Therefore, we cannot be as slick as the inbuilt skills. but we can get close.

Here's a demo of some of these features;

We've also welcomed a number of new testers on board. It's great to have an infusion of new blood and they're already finding previously unknown issues due to specific configurations etc.

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