I have a Fire HD 10 that sits by my front door. Until recently, it’s just been on the free-for-all VLAN, allowed to reach the internet. After an update, and some time fighting against the tablet, I figured it should really be on my local-only VLAN.
I run Fully Kiosk on it, and it appears that everything works. Except for TTS. When I try to play a TTS sample on the tablet itself, it gives the error:
“Failed loading sound: Wrong URL or unsupported format?”
I’m not sure how TTS gets rendered via the Google platform; if it’s trying to reach an offsite server or something. But Piper should be totally local. Why doesn’t this work when on a non-internet VLAN?
I’m using a direct IP: http://<ip_address>:8123/lovelace-tablet/0.
It’s implied, but I’ll point it out: I don’t change that IP between switching VLANS. Both the normal VLAN and internal VLAN can reach that IP, and the difference between the tablet TTS working vs not working is just which VLAN it’s on.
Not sure how your VLANs are set up but I have a layer-3 switch between my VLANs, except my “Guest” network. I have an access-list protecting the rest of my network from my IoT network and therefore, only limited traffic is allowed to go through. You might look into that.
That does sound promising. However, fully kiosk is pointed to that same http address regardless if it’s on the internal or external VM, and works in one case and not the latter.
Either way tonight I’ll try
Use https on the internal VLAN
Enable the rule to let the internal VLAN out to the internet to see if that presents a clue.
Well I finally got a chance to play with this again before bed, and it turns out, everything being equal, apples-to-apples, if the Tablet is on the internal VLAN with no access to the internet, Google TTS and Piper TTS don’t work.
If I enable a rule to allow all traffic from the internal VLAN to the internet, both Google TTS and Piper start working again.
Once again, I understand that for Google TTS to work, it needs to hit some external servers. But the claim-to-fame with Piper and the year of the voice is that it should be all local-only capable. I’m sure it’s a minor oversight, and I might dig further or just open an issue on Github.