Home assistant Satellites. (client hardware for home assistant) my wishlist

It is still a dedicated SnapCast server, so no mixing of other sources, like a TTS sound.

Music Assistant also does this as well as supporting suspend and resume of playback during TTS announcements

1 Like

My vote would be a LMS client - squeezelite is s good choice.

I tried LMS. But the system cant take devices with a delay into calculation.

But its both lightweight could be the one or the other.

Music assistant does nothing at this point because its back to beta. Has 0 integration with HA at the moment.

….At the moment

edit: HA integration has been in place now for some time

Music Assistant is just a streaming service.
SnapCast is a streaming service with synchronization of players.

This one is not actively developed anymore, I would suggest to have a look at this fork:

It is working well even on a small ESP32 without PSRAM.

Type 1 does not need to be push to talk. Snips was using satellite mics with a pi-zero and respeaker that used trigger words, and then passed the following audio to the main server to be processed. There’s no need to limit this at all to push to talk OR single phrase activity.

1 Like

The Rpi-Zero can do wake-word detection with e.g. Porcupine, I agree. The reason I mentioned push-to-talk is because not all cheap hardware will be able to do it and you usually have to keep these devices rather close anyway unless you use cloud ASR, stick to English language for open-source or massively reduce your vocabulary (for German I can use Vosk + ~1000 Words custom LM in a range of about 2m).

“Single phrase activity” might have been a misunderstanding. I was talking about multi-turn conversations which require at least a speaker or display and increase complexity of the client a lot.

1 Like

The satellite only need to do wake word detection.
The rest an be offloaded to a power server.

3 Likes

I think there are 3 main questions that everybody needs to ask themselves when thinking about satellites:

  • At what distance do I want to use it? (1m, 2m, more?)
  • Do I want to play music on the device?
  • How much am I willing to spend? (20$, 100$, more?)
1 Like

I found something that could work, ReSpeaker Core v2.0
https://www.pbtech.com/product/SBCSED0006/Seeed-ReSpeaker-Core-v20-Powered-by-Axol-Core-Modu

From Seeeds own website ReSpeaker Core v2.0 | Seeed Studio Wiki
It seems perfect for this type of use.

1 Like

I don’t think that’s quite correct; I think MA supports sync under some conditions? (see below) Note that the below item, while it is a planned change, references existing capabilities … but the changes seem to be in the furthest-out schedule state.

Link: Music Assistant (V2) backlog · GitHub - Support (experimental) sync of different speakers/ecosystems within Universal group

Content:

Support (experimental) sync of different speakers/ecosystems within Universal group

Item status

Draft

marcelveldt opened on Apr 19

Description

marcelveldt

on Apr 19 (edited)

The Universal Group provider only syncs speakers of the same ecosystem.
Players that do not support sync at all will not be synced and also speakers of different ecosystems will not sync together.

Add an experimental toggle to allow some basic sync (timestamp based) of players so at least they more or less start playing the same song at the same time and not drift seconds apart.

  • start delay (prepend silence or cut frames from the beginning)
  • sync based on elapsed time (best effort, not accurate)
  • standard drift

It is just a newly added draft with no assigned developers.

1 Like

A valid point, thank you for considering and commenting.

I add this to the ts

This looks promising. Only too bad for the ddr looks

1 Like

That’s quite cool.