Skip to content

I Want To Stream To

My local HA device

Install the squeezelite addon which will then allow streaming over an audio connection from the HA host to your speaker or amplifier

My random connected device

Streaming to a Squeezelite compatible client

Install any Squeezelite compatible application (i.e. a Squeezelite software client, sometimes also refered to as "Squeeze Lite" apps) to your mobile or other devices and then MA should be able to stream to it.

If you have Squeezelite compatible clients on your local network then MA will be able to automatically detect and stream to them, (this works via Squeezelite compatibility without you needing to add any specific configuration or credentials for it). Note that Squeezelite clients usually do not have any user interface of their own and as such must be controlled via Music Assistant.

See here for an example on on how to run squeezelite on Windows

The Music Assistant Companion App can also be configured to run a squeezelite client which will allow playback to the device running it.

My ESP32 based device

If the hardware has at least 4MB of flash and 4MB of PSRAM it will be capable of running squeezelite directly. Use the Squeezelite ESP32 firmware. A nice solution with speaker terminals is the Louder ESP32

If the ESP32 device has other firmware on it that has been discovered by Home Assistant then use the Home Assistant Player Provider to expose the HA media player entitiy to MA. If the exposed player is running ESPHOME then enable "Enforce (lossy) MP3 stream" in the player settings as this is all the player can handle.

There is a Snapclient port which could also be used.

My non-networked device or bluetooth speaker

If you have a spare Raspberry Pi (any model) then PiCoreplayer is an excellent solution than can also connect to Bluetooth speakers. If you want better sound quality from your Pi you could add a HiFiBerry

My browser

Use a Snapserver and the Snapweb option. If you enabled the Snapcast provider in MA then the built in server will be accessible on port 1780 on the IP address of your MA server or you can also use an external server which has been added to MA as a player provider.

Music Assistant

You could use Darkcast to capture and Icecast to build a solution that will digitize and stream audio from your analog audio equipment like a vinyl record player (turntable/phonograph/gramophone) as a web radio stream (URL) that you could add as a radio station in Music Assistant.

For such a project you need an audio-capture and ADC (analogue-to-digital converter) device that provides audio-input and digitalization. For example, you can use either a USB Audio Device Interface adapter from Behringer or IK Multimedia, or a HiFiBerry board with ADC.

You can find a generic tutorial here, and for those that like step-by-step guides look here and here (the first of which also offers a pre-configured Linux appliance image for Raspberry Pi 3 / Raspberry Pi Zero 2 W).

Web Radio

You can indirectly stream to a device which only accepts a URL such as a Web Radio. In order to do so you will need to be running Home Assistant and do this:

  • Install https://github.com/Poeschl-HomeAssistant-Addons/mpd (this will create an mpd media_player entity)
  • Enable httpd_output in the mpd addon (which allows for web streaming)
  • Use the HA media player plugin in music assistant and select mpd as the output

Thanks to Manuel RĂ¼ger who showed us here