グラマファイルの指定方法
「音声入力_ルール」エンジン(-a-rule-input-private)を使った音声認識を行う場合、リクエストパラメータの「grammarFileNames」に、接続エンジン名|グラマファイルと指定します。
grammarFileNames=<接続エンジン名|グラマファイル>
以下、詳細な指定方法を説明します。
グラマファイルの URL を指定する方法
グラマファイルを Web サーバ等に配置し、grammarFileNamesにその URL を指定することで、そのグラマファイルを音声認識に使用することができます。
grammarFileNames=<接続エンジン名|グラマファイルのURL>
たとえば、同期 HTTP インタフェースを使って、URL がhttp://dummy.com/grammars/Sample.gramのグラマファイルを使う場合、grammarFileNamesはdパラメータに指定し、パラメータは URL エンコードする必要があるので、以下のようになります。
d=grammarFileNames=-a-rule-input-private%7Chttp%3A%2F%2Fdummy.com%2Fgrammars%2FSample.gram
リクエストに直接グラマを記述する方法
グラマファイルを Web サーバ等に配置しない場合、リクエストにグラマ本文を GZIP 圧縮して Base64 エンコードしたものを直接指定することもできます。
grammarFileNames=<接続エンジン名|GZIP 圧縮して Base64 エンコードしたグラマ本文>
たとえば以下のようなグラマを利用したい場合、
#JSGF V1.0 UTF-8;
grammar test;
public <main> = とりぷるだぶりゅー {www};
これを GZIP 圧縮して Base64 エンコードし、dパラメータに以下のように記述します。なお、GZIP 圧縮して Base64 エンコードした箇所は、URL エンコードは不要です。
d="grammarFileNames=-a-rule-input-private|H4sIAAAAAAAAClP2CnZ3Uwgz1DNQCA1x07Ww5kovSszNTSxSKEktLrHmKihNyslMVrDJTczMs1OwVXjcuOJxU9fjxu2Pm7ofNy543LgNxG1qfdy8R6G6vLy81hoA9jW921IAAAA="Expand commentComment on line R109Resolved
グラマファイルを複数指定する方法
グラマファイルは複数指定することも可能です。グラマファイルを|で区切って並べてください。グラマ本文を直接指定する場合でも適用可能です。
例: -a-rule-input-private|test1.gram|test2.gram
複数のグラマファイルを用いた特殊な音声認識処理
グラマファイル同士の区切りに||を用いた場合、特殊な音声認識処理を行います。
例えばグラマ1||グラマ2と指定すると、最初は||より前のグラマ(グラマ1)を用いて認識処理を行い、認識に成功したらそこで認識終了します。認識に成功しなかった場合は次に||より後ろのグラマ(グラマ2)を用いて認識処理を行います。