故障排除
常见问题
Q. 语音识别准确度不如预期,我该怎么办?
请检查以下几点。另请参阅结果处理中的客户端错误。如果问题仍然存在,请与我们联系。
-
检查音频数据的声道数
对于立体声录音,只会识别第一个声道的音频。如果想要识别两个声道的音频,请分别发送分离后的音频文件。
-
检查音频数据的采样率
电话通话音频通常以8kHz采样,其他常用音频通常以16kHz或更高采样率录制。 会話_汎用引擎支持这些不同的采样率,但由于连接到不同的引擎,在请求时需要指定正确的采样率。 ※如果采样率指定错误,几乎无法识别(识别结果为空)。
-
检查音频格式指定的字节序
发送 不带 header 音频数据(RAW数据)时,除了采样率外,还需要指定字节序。小端数据添加lsb,大端数据添加msb(如
lsb8K
、msb16K
等)。※如果lsb或msb指定错误,几乎无法识别(识别结果为空)。
-
确认是否录制了要识别的音频
由于受环境和录音设备等因素的影响,请听一下录音以确认说话者的声音是否清晰可闻。
-
确认发言内容是否与所使用的引擎匹配
如果频繁出现专业术语,识别准确度会下降。 我们为医疗、金融、保险等行业提供了专门的领域特化引擎。如果发言内容可能匹配,请尝试使用这些引擎。详情请参阅语音识别引擎。 如果想要识别仅在公司内部使用的专有术语或缩写,请使用单词注册功能。
Q. 是否可以对视频文件、HLS等流媒体格式的视频和音频进行语音识别?
我们不提供用于识别流媒体视频或音频的API或示例程序。 对于不支持的数据格式,您需要将其转换为支持的音频格式。
用于转换音频格式的软件包括免费软件FFmpeg等。 但是,对于某些视频和音频格式,格式本身可能在许可证中有使用限制或需要支付版税。 请您自行确认并使用。
如果您想在播放视频或音频的同时进行语音识别,可以考虑将JavaScript示例程序中的getUserMedia()
更改为getDisplayMedia()
,这样就可以识别浏览器或系统音频,而不是麦克风输入。
(例) wrp.js
更改前
navigator.mediaDevices.getUserMedia(
{audio: true, video: false}
更改后
navigator.mediaDevices.getDisplayMedia(
{audio: true, video: true}
※ 并非所有浏览器都支持getDisplayMedia()
的音频。我们已确认它在Chrome和Edge上可以正常工作。
关于个人页面的问题
Q. 是否可以了解每个客户端应用程序的使用量?
要了解每个客户端应用程序的使用量,需要为每个客户端应用程序分配单独的账户。 如果需要分配账户,请考虑使用"面向服务提供商的客户管理功能"。
如果您考虑使用"面向服务提供商的客户管理功能",请通过联系表单询问详细信息。
Q. 我在单词注册页面通过文件注册了单词,但为什么没有显示在页面上?
可能是因为文件的字符编码不是UTF-8,或者文件格式不正确,导致无法注册。 请检查文件的字符编码和格式。
Q. 通过哪个地址可以接收故障信息通知邮件?
除了在个人页面注册的基本邮箱地址外,还可以通过在"替代通知目标"的"故障信息通知目标"中注册的邮箱地址接收。
关于客户端库的问题
Q. 在连接语音识别服务器时,如果互联网断开并恢复,应该如何重新开始处理?
创建新的socket也没问题,但我们建议执行结束处理,然后重新连接。
对于客户端库,可以在wrp.disconnect()
之后,重新从wrp.connect()
开始以重新连接。
(例)
wrp.construct();
wrp.connect();
wrp.feedDataResume();
wrp.feedData();
wrp.feedData();
wrp.feedData();
--> 发生错误
wrp.disconnect();
wrp.connect();
wrp.feedDataResume();
wrp.feedData();
wrp.feedData();
wrp.feedData();
wrp.feedDataPuse();
Q. Android应用程序无法连接到服务器的原因是什么?
在Android中,无法从主线程(UI线程)连接到服务器。 请在另一个线程中执行。 此外,需要设置执行网络操作的权限(android.permission.INTERNET)。
关于示例程序的问题
Q. 有异步接口的示例程序吗?
Python示例代码请参考异步 HTTP 接口。 另外,AmiVoice Tech Blog上发布了带有源代码的示例应用程序,请参考这些。