全部产品

服务使用问题

本文为您解答服务使用的相关问题。

智能语音交互是否有供参考的教程?

appkey是什么?

您可能有多个业务需要智能语音服务,如客服场景和司法场景,每个场景需要的语音能力是不同的。appkey就是用来区别不同业务场景的标识。只有在appkey项目中设置了合适的场景,才能获得理想的效果。

token如何使用?

公共云token在不同项目间、不同进程间、不同线程间都可以共用,同时一定要注意在token过期前提前重新获取token;出于安全考虑,建议您在服务端集成token SDK,客户端在服务端获取token。详情请参见获取Token

专有云token目前默认都是default,暂时无需修改。

token重新获取会不会导致已获取的token失效?

token重新获取不会影响已获取token的有效性,有效性只与时间有关。token的有效期通过服务端响应消息的ExpireTime参数获取。更多信息,请参见获取Token协议说明

“流式”模式和“非流式”模式识别的区别?

“非流式”模式也称为普通模式,普通模式下,服务判断用户整句话说完后才返回一次识别结果;而“流式”模式下用户一边说话一边返回识别结果,在句子结束的识别结果前会有很多中间结果。

语音识别服务支持哪些编码格式的音频?

每种服务支持的格式不尽相同,请参见各服务中的说明。您可以使用常见音频编辑软件如Audacity,查看音频文件的编码格式。

语音识别服务支持哪些采样率?

一般支持8000Hz、16000Hz的采样率。 电话客服场景往往是8000采样率,如果是手机APP、PC端工具、网页H5类场景,往往是16000Hz采样率(可能会有32、44.1k采样率,但开发时需要调用方将采样率调整为16k)。其他采样率的录音数据需要预先自行转码。

录音文件转写可以支持其他采样率,例如32k、44k等等。

怎么查看音频文件的采样率?

可以使用常见音频编辑软件如Audacity查看音频文件的采样率,也可以使用开源命令行工具FFmpeg查看。

语音识别服务支持离线功能吗?

目前不支持本地离线的语音识别,必须将音频数据发送至服务端做识别。

智能语音交互能的域名是什么?

智能语音交互服务的域名:wss://nls-gateway.cn-shanghai.aliyuncs.com/ws/v1 。

说明

HTTP协议需开放80端口;HTTPS协议需开放443端口。

现在有对识别结果进行敏感词屏蔽吗?

目前未提供此功能。您获取识别结果后可以按需处理。

语音识别服务支持的方言模型和语种都有哪些?

语音识别目前支持的方言模型和语种如下:

16k: 中文、英文、四川方言、湖北方言、日语、西班牙语、粤语等。

8k:中文普通话、中文粤语、中文地方口音、英语、四川方言等。

最新的模型支持情况可以登录智能语音交互控制台,在项目配置中查看。

语音识别能否自动断开多句话?

实时语音识别服务可以断开多句话;一句话识别服务的每个请求只对应一句话,无法断开。

免费用户有什么限制?

  • 一句话识别/实时语音识别:最多同时发送2路语音识别。

  • 录音文件识别:每自然日最多识别2小时时长的录音文件。

并发数是如何计算的?

并发数指同一个账号(阿里云UID)同时在处理的请求数。

一般语音请求的处理都会延续一段时间,例如用户新建一个语音识别请求,持续发送语音数据给服务端,这 时并发数就是1;在这个请求处理的同时,同一用户又新建了另一个请求,开始发送语音数据,这时服务端同时在处理这个账号的两个请求,并发数就变成2。

服务请求时长限制?

  • 一句话识别支持60秒以内的实时语音。

  • 实时语音识别不限制时长。

是否可以提供服务的IP白名单?

服务器的IP比较多,且会随着扩容、机器故障置换等原因动态变化,当前的IP列表不代表后续都可以使用。建议增加以下两个域名的访问规则:nls-meta.cn-shanghai.aliyuncs.com、nls-gateway.cn-shanghai.aliyuncs.com,开通80、443端口,HTTP和websocket协议。

实时语音识别,识别慢、超时问题?

排查方式:

  1. 运行阿里云提供的示例,和您的服务对比运行状态,记录并提供日志信息。

  2. 记录请求对应的taskid,方便排查问题。

  3. 客户端使用TCPDump(Linux)/Wireshark(Windows)等抓包工具,确定网络状况。

