Tts.speak only working with elevenlabs

Hi,
I have a 6 month old home assistant OS setup and initially implemented tts.speak with elevenlabs using picoreplayers for zoned audio. that currently works perfect, however, i tried switching to piper, picotts, and local tts and none of those work. When i try to play anything on any mediaplayer other than the browser, the speakers clip/click and then nothing, no sound. the media player will continue playing indefinitely until i pause it. this happens on every tts.speak except elevenlabs. It exactly mirrors this problem(GitHub · Where software is built), however the solution does not work. I am not using SSL, i quadruple checked my network host settings, i uninstalled and reinstalled piper/wyoming, picotts and no change and no debugging errors that i can see. Anyone have any ideas?

Quick update. I copy the link in lms that is received from HA tts proxy and it will play in my browser directly but the same link wont play in lms. The logs in picoreplayer show this error. alsa_open:506 unable to get period size: Invalid argument. I tried adjusting the period size on the picoreplayer but it made no difference.

I was able to resolve the issue. It was due to dac/picoreplayer not being able to play low sample rate. I added “-R hLE” to upsample rate setting in picoreplayer. This tells picoreplayer to upsample mp3’s with incompatible bitrates. Heres a link that helped me figure this out. Can't send TTS to LMS/Squeezebox - #36 by carsten_h. Hopefully this helps others.