s命令数据包/s命令响应数据包
s 命令数据包和s命令响应数据包是成对的。 当使用 s 命令 通知服务器开始发送语音数据时,服务器会返回 s 命令响应数据包。
如果 s 命令 响应数据包仅为"s"一个字符,则表示成功。随后可以开始通过 p 命令数据包提供语音数据。当所有语音数据 发送完成后,需要用e命令数据包通知发送结束,但如果连接仍然保持,则可以再次从s命令数据包开始重新启动。
s 命令数据包
开始发送语音数据。 除了通知开始发送外,还需要发送要使用的语音格式,要使用的语音识别引擎(连接引擎名称)、认证信息(APPKEY)以及其他参数。
格式
类型 TEXT
s <audio_format> <grammar_file_names>
s <audio_format> <grammar_file_names> <key>=<value> ...
s 和各参数块之间的分隔符是半角空格。 以下将详 细说明各参数。
<audio_format>
指定要使用的语音格式。此参数是必需的。关于可以指定的格式名称,请参阅使用指南中的关于音频格式。
<grammar_file_names>
指定连接引擎名称。此参数是必需的。
<key>
<key>可以指定以下 key 字符串。 如果<value>中包含空格,请用半角双引号「"」将value括起来。
<key> | 说明 |
---|---|
authorization | authorization 需设置为 My Page 上显示的[APPKEY]或通过一次性APPKEY发行API获取的一次性APPKEY。此参数是必需的。 |
profileId | profileId 是在注册用户特定单词时使用的用户特定数据文件(profile)的ID。只有该用户才能指定并使用该 profile 。 profile 存储在用户特定区域,因此不会与其他用户的名称发生冲突。※ profileId 需指定由半角英文字母、数字以及「-」(半角连字符)、「_」(半角下划线)组成的字符串。但是,以「__」(两个半角下划线)开头的字符串被语音识别引擎保留,因此请不要指定以「__」(两个半角下划线)开头的字符串。在 My Page 上注册单词时,与 My Page 连接信息中列出的 serviceId(由 userId 自动生成)同名的 profile (我的单词表)会自动创建并保存在服务器上。当想使用此 profile (我的单词表)进行语音识别时,请在 profileId 中指定**"在 serviceId 前加半角冒号":"的字符串"**。(例)如果 serviceId 为"aiueo12345",则 profileId 的值为":aiueo12345"。单词注册 在 My Page 的单词注册画面进行单词注册是最简单的方法。使用这种方法的话,几乎不需要使用后面介绍的 profileWords 。关于在 My Page 的单词注册画面创建的 profile (我的单词表)与 profileWords 的关系,请参阅此页面中的 profileId 和 profileWords 。同时指定 profileId 和 profileWords 时,需要先指定 profileId 。 |
profileWords | 在 profileWords 参数中设置要注册的单词的显示和读音。格式为『显示<半角空格>读音』。要注册多个单词时,用「 | 」分隔。发送时,请用「"」将整个 profileWords 参数值括起来。 ※指定类别名时,请使用『表记<半角空格>读音 <半角空格> 类别名』的格式。 |
keepFillerToken | 如果想在识别结果字符串中包含发话中的填充词(如「あー」或「えー」等),请按以下方式指定: keepFillerToken=1 填充词有各种各样,但所有填充词的显示前后都用半角%包围。(例) %あー% %えー% %おー% %えーっと% 如果没有指定 keepFillerToken=1 ,填充词将从识别结果字符串中删除。 |
segmenterProperties | 这是发言检测的参数。可以控制说话人区分的启用/禁用,并设置调整结果的参数。可以用空格分隔设置多个参数。 segmenterProperties="key1=value1 key2=value2..." 可以设置的参数如下: useDiarizer 设置为1时启用说话人分类。 ・可指定的值: 0 或 1 ・默认值: 0 diarizerAlpha 这是控制新说话人出现容易程度的参数。指定较大的值会使新说话人更容易出现,指定较小的值会使新说话人更难出现。只在 useDiarizer=1 时有效。・可指定的值: 0以上 ・参考范围: 1e-100~1e50 ・默认值: 1 diarizerTransitionBias 这是控制说话人切换容易程度的参数。指定较大的值会使说话人更容易切换,指定较小的值会使说话人更难切换。只在 useDiarizer=1 时有效。・可指定的值: 0以上1以下 ・参考范围: 1e-150~1e-10 ・默认值: 1e-40 (8k的情况为1e-20) |
使用在 My Page 注册的单词时 的s命令
s MSB16K -a-general profileId=:<userId> authorization=XXXXXXXXXXXXXX
为本次会话临时注册单词时的s命令
s MSB16K -a-general profileWords="AMI あみ|AmiVoice あみぼいす" authorization=XXXXXXXXXXXXXX
上面的例子中,没有指定 profileId
,而是注册了"AMI あみ|AmiVoice あみぼいす"(2个单词)。接下来,在这个会话中发送语音数据时,这些单词将用于识别处理。之后,发送e命令数据包(结束会话)后,这些单词将失效,也不会被保存。
创建自定义 profile 并注册单词时的s命令
s MSB16K -a-general profileId=test profileWords="AMI あみ|AmiVoice あみぼいす" authorization=XXXXXXXXXXXXXX
在上面的例子中,profileId
为 'test',注册的单词为 "AMI あみ|AmiVoice あみぼいす"(2个单词)。
※无法在 My Page 的单词注册画面中管理自定义创建的 profile 。
将单词保存到自定义 profile 的方法
在发送带有 profileId
和 profileWords
的s命令后,不发送语音数据,而是发送e命令数据包。当音频数据发送停止被接受时,单词将被保存到指定的 profileId
中。
要将单词保存注册到 profile 中,每次都需要发送所有要保存注册的单词。如果之前已经注册了单词,后来想添加其他单词,则需要一起发送要添加的单词和过去已注册的单词。
将单词保存到 profile 是"完全替换"的操作。用户自己负责记录当前 profile 中注册的单词以及过去注册过哪些单词。
- 如果使用 My Page 的单词注册,可以在画面上确认当前注册的单词,并可以选择从CSV文件添加注册或全部替换。
- 在连接以将单词保存到自定义 profile 时,不要在
profileId
的开头添加":"(半角冒号)。如果在开头添加半角冒号,单词将不会被保存到该 profile 中,请注意。
使用注册单词的方法
要使用 profile 中注册的单词进行语音识别,在发送s命令数据包时,请在 profileId
中指定之前进行单词注册的 profile 的 profileId
,并在开头添加":"(半角冒号)。
在多个成员使用的情况下,如果在 profileId
的开头不加":"就指定,可能会导致识别精度下降。
删除注册单词的方法
如果想删除注册的单词,请在发送s命令时指定 profileId
,并在 profileWords
中指定一个半角空格。
将自定义 profile 用于语音识别时的s命令
s MSB16K -a-general profileId=:test authorization=XXXXXXXXXXXXXX
s 命令响应数据包
作为对 s 命令的响应从服务器发送到客户端。