Having trouble setting Azure (Vera3/Lite)

Hello,
I have the lest version in the market (2.0 and updated it again just in case). I think I did all that is needed to use Azure TTS - got the key, set it up in the settings with the location. But it just doesn’t work. Here is the bit from the log:

08 05/22/20 16:25:21.509 JobHandler_LuaUPnP::HandleActionRequest device: 354 service: urn:micasaverde-com:serviceId:Sonos1 action: Say <0x2e868680>
08 05/22/20 16:25:21.510 JobHandler_LuaUPnP::HandleActionRequest argument DeviceNum=354 <0x2e868680>
08 05/22/20 16:25:21.511 JobHandler_LuaUPnP::HandleActionRequest argument serviceId=urn:micasaverde-com:serviceId:Sonos1 <0x2e868680>
08 05/22/20 16:25:21.511 JobHandler_LuaUPnP::HandleActionRequest argument action=Say <0x2e868680>
08 05/22/20 16:25:21.512 JobHandler_LuaUPnP::HandleActionRequest argument Text=Test <0x2e868680>
08 05/22/20 16:25:21.512 JobHandler_LuaUPnP::HandleActionRequest argument Engine=AZURE <0x2e868680>
08 05/22/20 16:25:21.513 JobHandler_LuaUPnP::HandleActionRequest argument rand=0.09231901102880258 <0x2e868680>
50 05/22/20 16:25:21.523 luup_log:535: Sonos: Say action on device 354 text “Test” <0x2ade4310>
50 05/22/20 16:25:21.528 luup_log:535: Sonos: (tts debug) generate() engine Azure Speech Service text Test file /www/sonos/Say.354.mp3 <0x2ade4310>
50 05/22/20 16:25:21.529 luup_log:535: Sonos: (tts debug) AzureTTSEngine:say() host “francecentral.tts.speech.microsoft.com” payload “<speak version="1.0" xml:lang="en-US"><voice name="en-US-JessaRUS">Test” <0x2ade4310>
50 05/22/20 16:25:21.530 luup_log:535: Sonos: (tts debug) AzureTTSEngine:say() LuaSec “0.4”, using protocol “any” for request <0x2ade4310>
02 05/22/20 16:25:21.586 luup_log:535: Sonos: AzureTTSEngine:say() conversion request failed, invalid protocol <0x2ade4310>
02 05/22/20 16:25:21.587 luup_log:535: Sonos: (tts) engine Azure Speech Service error: request failed invalid protocol <0x2ade4310>
02 05/22/20 16:25:21.588 luup_log:535: Sonos: (tts) Engine “Azure Speech Service” produced no audio <0x2ade4310>
04 05/22/20 16:25:21.589 <0x2ade4310>

I guess the problem is that “invalid protocol” but have no idea what should I do about it. Any help, please!

Vera3/Lite? Or just older firmware?

You’re going to need to download a replacement L_Sonos_TTS.lua file and upload it to your system:

  1. Download the file by right-clicking on this link and choosing “Save link as…” from the context menu that pops up. Remember the location to which you save the file. https://raw.githubusercontent.com/toggledbits/Sonos-Vera/stable/L_SonosTTS.lua
  2. Open the uploader at Apps > Develop apps > Luup files
  3. Drag the file to the “Upload” button. The file will be uploaded and Luup will reload.

This should do it.

2 Likes

Thanks a lot. Yes, I’m with Vera 3 so old firmware. Downloaded the file, uploaded it and reloaded Luup engine. However the error is still similar (a bit different logs but the error is the same):

50 05/22/20 16:59:08.323 luup_log:535: Sonos: (tts debug) AzureTTSEngine:say() LuaSec “0.4”, using protocol “tlsv1_2” for request <0x2b582310>
02 05/22/20 16:59:08.379 luup_log:535: Sonos: AzureTTSEngine:say() conversion request failed, invalid protocol <0x2b582310>
02 05/22/20 16:59:08.380 luup_log:535: Sonos: (tts) engine Azure Speech Service error: request failed invalid protocol <0x2b582310>
02 05/22/20 16:59:08.382 luup_log:535: Sonos: (tts) Engine “Azure Speech Service” produced no audio <0x2b582310>

OK. Sit right. I forgot my own CHANGELOG advisory: no Azure for 3/Lite due to encryption limitations. But there’s a possible workaround. Let me see if I can work it out.

I tried pretty much every other option and couldn’t make them work. I don’t have where to install MaryTTS … so Azure was the only option left to try. I guess I’ll have to upgrade my Vera at last. I just wanted another Vera with at least 4 LAN ports but I think there won’t be any such no more.

OK. I think I got it done. Pull the same file and install using the same instructions previously given.

After Luup finishes reloading, go into the master device’s Settings tab, and you’ll find a new setting in the TTS section called “Requestor”. Change that to curl. Save the settings, and then reload Luup again (whatever your favorite way). Then try TTS again.

1 Like

It really did it. Works like a charm. Thanks a lot.

1 Like