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
Install a squeeze lite compatible application to your mobile or other devices which MA will be able to stream to.
See here for info on how to run squeezelite on Windows
The MA 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