music-assistant/voice-support
Music Assistant blueprints
What it solves
Home Assistant has very limited intents for music and media control, especially when it comes to starting playback of music by voice. This project bridges the gap between Home Assistant Assist and Music Assistant, providing community-driven scripts, blueprints, and how-tos that enable full voice control of music playback.
How it works
The repository offers three options, each with different flexibility and setup requirements:
Option 1: Local Assistant Blueprint – A blueprint that handles media playback using pure local intent handling with custom sentences. No cloud LLM is involved. The sentences must follow a strict format, starting with "Shuffle", "Play", or "Listen to", followed by an item type (artist, track, album, playlist, radio) and then the name. Optional phrases for artist, area, and radio mode can be added. Blueprints are provided in multiple languages.
Option 2: Local Assist enhanced by an LLM integration – This option uses an LLM integration (like OpenAI Conversation or Google Generative AI) to understand more natural language queries. The blueprint requires an LLM conversation agent that does NOT have control over home entities to avoid errors. It allows flexible sentences and determines the target player based on mentioned areas/players, the request's origin area, or a default player. Prompts can be tweaked per model.
Option 3: Script used as a tool by an LLM integration – A script that can be called as a tool by an LLM integration with home control. The LLM decides when to use the script based on its description. There is no required sentence format; the LLM interprets any request and extracts parameters like media_type, artist, album, area, etc. This works with any language since only descriptions are in English.
Who it’s for
This is for Home Assistant users who have Music Assistant installed and want to control music playback by voice. It suits hobbyists who are comfortable importing blueprints and configuring automations. Depending on the desired flexibility, they can pick between a strict local setup, an LLM-enhanced automation, or a script-based tool.
Highlights
- Three distinct options to suit different needs: local-only, LLM-enhanced, and LLM-as-tool.
- Blueprints are available in multiple languages (Dutch, English, German, Portuguese, Spanish, Italian, Slovak, Hungarian, French).
- Community-driven project, encouraging contributions and feedback.
- Each option includes configurable settings like default player, radio mode, prompts, and trigger sentences.
- Extensive usage examples for each option, showing both simple and complex voice commands.
- The script option works with any LLM integration that has access to Home Assistant, and commands can be in any language.
Related
- Project
- Project
- Project
- Project