I bought a Home Assistant Voice Preview Edition unit and have been playing a bit with it. It’s this: Home Assistant Voice Preview Edition - Home Assistant
What I describe below may require their cloud subscription to use tts.cloud_say.
Someone suggested elsewhere on this forum that Roon add a feature to announce track and artist. It was trivial to get that working with this device as the speaker. In case anyone wants to play with or improve my little automation, it’s basically this (you’ll obviously have to change the player and playback devices).
alias: Say Artist and Track
description: ""
triggers:
- platform: state
entity_id:
- media_player.office_roon_gminimini
attribute: media_title
conditions: []
mode: single
actions:
- service: tts.cloud_say
data:
message: >
{% set title = state_attr('media_player.office_roon_gminimini', 'media_title') %}
{% set artist = state_attr('media_player.office_roon_gminimini', 'media_artist') %}
{% if '/' in artist %}
{% set parts = artist.split('/') %}
{% set formatted_artist = parts[:-1] | join(', ') + ' and ' + parts[-1] %}
{% else %}
{% set formatted_artist = artist %}
{% endif %}
Now playing {{ title }} by {{ formatted_artist }}
entity_id: media_player.home_assistant_voice_09232f_media_player
...
Just a fun little thing.
[edit: updated to remove "/" characters from artists since the Roon integration appears to add them and they get spoken aloud]