AmiVoice Techblog

AmiVoiceの音声認識に関する技術情報・活用方法・組み込み方などを発信するアドバンスト・メディアのテックブログです

InsomniaでAmiVoiceが試せる。音声ファイルを文字起こし。


f:id:amivoice_techblog:20211201162230p:plainあの手先

はじめまして、『あの手先』と申します。
ハイパーリンクマウスポインタを重ねると出てくる、あの手先です。
※ちなみに、マウスポインタは自分好みにカスタマイズできますよ!

目次

 はじめに
 1. InsomniaでAmiVoiceを試せるように準備する
 2. ACPにログイン&接続に必要なAPPKEYを確認する
 3. AmiVoice 同期HTTP音声認識APIを試す
 4. AmiVoice 非同期HTTP音声認識APIを試す
 おわりに

はじめに

Insomniaについて

Insomniaは、REST API をテストするためのアプリです。
HTTPリクエストを手軽に作成することができて、リクエストに対する
レスポンス内容や速度等を詳細に確認することができます。

今回は、このAPIクライアントアプリ、Insomniaを使って、
AmiVoice Cloud Platform (ACP) クラウドサービス、
AmiVoiceのHTTP音声認識APIを試す!ということをしていきます。

この記事でわかるようになること(実践すると)

・『Insomnia』は、驚くほど簡単に使えるツールだってこと

・『AmiVoice (会話向け汎用エンジン)』の体感精度

・『同期/非同期HTTP音声認識API』のレスポンス内容/速度

・『同期/非同期』『ログ保存あり/ログ保存なし』の違いと注意点

 

実践するために必要なものリスト

・Insomniaをインストールできる環境

・InsomniaにインポートするYAMLファイル (※後ほどご案内します)

・ACPのAPPKEY (※ACPのユーザー登録が必要です)
 利用申込 - AmiVoice Cloud Platform

・認識させたい音声ファイル (※音声フォーマットに要注意です)
 音声フォーマットについて - AmiVoice Cloud Platform

1. InsomniaでAmiVoiceを試せるように準備する

InsomniaにインポートするYAMLファイルについて

今回、超簡単にInsomniaからAmiVoice Cloud Platform(ACP)を試せるように、
インポートするだけですぐ使えるテンプレートをご用意致しました。

手順①:こちらのリンクからYAMLファイルをダウンロードしてください。
https://go.amivoice.com/Insomnia_ACP


Insomniaのトップページ・ダウンロードページ

Insomniaのトップページとダウンロードページはこちらです。
Insomniaは、WindowsMacOSUbuntuに対応しているそうです。
※執筆時に利用したバージョンは、Windows版2021.6.0でした。
insomnia.rest

insomnia.rest


Insomniaをダウンロード&インストールする

手順②:ダウンロードページの青枠をクリックして、ダウンロードしてください。
Windowsではない場合はコレ→  Download for MacOS / Ubuntu or See all downloads.
手順③:ダウンロードした後は、インストールしてください。

青枠をクリックでダウンロード開始(Windowsの場合)

青枠をクリックでダウンロード開始(Windowsの場合)

 

InsomniaにYAMLファイルをインポートする

手順④:インストールした後は、下記の画像と説明の通りに、
手順①でダウンロードしたYAMLファイルをインポートしてください。

インストール後、From Fileをクリックする

インストール後、From Fileをクリックする

※ [ Create ▼ ] からの [ + File ] からでも大丈夫

※ [ Create ▼ ] からの [ + File ] でも大丈夫

ダウンロードしたZIPファイルを解凍し、YAMLファイルをImportする

ダウンロードしたZIPファイルを解凍し、
YAMLファイルをImportする

Import後、Dashboard画面にCollectionが追加される

Import後、Dashboard画面にCollectionが追加される

Collectionをクリックすると、こんな画面に

Collectionをクリックすると、こんな画面に

あとは、今は何も指定されていない、黄色の枠の部分、
u=(APPKEY)と、a=(音声ファイル)を準備するだけです。
※手順①のZIPファイルに、2つのサンプル音声ファイルが同梱されています。
 こちらの音声ファイルを用いてお試しいただいても構いません。

 

2. ACPにログイン&接続に必要なAPPKEYを確認する

ACPのマイページにログインして、APPKEYを確認する

ACP公式サイトはこちらのリンクから
音声認識API - AmiVoice Cloud Platform
※2021年11月1日以降、全てのエンジン(13種類)が毎月60分無料で試せます!

ACP公式サイトの右上にある、マイページをクリックして、マイページにログインする

