I just noticed my TTS is not working. It took a while because all my existing ones were cached. I just created a new TTS with RS and it didn’t work.
I have 6 Sonos ONEs. Some are Gen 1 and some are Gen 2. I did update to the S2 unfortunately.
I started reading through the forums and noticed to update. Here is what I did so far:
I’m not 100% sure what version I was on because in the settings page of the plugin I’m fairly sure it said 2.0.
So I immediately downloaded the v2.0 hotfix…but got a version conflict error.
Saw in another thread that I could see version on the apps download > details page, there it said version 1.5. So downloaded newest version from there. Waited 15 mins.
Now it says I have Sonos Plugin version 2.0-20136; JSUI 2.0-20136
Conflict has disappeared but same original problem happening.
I checked Azure and it seems ok, but I refreshed the API and put it in the plugin anyways…no go.
I enabled TTS logs and did a luup.reload() then ran a test TTS…nothing happened.
I noticed this in the log:
02 12/17/20 0:28:33.172 luup_log:99: Sonos: AzureTTSEngine:say() authorization failed with Azure service <0x77c4a000>
02 12/17/20 0:28:33.173 luup_log:99: Sonos: (tts) engine Azure Speech Service error: authorization failed <0x77c4a000>
02 12/17/20 0:28:33.174 luup_log:99: Sonos: (tts) Engine "Azure Speech Service" produced no audio <0x77c4a000>
Please post more of the log before an error message. Posting just the error message is kind of like looking at the dead body on the sidewalk and having no witnesses around.
Try using the Curl responder (Sonos System master device, Settings tab, “Requestor” – change it to “Curl”, save config changes, reload Luup, give it another try.).
I had Sonos TTS working great on Vera but it’s no longer able to get new messages from Azure. These log entries seem relevant:
10 04/12/22 13:23:44.353 GlobalLog: mongoose get_socket: 0xe96bc0 idle: 1 threads: 3 max: 100 head: 16 tail: 16 s: d:14553 <0x723bf520>
50 04/12/22 13:23:44.853 luup_log:102: Sonos: (tts debug) AzureTTSEngine:say() host "westus2.tts.speech.microsoft.com" payload "<speak version=\"1.0\" xml:lang=\"en-US\"><voice name=\"en-US-JessaRUS\">Now hear this. The French Doors have been left open for 3 minutes.</voice></speak>" <0x77cc3320>
50 04/12/22 13:23:44.855 luup_log:102: Sonos: (tts debug) AzureTTSEngine:say() LuaSec "0.8", using protocol "any" for request <0x77cc3320>
50 04/12/22 13:23:44.983 luup_log:102: Sonos: (tts debug) AzureTTSEngine:say() auth fail, arming for retry <0x77cc3320>
50 04/12/22 13:23:44.984 luup_log:102: Sonos: (tts debug) AzureTTSEngine:say() token is expired, fetching new <0x77cc3320>
31 04/12/22 13:23:45.100 AlarmManager::Run 0xad5e68 notified of a change entry 0x1338fb8 id 460 deleted 0 <0x77010520>
31 04/12/22 13:23:45.101 AlarmManager::Run callback for alarm 0xad5e68 entry 0x1338fb8 type 52 id 460 param=(nil) entry->when: 1649795025 time: 1649795025 tnum: 1 slow 0 tardy 0 <0x77010520>
I regenerated my key on Azure (and input into the Sonos device); no improvement. I note that Azure reports my endpoint should be https://verasonostexttospeech.cognitiveservices.azure.com…not sure if that’s changed from the previous working configuration.
Make sure you’re on the latest hotfix version (see that linked post for instructions). There’s an endpoint field in the configuration page (on the Sonos plugin’s master device) in that version and you can set the endpoint to whatever Azure requires.
When posting logs, it’s better to post several lines, even a dozen or more, before the part that got your attention, to create context.
The hotfix fixed it, with no further reconfiguration required. I’ve bookmarked that page, thank you! You’re doing great work for this community, @rigpapa!
My SONOS app controls seem to be working but i can not get Azure TTS to work. Created new resource and copied key but still no joy, which TTS do you use?