什么是ASR尾点延迟?

尾点延迟的定义是调用端发送音频结束到完成识别的时间。

目前语音实时识别,如一句话识别、实时转写接口的延迟在100~200ms左右,视模型、音频差异而略有不同。

一句话识别RESTful接口因为批量接收音频,识别时长和音频时长相关。不考虑网络开销,一句话识别RESTful接口处理时长和音频时长近似线性关系,简单计算可以认为:接口处理时长=音频时长*0.2。例如,1分钟音频处理时长约为12秒。实际线上性能会随模型的不同和服务器负载略有差异。

语音识别太灵敏、无效声音(噪音等)被识别出了文字怎么办?

可以通过设定参数speech_noise_threshold的值来修改VAD噪声阈值。

speech_noise_threshold参数区间是[-1,1],取值越小越灵敏,可能会有更多噪音被当成语音被误识别;取值越大,可能更多语音段会被当成噪音而没有被识别。例如设为0.6,如果仍觉得太灵敏,可以继续尝试设置为0.7。如果发现有丢字、漏识别,需要将该值调小,例如0.5、0.2甚至是-0.2等。

代码示例:

  • Java

    transcriber.addCustomedParam("speech_noise_threshold", -0.1);
  • C++

    request->setPayloadParam("speech_noise_threshold",-0.1);

远场识别为什么会经常丢字?如何提高远场识别效果?

这是因为远、近场的VAD阈值不一样,建议调节参数speech_noise_thresholdspeech_noise_threshold参数区间是[-1,1],取值越小越灵敏,可能会有更多噪音被当成语音被误识别;取值越大,可能更多语音段会被当成噪音而没有被识别。例如设为-0.2,如果丢字现象仍然比较严重,可以继续调小至如-0.3、-0.4;如果发现较多噪声被误识别了,也可以适当调大,例如-0.1、0等。

ASR识别很离谱,不准确怎么办?

一般来说,ASR模型识别率均有一定的保证。如果在所有情况下语音识别都不准确,或者识别率很低,往往需要整体考虑是否有什么地方配置错误,例如实际语音的采样率(在线识别场景ASR只支持8k 16bit或者16k 16bit)、调用时设置的采样率参数(8000或者16000)、ASR服务端模型(8k或者16k),这三者需要保持一致。

注意

如果是公共云ASR调用,需要确认阿里云控制台上该appkey所选择的模型采样率;如果是专有云ASR环境,则需要确认service/resource/asr/default/models/readme.txt 文件中所定义的采样率。

有些词汇总是识别不准怎么办?

在某些情况下,确实存在某些词汇识别不准的情况,如特定名词。针对此现象(下面以词汇“银税e贷”为例),我们建议有:

  • 通过自学习平台的定制语言模型训练优化,例如把“银税e贷是什么”、“如何办理银税e贷”等等相关话术加入到文本语料中进行训练。

  • 通过自学习平台的热词优化,例如把“银税e贷”作为热词进行训练,设置相应权重。

  • 专有云可通过ASR的白名单优化,例如“银税e贷”更容易为误识别为“银税一袋”,则可以在service/resource/asr/default/models/nn_itn/correct.list中按预定格式进行设置,第一列是误识别的文本,第二列是正确文本,注意该操作要求重启ASR生效。

如何提高标点断句的效果?

默认VAD断句,可以添加参数enable_semantic_sentence_detection使用语义断句。如果是实时识别,请确认中间结果(参数enable_intermediate_result)也是开启的。

实时场景中,已经开启了标点断句,为什么效果还是不理想?

可以确认下是否开启中间结果,实时场景的语义断句需要配合中间结果使用。

录音文件识别存在一次请求后返回两次相同的结果的情况吗?

此类现象大部分是由于用户提交的语音文件是双声道,且两个声道语音内容相同造成的。如果是这种情况,属正常现象,可以用ffmpeg把双声道转成单声道即可解决。

实时识别和录音文件转写分别支持哪些语音格式?

1621825786920-d2f6f357-547a-4ff9-a2cb-bc141138e11e

如何提交工单?

为了更好的提供服务端排查支持,请您登录阿里云工单系统提交排查工单,并推荐提供以下信息:

  • 全部的log信息 ,包含报错部分。

  • 相关taskid、appkey等信息(不含账号密码信息),处理工单的工程师会发送授权同意请求给您,以便您勾选同意。