ACP公式サイトの右上にある、
マイページをクリックして、マイページにログインする

ログイン後、接続情報をクリックして、そこからAPPKEYを確認する

ログイン後、接続情報をクリックして、
そこからAPPKEYを確認する

 

APPKEY・サービスID・サービスパスワードは、機密情報です

漏洩すると、音声認識サービスが勝手に利用される可能性があるので、
これらの機密情報は、厳重に管理してください。

 

3. AmiVoice 同期HTTP音声認識APIを試す

同期HTTP音声認識APIのデータサイズ上限について

同期HTTP音声認識APIには、
1回でアップロードできる音声データのサイズに上限があります。
受付可能な音声データの最大容量は、16MBです。
制限事項について - AmiVoice Cloud Platform

この上限を超える音声データをアップロードする必要がある場合は、
次の章で説明する、非同期HTTP音声認識APIをご利用ください。

同期HTTP音声認識APIのログ保存ありとログ保存なしの違い

同期HTTP音声認識APIの『ログ保存あり』と『ログ保存なし』では、
接続先URL(黄緑色の下線部分)と、利用料の単価が異なります。

同期HTTP音声認識APIの『ログ保存あり』のURLに送信された音声は、
マイページの音声再生画面から聞くことができるようになります。
認識結果もこの画面から確認可能です。音声の保存期間は2日間です。

なお、『ログ保存あり』のURLに送信された音声及び認識結果は、
当社製品の性能向上のために利用させていただく場合があります。
ログ保存について - AmiVoice Cloud Platform

同期HTTP音声認識API_ログ保存あり

同期HTTP音声認識API_ログ保存あり

同期HTTP音声認識API_ログ保存なし

同期HTTP音声認識API_ログ保存なし


POSTリクエストにAPPKEYを入力し、音声ファイルを選択する

手順①:『同期HTTP音声認識API』のどちらか(あり/なし)を選んでください。
手順②:uパラメータの欄に、マイページで確認したAPPKEYを入力してください。
手順③:aパラメータの欄から、認識させたい音声ファイルを選択してください。

APPKEYを入力し、音声ファイルを選択する

APPKEYを入力し、音声ファイルを選択する

 

Sendをクリックし、音声認識結果を受け取る

手順④:Sendをクリックすると、音声認識サーバに音声ファイルが送信されます。
サーバ側で認識処理が完了すると、認識結果がJSON形式で返却されます。
音声認識に成功した場合に、認識結果を見ることができます。

Sendをクリックして、レスポンスが返ってくるとこんな感じに

Sendをクリックして、
レスポンスが返ってくるとこんな感じに

 

4. AmiVoice 非同期HTTP音声認識APIを試す

非同期HTTP音声認識APIのデータサイズ上限について

非同期HTTP音声認識APIにも、
1回でアップロードできる音声データのサイズに上限があります。
受付可能な音声データの最大容量は、2.14GBです。
制限事項について - AmiVoice Cloud Platform

同期HTTP音声認識APIよりも、大容量の音声データを送信できるのと、
音声認識サーバとの通信時間が短縮できるようになるので、
通常は、非同期でのご利用をお勧めします。

非同期HTTP音声認識APIのログ保存ありとログ保存なしの違い

非同期HTTP音声認識APIの『ログ保存あり』と『ログ保存なし』では、
接続先URLは同じになっておりますが、
dパラメータの内容(黄緑色の下線部分)と、利用料の単価が異なります。


『ログ保存なし』にする(=データロギングをオプトアウトする)には、
dパラメータの欄にloggingOptOut=Trueと指定する必要があります。
※未指定の場合では、『ログ保存あり』となりますので要注意です。

なお、『ログ保存あり』の設定で送信された音声及び認識結果は、
当社製品の性能向上のために利用させていただく場合があります。
ログ保存について - AmiVoice Cloud Platform

非同期HTTP音声認識API_ログ保存あり

非同期HTTP音声認識API_ログ保存あり

非同期HTTP音声認識API_ログ保存なし

非同期HTTP音声認識API_ログ保存なし

 

POSTリクエストにAPPKEYを入力し、音声ファイルを選択する

手順①:『非同期HTTP音声認識API』のどちらか(あり/なし)を選んでください。
手順②:uパラメータの欄に、マイページで確認したAPPKEYを入力してください。
手順③:aパラメータの欄から、認識させたい音声ファイルを選択してください。

APPKEYを入力し、音声ファイルを選択する

APPKEYを入力し、音声ファイルを選択する

 

Sendをクリックし、sessionidを受け取る

