HTTP音声認識APIの利用体験 - AmiVoice Cloud Platform

HTTP音声認識APIの利用方法についてサンプルプログラム及びcurlコマンドの実行を例にして説明します。サンプルプログラムはすべて、コンソール上で実行されるコンソールアプリです。

ダウンロード

サンプルプログラムをダウンロードします。

引数指定

実行例で指定されている引数は次の通りです。

音声認識APIエンドポイント:
 https://acp-api.amivoice.com/v1/recognize   (ログ保存あり)
 https://acp-api.amivoice.com/v1/nolog/recognize (ログ保存なし)
音声ファイル:
 test.wav(サンプルプログラムに同梱)
音声フォーマット:
 16K
接続エンジン名:
 -a-general(会話_汎用)
<AppKey>:
 マイページに表示される[APPKEY] を指定してください。

実行

実行する際は、サンプルプログラム(sample.zip)を解凍すると生成される sample/Hrp/<プログラミング言語> をカレントディレクトリとしてください。

※お使いのPCがWindowsであれば、各<プログラミング言語>フォルダ直下にあるrun.batをダブルクリックすることで、そのフォルダをカレントディレクトリとして実行することができます。実行すると、AppKeyの入力を促されます。

Java

java -cp .;Hrp.jar HrpSimpleTester https://acp-api.amivoice.com/v1/recognize ../../audio/test.wav 16K -a-general <AppKey>  

C#

bin\Release\HrpSimpleTester.exe https://acp-api.amivoice.com/v1/recognize ../../audio/test.wav 16K -a-general <AppKey>

C++

set SSL_CERT_FILE=../../curl-ca-bundle.crt
bin\winnt64_vc140_release\HrpSimpleTester.exe https://acp-api.amivoice.com/v1/recognize ../../audio/test.wav 16K -a-general <AppKey>

PHP

php -dinclude_path=src -dopenssl.cafile=../../curl-ca-bundle.crt -dextension=openssl HrpSimpleTester.php https://acp-api.amivoice.com/v1/recognize ../../audio/test.wav 16K -a-general <AppKey>

Python

set PYTHONPATH=src
set SSL_CERT_FILE=../../curl-ca-bundle.crt
python HrpSimpleTester.py https://acp-api.amivoice.com/v1/recognize ../../audio/test.wav 16K -a-general <AppKey>

curl

curl -X POST -F a=@../../audio/test.wav "http://acp-api.amivoice.com/v1/recognize?d=-a-general&u=<AppKey>"

結果

実行が成功すると、以下のように結果がJSON形式で返却されます。

{"results":[{"tokens":[{"written":"\u30a2\u30c9\u30d0\u30f3\u30b9\u30c8\u30fb\u30e1\u30c7\u30a3\u30a2","confidence":0.93,"starttime":554,"endtime":1562, ...
...
"text":"\u30a2\u30c9\u30d0\u30f3\u30b9\u30c8\u30fb ... ",
"code":"","message":""}
-> アドバンスト・メディアは、人と機械との自然なコミュニケーションを実現し、豊かな未来を創造していくことを目指します。

この実行結果では、JSON文字列をそのまま表示しているため、JSON内の文字列が Unicode エスケープ形式として見えていますが、お使いの開発言語に備わるJSONパーサーなどで、簡単に可読可能なUTF-8文字列に変換できます。最後の「 -> 」に続く部分が、認識結果(”text”:の値)をUTF-8に変換した結果です。すべてのサンプルプログラムには、この変換処理が含まれています(curl実行サンプルを除く)。
JSONのフォーマットについては、「I/F仕様 HTTP音声認識API 詳細」のレスポンスを参照してください。

補足

サンプルプログラムはすべて、プロジェクトに同梱されているHrpクライアントライブラリ(com.amivoice.hrp.Hrp)を使用して作られています。Hrpクライアントライブラリは、クライアントアプリからHTTP音声認識APIを利用する際の通信処理などをパッケージ化・抽象化したクラスライブラリです。Hrpクライアントライブラリのインターフェイス仕様については、クライアントライブラリの Hrp(HTTP音声認識APIクライアント) を参照してください。
また、Hrpクライアントライブラリを使用せず、HTTP音声認識APIを直接的に利用することも可能です。HTTP音声認識APIの詳細についてはI/F仕様 HTTP音声認識APIを参照してください。