Skip to content

Navigation Menu

Sign in
Sign up
KNOOP edited this page Jul 28, 2026 · 5 revisions

Music Playback

Ava can serve as a Home Assistant media player, playing music and voice announcements. It also supports Music Assistant integration via Sendspin for multi-room audio sync.

0.5.9+ added a detailed music player with synced lyrics, reorganized media/volume settings, and a Mini player cover ring. 0.6.0 made the progress bar seekable and fixed lyric/progress edge cases. 0.6.2 introduced explicit Volume Follow Rules and unified media overlay pause behavior.


Overview

Ava supports the following audio features:

  • Media playback (music, podcasts, etc.)
  • TTS voice announcements
  • Wake prompt sounds
  • Timer sounds
  • Music Assistant multi-room sync (via Sendspin)

Media Player

Entity Type

In Home Assistant, Ava registers as a media player entity:

  • media_player.your_device_name

Supported Operations

Operation Description
Play Play media
Pause Pause playback
Stop Stop playback
Volume 0-100%
Mute Enable/disable mute

Playing Music

Via Home Assistant Service

service: media_player.play_media
target:
 entity_id: media_player.your_device_name
data:
 media_content_id: "http://example.com/music.mp3"
 media_content_type: "music"

Supported Formats

Format Description
MP3 Most common
AAC Apple format
OGG Open source format
WAV Lossless format
FLAC Lossless compressed

Supported Sources

  • HTTP/HTTPS URLs
  • Local file paths
  • Streaming URLs

Vinyl Record Cover

When playing music, Ava can display beautiful vinyl record style album covers.

How to Enable

  1. Go to Settings -> Interaction
  2. Find Media Player
  3. Turn on Home Assistant Media Controls or Music Assistant Media Controls

HA Media Player Entity

Set the Home Assistant media player entity ID for album art:

  1. Go to Settings -> Interaction -> Media Player
  2. Find Home Assistant Media Player
  3. Enter entity ID, e.g. media_player.xxx
  4. Album art only works when album display is enabled

Set Cover

service: esphome.your_device_name_media_cover
data:
 url: "http://example.com/cover.jpg"

Detailed Music Player & Synced Lyrics (0.5.9)

The music overlay offers two styles. Synced lyrics are not shown in the default Minimal style; switch to Full metadata to enable them.

Style Description
Minimal (default) Compact album-art presentation.
Full metadata Larger playback metadata, progress and transport controls, plus time-synced lyrics when a matching lyric is available.

The detailed layout adapts to different screen sizes and orientations. Lyrics follow the current playback position and can be fine-tuned from the player when their timing needs adjustment. Tracks without a lyric match continue to use the normal metadata layout.

Path: Ava Settings → Interaction → Media Player → Media Overlay Style → Full metadata

The Full metadata interface also keeps the display awake during playback, so the screen no longer turns off while viewing lyrics or using media controls (0.6.0).

Seekable Progress Bar (0.6.0)

During Music Assistant / Sendspin playback, the progress bar in the Full metadata interface is directly seekable. Tap any point to jump to that position in the track; the player updates progress and lyrics immediately, then reconciles with the server's confirmed playback position without snapping back or losing lyric alignment.

Known upstream limitation: Ava can send the seek command to Music Assistant / Sendspin, but some upstream versions do not yet return the exact resulting playback position to Ava. In that case, Ava can update its local progress from the user's tap but cannot always confirm the final position with the server. Full reconciliation depends on the upstream protocol interface being completed over time.

Lyric Matching (0.6.0)

Synced lyrics now follow the audio that is actually heard more closely, accounting for Sendspin playout buffering and the user's synchronization offset. Matching adds retries, a fallback query and duration validation to reduce failures and incorrect results caused by network errors, missing artist data or similarly named tracks.

Fixes in 0.6.0: lyrics starting midway after a track change, jumping to the first line after pausing, delayed timing adjustments, and local progress becoming stuck after an upstream seek. Cover and lyric changes also use softer transitions.


Mini Player Cover Ring (0.6.0)

The Mini player control lets the full music interface collapse smoothly into a circular cover ring at the edge of the screen instead of disappearing or occupying the whole display.

  • The ring shows album art, playback progress and play/pause state.
  • The cover rotates slowly while playing, coasts and returns upright after pausing, and crossfades when the track changes.
  • Tap the center to play or pause; tap the rest of the cover to reopen the full player.
  • The control can be dragged to a convenient position and remembers its placement across portrait and landscape layouts.
  • Track changes, pauses and brief metadata gaps preserve the user's expanded or collapsed state.
  • It only fades away after the playback queue is genuinely empty and a grace period has elapsed.

This also completes the last mile between music and the kiosk browser: collapse the full player into the cover ring to reveal weather, shopping lists, radio selectors or other browser pages while playback and essential controls remain available.

Path: Ava Settings → Interaction → Media Player → Mini player control


TTS Voice Announcements

Via Home Assistant

