Any recommendation for home theater receiver which can do tts?

Hi,

I am about to buy new home theater receiver and I am playing with the idea to connect it as media player to my hass.io raspberry pi 4.
I saw some support for Yamaha musiccast receivers and Denon ones. I didn’t see any clear evidence they will be able to stream tts mp3s directly from my pi.
Specifically for Yamaha I saw lot of documentation regarding YXC APIs but I didn’t find any http streaming of mp3 sample using it.
So am I only dreaming or this should be easy scenario with all the technology we already have.

Thanks, Tomer.

The Yamaha media player integration and Yamaha musiccast integrations do not have tts capability.

Sources connected to them, like the Kodi integration do.

Anyone know about major firm who does? Denon, Onkyo, etc?
I think I can’t install Kodi on my hass.io pi and having another device seems wasteful.

Just stick a Chromecast in any receiver and you get TTS.
And it has other uses too.

1 Like

By passing the receiver for this and using Chromecast / Roku might be the only solution (annoying). Will I be able to use a Yamaha receiver and turn it on, flip to the right input and play the tts file from the streamer?

Yes, the base Yamaha integration includes power and source services. You would then use commands for the chomecast TTS service.

I just can’t understand how those companies spend so much effort on getting the devices connected and then dont support basic mp3 streaming.

Thanks for the feedback here. If someone else has a receiver which has the full package I would love to know about it.

Oh they support it. It’s just that the extended API is rather complicated and whoever wrote the Yamaha home assistant integration just picked a very small set of the basic API commands, the minimum required. I’ve looked at the APIs and implemented a few more commands from the basic set but to be honest I don’t blame the dev for ignoring the extended set.

My receiver turns on and switches input to the chromcast automatically.
It takes a few seconds so short messages might be missed completely if you rely on this method.
If it’s on I cast something it usually switch input before the cast has started.

This works by using the HDMI CEC that Chromecast supports.

Tom, do you know what is the http API for playing MP3 from remote source for the Yamaha? I might try to integrate it in.

See:Update Yamaha MusicCast to get and set sound program

The API does not have an option to play any digital source directly (streaming, mp3 etc). You can work around it by storing a preset to something that you select via the device (mobile app or standard remote) - the API allows to recall a preset therefore play one of the pre-defined streams/files.
Here is the API documentation.

Seems like denon will do it, yamaha might too
https://community.home-assistant.io/t/stream-an-mp3-or-webradio-directy-to-a-receiver/74210

I should add that with the denon, I think you can select usb as a source, so you could have the mp3 on a usb stick possibly

1 Like

Seems that Randy is right.
Found their API doc here: http://rn.dmglobal.com/euheos/HEOS_CLI_ProtocolSpecification.pdf
In section 4.4.10 Play URL there is sample which seems to do exactly what we need to get tts working.
So maybe I will buy Denon…

My Yamaha RX-V685 has a “server” source that should do the same thing.

I didn’t find over the web any specific example which actually show that specific scenario. Just for that reason I think I will go with the Denon. But if someone get it to stream single MP3 file from custom web URL than they are really comparable from that perspective.

Should be exactly the same service as the Denon example. I’d test it but am not going to be home to hear if it works for another 5 months. Someone else with a Yamaha amp could. Maybe @Burningstone
?

I could test, but even if it works, I don’t think it would be nice experience.

My Yamaha Amp (same goes for two Denon Amps I have and all Amps/Receivers I ever owned) takes 2-3 seconds until you hear sound after it has been turned on from standby, so I’d assume you’d miss part/whole tts message because the Amp is not ready yet. Maybe my assumption is wrong. But if it is true, you could only get a good experience when the Amp is already running when you want to play TTS.

Good point. 2-3 seconds is being generous on my amp.

1 Like

If it’s going to be used in automations then you can just turn on, delay 5 seconds then tts.
If it’s done manually then it’s a different story. But you could still have a input_text which triggers the automation.