Google voice recognition

When I last considered this option I had not done any work with the custom conf files. I have now done a little bit with them and as a result, am not so afraid as I was!

Am I right in thinking that Google Asterisk Speech Recognition is something that could work with FreePBX?

I will sign up for the API if so.

Thanks

Never done that.

Start working on it, report back with your findings, and hopefully, we’ll be able to assist you getting it done.

Thanks. The first hurdle I’ve encountered is installing perl-libwww - when I do an apt-get install, it just says it can’t find the module. I’ll plough on!

apt-cache search libwww|grep perl

I’ve swapped around the words so it’s libwww-perl instead of perl-libwww and now it’s installing. Don’t know if
a) I’ve misunderstood
b) the script author made a typo
c) it’s changed name

thanks!

You will get used to the naming conventions of packages between versions of linux, there are none :wink:

Probably all of the above.

Just a) he is following a method that assumes redhat, he is using debian.

Even though this first attempt has failed (see below), I’m kinda elated(!) it even did …something!

[2019-06-14 16:10:09] VERBOSE[637][C-00000004] pbx.c: Executing [[email protected]:2] Goto("SIP/SIPGATE_UK-00000005", "dontcare") in new stack
[2019-06-14 16:10:09] VERBOSE[637][C-00000004] pbx_builtins.c: Goto (sub-record-check,recordcheck,3)
[2019-06-14 16:10:09] VERBOSE[637][C-00000004] pbx.c: Executing [[email protected]:3] Return("SIP/SIPGATE_UK-00000005", "") in new stack
[2019-06-14 16:10:09] VERBOSE[637][C-00000004] pbx.c: Executing [[email protected]:20] Return("SIP/SIPGATE_UK-00000005", "") in new stack
[2019-06-14 16:10:09] VERBOSE[637][C-00000004] pbx.c: Executing [[email protected]:4] Set("SIP/SIPGATE_UK-00000005", "_DISA=disa^1^newcall") in new stack
[2019-06-14 16:10:09] VERBOSE[637][C-00000004] pbx.c: Executing [[email protected]:5] Set("SIP/SIPGATE_UK-00000005", "_DISACONTEXT=from-internal") in new stack
[2019-06-14 16:10:09] VERBOSE[637][C-00000004] pbx.c: Executing [[email protected]:6] Set("SIP/SIPGATE_UK-00000005", "_KEEPCID=TRUE") in new stack
[2019-06-14 16:10:09] VERBOSE[637][C-00000004] pbx.c: Executing [[email protected]:7] Set("SIP/SIPGATE_UK-00000005", "_HANGUP=THg") in new stack
[2019-06-14 16:10:09] VERBOSE[637][C-00000004] pbx.c: Executing [[email protected]:8] Set("SIP/SIPGATE_UK-00000005", "TIMEOUT(digit)=5") in new stack
[2019-06-14 16:10:09] VERBOSE[637][C-00000004] func_timeout.c: Digit timeout set to 5.000
[2019-06-14 16:10:09] VERBOSE[637][C-00000004] pbx.c: Executing [[email protected]:9] Set("SIP/SIPGATE_UK-00000005", "TIMEOUT(response)=10") in new stack
[2019-06-14 16:10:09] VERBOSE[637][C-00000004] func_timeout.c: Response timeout set to 10.000
[2019-06-14 16:10:09] VERBOSE[637][C-00000004] pbx.c: Executing [[email protected]:10] DISA("SIP/SIPGATE_UK-00000005", "no-password,disa-dial") in new stack
[2019-06-14 16:10:19] VERBOSE[637][C-00000004] pbx.c: Executing [[email protected]:1] NoOp("SIP/SIPGATE_UK-00000005", "called 1234 in from-internal by ID: 1") in new stack
[2019-06-14 16:10:19] VERBOSE[637][C-00000004] pbx.c: Executing [[email protected]:2] Dial("SIP/SIPGATE_UK-00000005", "Local/[email protected],300,THg") in new stack
[2019-06-14 16:10:19] VERBOSE[637][C-00000004] app_dial.c: Called Local/[email protected]
[2019-06-14 16:10:19] VERBOSE[739][C-00000004] pbx.c: Executing [[email protected]:1] Answer("Local/[email protected];2", "") in new stack
[2019-06-14 16:10:19] VERBOSE[637][C-00000004] app_dial.c: Local/[email protected];1 answered SIP/SIPGATE_UK-00000005
[2019-06-14 16:10:19] VERBOSE[740][C-00000004] bridge_channel.c: Channel Local/[email protected];1 joined 'simple_bridge' basic-bridge <7d689d26-f81b-4434-9cc8-42d7c54002cf>
[2019-06-14 16:10:19] VERBOSE[637][C-00000004] bridge_channel.c: Channel SIP/SIPGATE_UK-00000005 joined 'simple_bridge' basic-bridge <7d689d26-f81b-4434-9cc8-42d7c54002cf>
[2019-06-14 16:10:19] VERBOSE[739][C-00000004] pbx.c: Executing [[email protected]:2] AGI("Local/[email protected];2", "speech-recog.agi,en-US") in new stack
[2019-06-14 16:10:19] VERBOSE[739][C-00000004] res_agi.c: Launched AGI Script /var/lib/asterisk/agi-bin/speech-recog.agi
[2019-06-14 16:10:19] VERBOSE[739][C-00000004] file.c: <Local/[email protected];2> Playing 'beep.alaw' (language 'en')
[2019-06-14 16:10:26] VERBOSE[739][C-00000004] res_agi.c: speech-recog.agi,en-US: Unable to get recognition data.
[2019-06-14 16:10:26] VERBOSE[739][C-00000004] res_agi.c: <Local/[email protected];2>AGI Script speech-recog.agi completed, returning 0
[2019-06-14 16:10:26] VERBOSE[739][C-00000004] pbx.c: Executing [[email protected]:3] Verbose("Local/[email protected];2", "1,The text you just said is: -1") in new stack
[2019-06-14 16:10:26] VERBOSE[739][C-00000004] app_verbose.c: The text you just said is: -1
[2019-06-14 16:10:26] VERBOSE[739][C-00000004] pbx.c: Executing [[email protected]:4] Verbose("Local/[email protected];2", "1,The probability to be right is: -1") in new stack

OK - first meaningful findings - the script returns with “unable to get recognition data”. - but I don’t know why. Yet.

Looks to be failing at this point in the script:

# Send audio data for analysis #
my $uaresponse = $ua-&gt;post(
"$url:recognize?key=$key",
Content_Type =&gt; "application/json",
Content =&gt; encode_json(\%json),
);

warn "$name The response was:\n", $uaresponse-&gt;content if ($debug);
if (!$uaresponse-&gt;is_success) {
print "VERBOSE \"Unable to get recognition data.\" 3\n";
checkresponse();
die "$name Unable to get recognition data.\n";
}
my $jdata = decode_json($uaresponse-&gt;content);

I would get the basics working first

https://cloud.google.com/speech-to-text/docs/basics

then select your language of choice from

https://cloud.google.com/speech-to-text/docs/samples

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