service: tts.speak
target:
 entity_id: media_player.your_device_name
data:
 message: "Hello, welcome home"

TTS Engines

Ava uses the TTS engine configured in Home Assistant. Recommended:

  • Piper (local, fast)
  • Google TTS (online, good quality)
  • Azure TTS (online, good quality)

Volume Control

Set Volume

service: media_player.volume_set
target:
 entity_id: media_player.your_device_name
data:
 volume_level: 0.8 # 0.0 - 1.0

Mute

service: media_player.volume_mute
target:
 entity_id: media_player.your_device_name
data:
 is_volume_muted: true

Volume Follow Rules (0.6.2)

Volume synchronization now provides three explicit, mutually exclusive modes:

Mode Key Behavior
Independent independent Device and Home Assistant volumes are adjusted separately. Default for new installations.
Follow device follow_device Changes made with the device volume keys are sent to Home Assistant.
Follow Home Assistant follow_ha Volume changes in Home Assistant are applied to the device.

Only one follow direction can be active at a time, preventing the device and Home Assistant from repeatedly overriding each other. Existing users who enabled the previous volume-key synchronization option are migrated to Follow device.

The same setting is available on the device and in the Ava Fleet console.

Path: Ava Settings → Interaction → Media Player → Volume Follow Rule

The previous Sync with volume keys option (0.5.9) and the older Device Volume / Software Volume mode selector (removed in 0.5.9) are both superseded by this rule. The legacy boolean syncDeviceVolumeWithHa is migrated automatically when volumeFollowRule is still blank.


Media Overlay Pause Behavior (0.6.2)

The Home Assistant media player and Sendspin now share the same pause behavior.

  • About 10 seconds after playback is paused, an expanded mini player collapses into its floating button; if playback remains paused, it is then hidden temporarily.
  • When the mini player is disabled, the full overlay hides after the same initial delay.
  • Repeated paused states no longer keep resetting the timer.
  • Resuming playback immediately cancels the hide task and restores the previous title, artwork, progress, and floating-button position.
  • Fade transitions now run on the Compose drawing layer, improving reliability on vendor systems where View alpha animations were inconsistent.

Conversation Subtitles

Display text content of voice conversations as a floating window.

How to Enable

  1. Go to Settings -> Interaction
  2. Turn on Floating Subtitle switch

Music Assistant Integration

Ava supports Music Assistant for multi-room audio sync via the Sendspin protocol. See Sendspin for detailed setup.

Settings

Setting Description
Music Assistant Media Controls Show music controls during Music Assistant playback
Sendspin Optimization Mode Recommended for low-memory devices
Sendspin Sync Offset Fine-tune playback timing in milliseconds
Sendspin Audio Format Audio codec and quality
Sendspin Device Name Name shown on Music Assistant server
Volume Follow Rule Independent / Follow device / Follow HA (see Volume Follow Rules)

The previous Device Volume / Software Volume selector was removed in 0.5.9. Ava now uses one consistent device media-volume path for Music Assistant and physical volume keys. The previous Sync with volume keys option (0.5.9) was replaced by the three-way Volume Follow Rule in 0.6.2.


Settings Summary

Setting Location Description Default
HA Media Player Interaction -> Media Player Entity ID for album art -
HA Media Controls Interaction -> Media Player Show music controls Off
Music Assistant Media Controls Interaction -> Media Player Show MA music controls Off
Media Overlay Style Interaction -> Media Player Minimal / Full metadata (synced lyrics) Minimal
Mini player control Interaction -> Media Player Collapse full player into cover ring Off
Volume Follow Rule Interaction -> Media Player Independent / Follow device / Follow HA Independent
Floating Subtitle Interaction Show conversation text Off

Home Assistant Services

Play Media

service: media_player.play_media
target:
 entity_id: media_player.your_device_name
data:
 media_content_id: "http://example.com/music.mp3"
 media_content_type: "music"

Pause / Resume / Stop

service: media_player.media_pause
target:
 entity_id: media_player.your_device_name
service: media_player.media_play
target:
 entity_id: media_player.your_device_name
service: media_player.media_stop
target:
 entity_id: media_player.your_device_name

Set Volume

service: media_player.volume_set
target:
 entity_id: media_player.your_device_name
data:
 volume_level: 0.8

FAQ

Music not playing?

  1. Check if URL is accessible
  2. Check if audio format is supported
  3. Check if volume is muted
  4. Check Home Assistant connection

Cover not showing?

  1. Check if Media Controls is enabled
  2. Check if HA Media Player entity ID is set correctly
  3. Check network connection
  4. Try manually setting cover URL

Volume too low?

  1. Increase volume in Ava settings
  2. Increase device system volume
  3. Check if mute is enabled

Music out of sync with other rooms?

See Sendspin for multi-room sync configuration. Adjust Sendspin Sync Offset in Settings -> Extensions -> Media Player.


Back to Home

Clone this wiki locally

AltStyle によって変換されたページ (->オリジナル) /