手順④:Sendをクリックすると、音声認識サーバに音声ファイルが送信されます。
音声ファイルの送信が完了すると、sessionidJSON形式で返却されます。

送信した音声ファイルの音声認識結果を取得するには、
このsessionid(黄色の部分)を用いて、GETリクエストを行う必要があります。
※この部分の挙動が、非同期HTTP音声認識APIと少し異なります。

Sendをクリックして、レスポンスが返ってくるとこんな感じに

Sendをクリックして、
レスポンスが返ってくるとこんな感じに

 

GETリクエストにAPPKEYとsessionidを入力する

手順⑤:『非同期HTTP音声認識API_状態確認/結果取得』を選んでください。
手順⑥:BearerのTOKENの欄(青色の部分)に、APPKEYを入力してください。
手順⑦:取得したsessionidを●の部分(黄色の部分)に入力してください。
※//acp-api-async.amivoice.com/v1/recognitions/● ←ココ

非同期HTTP音声認識API_状態確認/結果取得 APPKEYとsessionidを入力する

非同期HTTP音声認識API_状態確認/結果取得
APPKEYとsessionidを入力する

 

Sendをクリックし、音声認識結果を受け取る

手順⑧:Sendをクリックし、GETリクエストに成功した場合は、
音声認識リクエストの状態statusと、その状態に付随する情報を返します。

リクエストに成功した場合のstatusは、以下の5つの値をとります。

queued:ジョブがキューに登録された状態。

started:ジョブがキューから取り出されて、実行環境を用意している状態。

processing:ジョブが実行されている状態。

completed音声認識プロセスから結果が得られた状態。

error:何らかのエラーが発生した状態。

音声認識リクエストの状態statusが、completedになっていると、
認識結果を見ることができます。
※非同期の場合、音声認識結果の保存期間は、7日間です。
 また、マイページの音声再生機能は利用できませんので要注意です。

リクエストに失敗した場合は、HTTPのレスポンスコード200以外を返します。
エラーレスポンスの詳細は、こちらのリンクからご確認ください。
I/F仕様 非同期HTTP音声認識API 詳細 - AmiVoice Cloud Platform

Sendをクリックして、リクエストの状態statusがcompletedであればこんな感じに

Sendをクリックして、
リクエストの状態statusがcompletedであればこんな感じに

 

おわりに

いかがでしたか?音声認識できましたでしょうか?
Insomniaがあれば、コピペ&ポチポチだけで、
AmiVoiceのHTTP音声認識APIを試すことができたかと思います。

また、今回試して頂いた音声認識エンジンは、
会話向け汎用エンジン(-a-general)になりますが、
dパラメータの欄、"grammarFileNames=-a-general"の
"-a-general"の部分を他の接続エンジン名に変えるだけで、
様々な種類の音声認識エンジンを試すことができるようになります。

※2021年11月1日以降、全てのエンジン(13種類)が毎月60分無料で試せます!
※他の接続エンジン名については、ACPのマイページにある、
 接続情報(エンジン別接続情報)からご覧ください。
 ログイン - AmiVoice Cloud Platform


また、同期と非同期の特徴や違い、注意点等を簡単にまとめてみました。
参考になれば幸いです。最後までお読みいただきありがとうございました。

同期と非同期の特徴や違いを簡単にまとめると

同期HTTP音声認識API

・受付可能な音声データの最大容量は、16MB

・認識結果を取得するには、音声ファイルをPOSTするだけでよい。

・音声ファイルの長さが長いほど、POST時のレスポンスは遅くなる。

・『ログ保存あり』と『ログ保存なし』では、接続先URLが異なる

『ログ保存あり』で送信された音声のみ
 マイページの音声再生機能で再生できる。※音声データの保存期間は2日間

非同期HTTP音声認識API

・受付可能な音声データの最大容量は、2.14GB

・認識結果を取得するには、音声ファイルをPOSTした後に、
 sessionidを用いてGETする必要がある。

・音声ファイルの容量が大きいほど、POST時のレスポンスは遅くなるが、
 同期HTTPよりも高速。※GET時のレスポンスは遥かに高速。

・『ログ保存あり』と『ログ保存なし』では、接続先URLは同じでも、
 dパラメータの内容(loggingOptOutの指定値)が異なる

・マイページの音声再生機能は利用できない

認識結果の保存期間は、7日間。※それまでに認識結果の取得が必要。

この記事を書いた人

  • あの手先

    あの手先

    ポチポチするだけで大半の仕事を遂行できるように、
    業務自動化・RPA・MAの領域で、日々試行錯誤しています。
    ロボット対応で「より良い働き方」を推進していきます!