簡體   English   中英

如何在Asterisk上將IBM Blumix Watson Speech to Text用作語音引擎

[英]How to use IBM Blumix Watson Speech to Text as speech engine on Asterisk

我點擊了以下鏈接:http: //zaf.github.io/asterisk-speech-recog/

現在,我想使用IBM Blumix Watson Speech to Text而不是google speech-recog。 任何人都可以使用鏈接上提供的代碼來幫助我。

它正在使用谷歌語音引擎。 但是我想使用IBM Bluemix。

 #!/usr/bin/perl

use strict;
use warnings;

require LWP::UserAgent;
use WWW::Curl::Easy;

my $url = 'https://stream.watsonplatform.net/speech-to-text/api';

my $ua;
my $fh;
my $audio;
my $response;
my $headers;
my $username = 'username';
my $password = 'password';

local $ENV{'HTTPS_DEBUG'} = 1;
open($fh, "<", "test.flac") or die "Can't read file: $!";
$audio = do { local $/; <$fh> };
close($fh);

$ua = LWP::UserAgent->new;

$response = $ua->post($url, Content_Type => "audio/flac",Transfer_Encoding => "chunked", Content => $audio);
$response->authorization_basic($username, $password);
my $cont = $response->content;
print $cont;

然后它給了我輸出

SSL_connect:before/connect initialization
SSL_connect:SSLv2/v3 write client hello A
SSL_connect:SSLv3 read server hello A
SSL_connect:SSLv3 read server certificate A
SSL_connect:SSLv3 read server done A
SSL_connect:SSLv3 write client key exchange A
SSL_connect:SSLv3 write change cipher spec A
SSL_connect:SSLv3 write finished A
SSL_connect:SSLv3 flush data
SSL_connect:SSLv3 read finished A
500 write failed:

這有效:

curl -X POST -u uuuu:ppppp --header“內容類型:音頻/ wav”-header“傳輸編碼:分塊” --data-binary @ ira_47s_16khz.wav“ https://stream.watsonplatform.net / speech-to-text / api / v1 / recognize?continuous = true

我不熟悉Asterisk / Perl,但是將curl調用與代碼進行比較似乎:

  • 主機看起來不正確。 使用正確的網址,您應該開始收到返回消息和錯誤代碼

  • 內容類型略有不同

  • 在代碼中找不到數據二進制塊。 (但是應該在那兒,因為您的代碼可與Google api一起使用)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM