Speech to Text Issue

The user presses 1 in the IVR menu and is transferred to the extension number, and I accept the call. Sometimes what they say appears in the console, but frequently, it returns an error. The error message only points to the SpeechCreate() function, and I don’t understand why.

[custom-ivr2-agi]
exten => s,1,NoOp("Press 1")
   same => n,Answer()
   same => n,Playback(tr/custom/aydinlatma_metini)
   same => n,SpeechCreate(my-speech-to-text)
   same => n,SpeechStart()
   same => n,SpeechBackground(tr/custom/ttsmaker-file-2024-10-23-12-4-21)
   same => n,Verbose(0,${SPEECH_TEXT(0)})
   same => n,SpeechDestroy()
   same => n,Hangup()
144	[2024-10-23 11:57:01] VERBOSE[7065][C-00000009] pbx.c: Executing [s@ivr-2:12] GotoIf("PJSIP/anonymous-00000008", "0?#,1") in new stack	
145	[2024-10-23 11:57:01] VERBOSE[7065][C-00000009] pbx.c: Executing [s@ivr-2:13] GotoIf("PJSIP/anonymous-00000008", "0?t,1") in new stack	
146	[2024-10-23 11:57:01] VERBOSE[7065][C-00000009] pbx.c: Executing [s@ivr-2:14] ExecIf("PJSIP/anonymous-00000008", "0?Set(LOCALEXT=1)") in new stack	
147	[2024-10-23 11:57:01] VERBOSE[7065][C-00000009] pbx.c: Executing [s@ivr-2:15] GotoIf("PJSIP/anonymous-00000008", "0?i,1") in new stack	
148	[2024-10-23 11:57:01] VERBOSE[7065][C-00000009] pbx.c: Executing [s@ivr-2:16] GotoIf("PJSIP/anonymous-00000008", "0?from-did-direct-ivr,1,1") in new stack	
149	[2024-10-23 11:57:01] VERBOSE[7065][C-00000009] pbx.c: Executing [s@ivr-2:17] Goto("PJSIP/anonymous-00000008", "1,1") in new stack	
150	[2024-10-23 11:57:01] VERBOSE[7065][C-00000009] pbx.c: Executing [1@ivr-2:1] Set("PJSIP/anonymous-00000008", "__ivrreturn=0") in new stack	
151	[2024-10-23 11:57:01] VERBOSE[7065][C-00000009] pbx.c: Executing [1@ivr-2:2] Goto("PJSIP/anonymous-00000008", "custom-ivr2-agi,s,1") in new stack	
152	[2024-10-23 11:57:01] VERBOSE[7065][C-00000009] pbx.c: Executing [s@custom-ivr2-agi:1] NoOp("PJSIP/anonymous-00000008", ""Çağrı 1 de"") in new stack	
153	[2024-10-23 11:57:01] VERBOSE[7065][C-00000009] pbx.c: Executing [s@custom-ivr2-agi:2] Answer("PJSIP/anonymous-00000008", "") in new stack	
154	[2024-10-23 11:57:01] VERBOSE[7065][C-00000009] pbx.c: Executing [s@custom-ivr2-agi:3] Playback("PJSIP/anonymous-00000008", "tr/custom/aydinlatma_metini") in new stack	
159	[2024-10-23 11:57:14] VERBOSE[7065][C-00000009] pbx.c: Executing [s@custom-ivr2-agi:4] SpeechCreate("PJSIP/anonymous-00000008", "my-speech-to-text") in new stack	
160	[2024-10-23 11:57:14] VERBOSE[7065][C-00000009] pbx.c: Executing [s@custom-ivr2-agi:5] SpeechStart("PJSIP/anonymous-00000008", "") in new stack	
161	[2024-10-23 11:57:14] VERBOSE[7065][C-00000009] pbx.c: Spawn extension (custom-ivr2-agi, s, 5) exited non-zero on 'PJSIP/anonymous-00000008'

You haven’t stated what engine/functionality you are using to do speech to text, but the most likely cause is that the underlying speech engine failed to initialize/create the speech resource.

[my-speech-totext]
type=client
codecs=!all,ulaw
url=ws://127.0.0.1:9099
protocol=speech__to_text

Okay, so you’re using AEAP I assume then. I would suggest looking at whatever is on the other side and seeing if anything stands out as to a failure there, and also examine the underlying JSON traffic over the websocket.

Everything seems fine on the WebSocket side, and port 9099 is open. This issue doesn’t occur all the time; sometimes the connection is successful, and the translation completes. Also, I’d like to ask if I need to update Asterisk for the @vosk-api library (at least to compile res_speech_vosk.so)

Not everything is fine there. The output shows an error response, “codec alaw not supported” so a request was done with alaw as the codec, why that is I don’t know. The configuration you’ve provided should limit it to ulaw.

Vosk is an outside project, someone else may have input on it.

What version of Asterisk are you using?

I am using the master version on GitHub. No connections are coming through

Were you on a prior version, and now you’ve changed it?

And you’ll probably need to get an Asterisk debug log and examine the output to see if it gives any hints.

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.