语音识别FAQ

更新时间:
复制 MD 格式

本文汇总了您在使用语音识别服务时的常见问题。

语音识别类常见问题主要分为以下几类:

功能类

实时转写说话有停顿,但是语音识别不断句怎么办?

  1. 如果是vad断句情况下,实时转写的vad断句依赖对音频中静音数据的判断,如果上游不发送静音音频,服务端则无法识别用户说话是否有停顿。如果确认是上游没有发送静音音频,则系统通过对实时转写服务的时间戳和实际音频的时间戳对比。如果发现服务端的判断音频时长比实际音频时长短,说明静音时服务端没有收到用户发的静音数据。

  2. 在开启语义断句情况下,有可能是后处理模型的效果问题。

解决方案:在用户停顿时持续地向服务端发送静音数据。 

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

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

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

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

语音识别服务是否支持离线SDK或本地离线识别?

语音转文字(ASR)目前不支持离线SDK及本地离线识别功能。所有音频数据必须发送至云端服务端进行处理。具体说明如下:

  • 离线SDK:目前不提供可在本地运行的离线SDK,无法脱离网络环境独立完成语音识别。

  • 离线人机对话:无法实现完全离线的人机对话语音转文字。所有识别请求均需通过网络连接到阿里云语音识别服务端进行处理。

语音识别支持哪些模型?

可以在智能语音交互控制台中项目功能配置里查看具体的模型种类,目前有8k16k两种采样率的模型,每个采样率下面又有多个领域模型,可以按需选择。

语音识别是否可以混合识别极少量英文单词和字母?

可以的,中文普通话模型支持对中英文混杂的音频进行识别。

开启ITN(逆文本规整)后,中文数字混合时为什么并不是全部转为阿拉伯数字?

是否要转成阿拉伯数字,系统是用模型来判断的,并不是所有数字都需要转成阿拉伯数字,模型的判断主要准则是一般书面文本中常用的形态。

录音文件识别的enable_sample_rate_adaptive和极速版本里的sample_rate,这两个接口是一样的吗?

不是。极速版的sample_rate就是采样率,enable_sample_rate_adaptive是个开关,极速版默认采样率16k,不需要这个开关。

录音转文本能区分坐席和客户吗?

语音识别引擎只能区分出说话的不同角色,角色对应的身份引擎是无法识别的,需要用户从业务的角度自行判断。建议您在存储录音时按照角色分类存储。

智能语音交互的一句话识别,标点符号是根据什么来判断逗号和句号的?

结合音频的声学特征和对识别结果文本做语音分析后做标点处理。

离线文件转写如何区分左右声道?

语音识别引擎无法区分左右声道,当多声道音频送入语音识别服务进行识别时,返回结果会用channel_id字段来标记多个音轨。如果采集顺序固定,可以根据channel_id区分对应声道。具体可参见接口说明

语音识别可以支持多个词表吗?

一次可使用一个词表,每次只能传一个vocabulary_id,如果觉得不够可以使用定制模型。具体可参见使用POP API创建业务专属热词

设置录音文件识别服务的版本,"4.0"和"2.0"两个版本有什么区别?

由于历史原因,早期发布的录音文件识别服务(默认为2.0版本)的回调方式和轮询方式的识别结果在JSON字符串的风格和字段上均有不同。录音文件识别服务在4.0版本对回调方式做了优化,使得回调方式的识别结果与轮询方式的识别结果保持一致,均为驼峰风格的JSON格式字符串。具体可参见接口说明

在电话端支持哪些国家的语音识别?

电话8k语音目前支持的外语语种为英语,非电话16k语音支持更多外语语种。语种模型支持列表详见功能特性

在语音识别的服务中,有没有请求参数是音频文件地址,返回参数是转写文本?

可使用录音文件识别功能,具体请参见接口说明

实时语音转写能和录音文件识别一样加入音轨ID吗?

不能,音轨ID是录音文件专用的。实时转写只有单通道语音,不需要channel区分。

录音文件识别可以生成SRT字幕文件吗?

录音文件识别不直接输出SRT格式文件,需根据返回结果中的时间信息自行拼接。以下参数可辅助完成字幕生成与优化:

  • 获取词级时间戳:开启enable_words参数,识别结果中将包含每个词的时间戳信息,用于精确对齐字幕时间轴。

  • 控制单行字幕字数:设置sentence_max_length参数(取值范围[4,50],默认值0表示不启用),控制每行字幕的最大字符数,避免单行过长。

  • 字幕索引映射:开启enable_subtitle=True后,返回结果中的字幕索引(begin_index/end_index)对应纯文本位置,已剔除SSML标签,可直接映射回原始讲稿。

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

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

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

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

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

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

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

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

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

  • 语种

    语言

    模型名称

    采样率

    标点

    ITN

    顺滑

    语义断句

    声音和文本对齐

    英语

    通用-英文,教育直播-英文,教育内容分析-英文

    16k

    支持

    支持

    支持

    不支持

    支持

    电话客服(通用)

    8k

    支持

    支持

    支持

    不支持

    不支持

    东南亚多语言

    16k

    支持

    不支持

    不支持

    不支持

    不支持

    日语

    通用-日语

    16k

    支持

    支持

    不支持

    不支持

    支持

    西班牙语

    通用-西班牙语

    16k

    支持

    支持

    不支持

    不支持

    不支持

    通用-西班牙客服通用

    8k

    支持

    支持

    不支持

    不支持

    不支持

    阿拉伯语

    通用-阿拉伯语

    16k

    支持

    不支持

    不支持

    不支持

    不支持

    哈萨克语

    通用-哈萨克语

    16k

    支持

    不支持

    不支持

    不支持

    不支持

    韩语

    通用-韩语

    16k

    支持

    支持

    不支持

    不支持

    不支持

    泰语

    通用-泰语

    16k

    不支持

    不支持

    不支持

    不支持

    不支持

    通用-泰语客服通用

    8k

    不支持

    不支持

    不支持

    不支持

    不支持

    东南亚多语言

    16k

    支持

    不支持

    不支持

    不支持

    不支持

    印尼语

    通用-印尼语

    16k

    支持

    支持

    不支持

    不支持

    不支持

    电话客服(通用)

    8k

    支持

    支持

    不支持

    不支持

    不支持

    东南亚多语言

    16k

    支持

    不支持

    不支持

    不支持

    不支持

    俄语

    通用-俄语

    16k

    支持

    支持

    不支持

    不支持

    不支持

    越南语

    通用-越南语

    16k

    支持

    支持

    不支持

    不支持

    不支持

    通用-越南语客服通用

    8k

    支持

    支持

    不支持

    不支持

    不支持

    东南亚多语言

    16k

    支持

    不支持

    不支持

    不支持

    不支持

    法语

    通用-法语

    16k

    支持

    支持

    不支持

    不支持

    不支持

    德语

    通用-德语

    16k

    支持

    支持

    不支持

    不支持

    不支持

    意大利语

    通用-意大利语

    16k

    支持

    不支持

    不支持

    不支持

    不支持

    印地语

    通用-印地语

    16k

    支持

    不支持

    不支持

    不支持

    不支持

    马来语

    通用-马来语

    16k

    支持

    不支持

    不支持

    不支持

    不支持

    通用-马来语客服通用

    8k

    支持

    不支持

    不支持

    不支持

    不支持

    东南亚多语言

    16k

    支持

    不支持

    不支持

    不支持

    不支持

    菲律宾语

    通用-菲律宾语

    16k

    支持

    支持

    不支持

    不支持

    不支持

    电话客服(通用)

    8k

    支持

    支持

    不支持

    不支持

    不支持

    东南亚多语言

    16k

    支持

    不支持

    不支持

    不支持

    不支持

    泰米尔语

    通用-泰米尔语

    16k

    支持

    不支持

    不支持

    不支持

    不支持

    葡萄牙语

    通用-葡萄牙语

    16k

    支持

    支持

    不支持

    不支持

    不支持

    土耳其语

    通用-土耳其语

    16k

    支持

    不支持

    不支持

    不支持

    不支持

    波兰语

    通用-波兰语

    16k

    支持

    不支持

    不支持

    不支持

    不支持

    乌克兰语

    通用-乌克兰语

    16k

    支持

    不支持

    不支持

    不支持

    不支持

    罗马尼亚语

    通用-罗马尼亚语

    16k

    支持

    不支持

    不支持

    不支持

    不支持

    荷兰语

    通用-荷兰语

    16k

    支持

    不支持

    不支持

    不支持

    不支持

    希腊语

    通用-希腊语

    16k

    支持

    不支持

    不支持

    不支持

    不支持

    匈牙利语

    通用-匈牙利语

    16k

    支持

    不支持

    不支持

    不支持

    不支持

    爪哇语

    通用-爪哇语

    16k

    支持

    不支持

    不支持

    不支持

    不支持

    孟加拉语

    通用-孟加拉语

    16k

    支持

    不支持

    不支持

    不支持

    不支持

    缅甸语

    通用-缅甸语

    16k

    支持

    不支持

    不支持

    不支持

    不支持

    老挝语

    通用-老挝语

    16k

    支持

    不支持

    不支持

    不支持

    不支持

    斯瓦希里语

    通用-斯瓦希里语

    16k

    支持

    不支持

    不支持

    不支持

    不支持

    阿塞拜疆语

    通用-阿塞拜疆语

    16k

    支持

    不支持

    不支持

    不支持

    不支持

    波斯语

    通用-波斯语

    16k

    支持

    不支持

    不支持

    不支持

    不支持

    僧伽罗语

    通用-僧伽罗语

    16k

    支持

    不支持

    不支持

    不支持

    不支持

    加泰罗尼亚语

    通用-加泰罗尼亚语

    16k

    支持

    不支持

    不支持

    不支持

    不支持

    高棉语

    通用-高棉语

    16k

    支持

    不支持

    不支持

    不支持

    不支持

    希伯来语

    通用-希伯来语

    16k

    支持

    不支持

    不支持

    不支持

    不支持

    克罗地亚语

    通用-克罗地亚语

    16k

    支持

    不支持

    不支持

    不支持

    不支持

    豪萨语

    通用-豪萨语

    16k

    支持

    不支持

    不支持

    不支持

    不支持

    马拉地语

    通用-马拉地语

    16k

    支持

    不支持

    不支持

    不支持

    不支持

    泰卢固语

    通用-泰卢固语

    16k

    支持

    不支持

    不支持

    不支持

    不支持

    旁遮普语

    通用-旁遮普语

    16k

    支持

    不支持

    不支持

    不支持

    不支持

    瑞典语

    通用-瑞典语

    16k

    支持

    不支持

    不支持

    不支持

    不支持

    保加利亚语

    通用-保加利亚语

    16k

    支持

    不支持

    不支持

    不支持

    不支持

    丹麦语

    通用-丹麦语

    16k

    支持

    不支持

    不支持

    不支持

    不支持

    挪威语

    通用-挪威语

    16k

    支持

    不支持

    不支持

    不支持

    不支持

    坎纳达语

    通用-坎纳达语

    16k

    支持

    不支持

    不支持

    不支持

    不支持

    马拉雅拉姆语

    通用-马拉雅拉姆语

    16k

    支持

    不支持

    不支持

    不支持

    不支持

    捷克语

    通用-捷克语

    16k

    支持

    不支持

    不支持

    不支持

    不支持

    乌尔都语

    通用-乌尔都语

    16k

    支持

    不支持

    不支持

    不支持

    不支持

    尼泊尔语

    通用-尼泊尔语

    16k

    支持

    不支持

    不支持

    不支持

    不支持

    蒙古语(外蒙)

    通用-蒙古语(外蒙)

    16k

    支持

    不支持

    不支持

    不支持

    不支持

    乌兹别克语

    通用-乌兹别克语

    16k

    支持

    不支持

    不支持

    不支持

    不支持

  • 方言

    语言

    模型名称

    采样率

    标点

    ITN

    顺滑

    语义断句

    声音和文本对齐

    粤语

    通用-粤语

    16k

    支持

    支持

    支持

    不支持

    支持

    电话客服(通用)

    8k

    支持

    支持

    支持

    不支持

    支持

    粤中自由说

    8k

    支持

    支持

    支持

    不支持

    不支持

    东南亚多语言

    16k

    支持

    不支持

    不支持

    不支持

    不支持

    粤语(繁体)

    通用-粤语(繁体)

    8k

    支持

    不支持

    不支持

    不支持

    不支持

    通用-粤语(繁体)

    16k

    支持

    不支持

    不支持

    不支持

    不支持

    四川话

    通用-四川话

    16k

    支持

    支持

    支持

    支持

    支持

    电话客服(通用)

    8k

    支持

    支持

    支持

    支持

    支持

    湖北话

    通用-湖北话

    16k

    支持

    支持

    支持

    支持

    支持

    通用-湖北话

    8k

    支持

    支持

    支持

    支持

    支持

    上海话

    通用-上海话

    16k

    支持

    支持

    支持

    支持

    不支持

    湖南话

    通用-湖南话

    16k

    支持

    支持

    支持

    支持

    支持

    河南话

    通用-河南话

    16k

    支持

    支持

    支持

    支持

    支持

    通用-河南话

    8k

    支持

    支持

    支持

    支持

    支持

    浙江话

    通用-浙江话

    16k

    支持

    支持

    支持

    支持

    不支持

    东北话

    通用-东北话

    16k

    支持

    支持

    支持

    支持

    支持

    山东话

    通用-山东话

    16k

    支持

    支持

    支持

    支持

    支持

    天津话

    通用-天津话

    16k

    支持

    支持

    支持

    支持

    支持

    陕西话

    通用-陕西话

    16k

    支持

    支持

    支持

    支持

    支持

    山西话

    通用-山西话

    16k

    支持

    支持

    支持

    支持

    支持

    贵州话

    通用-贵州话

    16k

    支持

    支持

    支持

    支持

    支持

    云南话

    通用-云南话

    16k

    支持

    支持

    支持

    支持

    支持

    甘肃话

    通用-甘肃话

    16k

    支持

    支持

    支持

    支持

    支持

    维吾尔语

    通用-维吾尔语

    16k

    不支持

    不支持

    不支持

    不支持

    不支持

    通用-维吾尔语

    8k

    不支持

    不支持

    不支持

    不支持

    不支持

    苏州话

    通用-苏州话

    16k

    支持

    支持

    支持

    支持

    不支持

    闽南语

    通用-闽南语

    16k

    支持

    支持

    支持

    支持

    不支持

    江西话

    通用-江西话

    16k

    支持

    支持

    支持

    支持

    支持

    宁夏话

    通用-宁夏话

    16k

    支持

    支持

    支持

    支持

    支持

    广西话

    通用-广西话

    16k

    支持

    支持

    支持

    支持

    支持

    通用-广西话

    8k

    支持

    支持

    支持

    支持

    支持

    中文普通话

    识音石 V1 - 端到端模型,教育内容分析,医疗内容分析,新闻媒体内容分析,娱乐视频内容分析,音视频离线转写(升级版),新零售领域识别模型,出行领域识别模型,汽车领域

    16k

    支持

    支持

    支持

    支持

    支持

    中英自由说

    16k

    支持

    支持

    支持

    支持

    不支持

    识音石 V1 - 端到端模型

    8k

    支持

    支持

    支持

    支持

    支持

    东南亚多语言

    16k

    支持

    不支持

    不支持

    不支持

    不支持

最新的模型支持情况可以登录智能语音交互控制台,在项目配置中查看。在智能语音交互控制台的我的所有项目页面,找到目标项目,单击其操作列中的项目功能配置进入配置页面。在项目功能配置页面的语音识别 ASR面板中,单击修改配置按钮,即可修改当前语音识别模型配置。

模型能力边界说明

使用模型时,请注意以下限制:

  • 识音石V1端到端模型:仅支持中文普通话,不支持粤语识别。

  • 跨语言识别限制:中文普通话模型识别英文属非标准行为,识别效果无法保证;英文模型无法识别中文

  • 方言覆盖范围:目前暂不支持南通市区方言,如有需要可尝试苏州话、上海话等相近吴语方言模型进行测试。

  • 远场识别推荐fun-asr-far-field是当前效果最好的远场识别模型,适合远场采集场景。

  • 听悟与商用模型一致:在听悟产品中测试时使用的模型体系与商用接口相同(默认模型或fun-asr系列),测试结果可作为商用效果参考。

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

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

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

录音文件识别支持所有采样率与位深组合(8k 8bit、8k 16bit、16k 8bit、16k 16bit),支持单声道和双声道,支持格式为 PCM(无压缩的 PCM 或 WAV 文件)。实时语音识别仅支持 8k 16bit 和 16k 16bit(不支持 8k 8bit 和 16k 8bit),仅支持单声道(不支持双声道),支持格式为 WAV 格式和 MP3 格式。

实时语音识别WebSocket连接断开后如何重连及保活?

WebSocket连接断开是实时语音识别的常见问题,主要涉及以下三个方面:

1. 重连机制

任务断开后,推流地址在24小时内有效。若因无数据发送导致连接断开或进入PAUSED状态,可在24小时内使用原地址重连继续推流,无需新建任务

2. 保活方法

连接空闲超过10秒,服务端会自动关闭连接。建议在无有效语音时,持续发送静音数据(全0 buffer数组)以维持长连接,避免超时断开。

3. 实例复用

一个SpeechTranscriber实例支持多轮识别。执行stop后,只要WebSocket连接未断开,无需重建实例,也无需重新调用start,直接发送新音频流即可开启新一轮识别。

录音文件识别提交成功但获取不到结果或报错怎么办?

录音文件识别提交成功后若无法获取结果,请按以下场景逐一排查:

1. 服务端无法下载音频

请确保音频URL满足以下条件:

  • 支持公网访问

  • 302重定向(建议使用OSS URL)

若业务必须使用带重定向的URL,可在请求参数中添加download_method: curl,服务端将使用curl方式下载,支持跟随重定向。

2. URL刚生成即调用导致失败

URL生成后立即调用可能因服务器尚未就绪而失败。建议等待约1分钟后再发起识别请求。

3. 返回结果为空,状态码40270002(punctagger silent)

此状态码通常表示音频为纯杂音或无效语音(如静音留言),模型无法识别有效内容,属正常返回空结果。请检查音频内容是否包含有效语音。

4. 排队等待时间过长

控制台不支持查看当前排队任务数。付费用户的识别任务通常在3小时内完成并返回结果。

语音识别服务支持哪些音频采集方式及说话人分离限制?

音频采集方式

  • Web端采集限制:Web端仅支持麦克风采集,不支持直接采集系统音频(如扬声器输出)。在线会议场景若需同时采集麦克风和系统音频,需在应用层自行混合两路音频流后再推送至识别服务。

性别识别

  • 一句话识别不支持性别识别功能。

说话人分离限制

  • 单声道录音的说话人分离(Speaker Diarization)无法保证100%准确,在抢话、短句等场景下准确率会明显下降。

  • 提升准确率的建议:

    • 条件允许时,优先采用物理分轨(多麦克风分轨录音)方式采集。

    • 或使用百炼Fun-ASR产品,其说话人分离效果更好。

  • 实时角色分离效果不佳时,建议会议结束后采用离线角色分离方式重新处理,以获得更高准确率。

语音识别服务的数据隐私、日志及音频存储策略是什么?

日志与数据访问策略

语音识别服务的日志中包含识别文本。阿里云仅在客户遇到问题并主动提供taskid时,才会查看相关日志协助排查,不会主动访问用户数据。

音频存储策略

实时语音转写服务不保存音频文件。若需要保留音频录音,请在应用前端自行录制并存储。

指令识别限制

语音识别服务不支持仅识别特定词汇(如数字人名称指令)并过滤其他内容。识别结果为全量转写,需在业务逻辑层自行判断和过滤特定指令词汇。

录音文件识别支持情感识别、分段模型切换及版本区别吗?

情感识别

录音文件识别支持语气语调及情感识别。开启后,识别结果中会返回EmotionValue参数,反映该句语音的情感倾向。

分段模型切换

不支持valid_times参数中为不同时间段指定不同的appkey进行分段识别。如需对同一音频使用不同模型处理不同段落,需在业务层自行将音频切片,分别提交至对应模型识别后合并结果。

标准版与极速版区别

录音文件识别标准版与极速版的功能基本一致,主要区别在于识别速度:极速版处理速度更快,适合对时效性要求较高的场景。

实时识别与录音文件识别的模型关系

实时语音识别与录音文件识别使用相同的模型体系,两种接口方式共享底层识别模型。

性能类

语音识别的识别准确率怎么计算?

行业通常使用错误率来统计识别效果,中文常用CER(字错误率),英文常用WER(词错误率)。计算方式:(插入错误字数ins+删除错误字数del+替换错误字数sub)/总字数。以如下数据为例:

%WER  15.07  [  2165 /  14365,  74  ins,  385  del,  1706  sub  ]
%SER  67.75  [  645 /  952  ]
Scored  952  sentences,  0  not  present  in  hyp.

这批数据的准确率=(14365-74-385-1706)/14365=84.93%。快速计算方式为:100-15.07=84.93。

语音识别模型的字准率能达到多少?

关于达摩院智能语音交互语音识别准确度的数字,我们通过了CNAS(国家软件测试中心)的评测,国家软件中心对语音识别算法准确度测试中,在60分贝以下的降噪环境中,用普通话在距离耳麦1厘米的位置,以240字/分钟的匀速朗读样本量1207字的测试下,我们经过5轮测试的结果,识别准确率均大于98%。该准确度经过国家软件测试中心的标准认证。

而在现实的使用过程当中,可能会受到耳麦质量、背景杂音、口音差异等原因导致准确度有一定的偏差,对于数据格式为8k、16bit、双通道分轨(用户或客服双轨)的pcm或者wav格式,信噪比在20dB以上的语音,绝大部分商用场景下我们能保障85%的准确度,确保您有效使用。

录音文件识别极速版延迟是多少?

录音文件识别极速版服务承诺10秒内完成30分钟的音频识别,指的是从收到全部音频到完成识别的时间,音频上传的速度和客户端带宽等因素相关,时长可能会有不同。在服务端返回的识别结果中包含latency字段,记录了服务端处理时长。

8k模型可以识别16k的音频吗?

不可以。8K模型和16K模型只支持识别对应采样率的音频。

录音文件识别极速版调用频率有限制吗?

没有。但对并发有限制,并发数在控制台上查看。

粤语的识别准确率是多少?

粤语8k、16k识别准确率在80~95%之间,实际结果受语料数据与发音标准程度影响。使用不同服务准确率会有略微区别(相对5%),准确率排名整体为:录音文件识别>一句话识别>实时语音识别。

15秒左右的录音文件识别大概需要多久能转换成文本呢?

录音文件识别是离线API。对于免费用户的识别任务在24小时内完成并返回识别文本;付费用户的识别任务在3小时内完成并返回识别文本。60秒以内的短音频建议客户使用一句话识别,时效更好。

语音转文本有没有优先级?比如现在正在转写任务,突然有紧急的转写任务,能调整处理优先级吗?

暂不支持这个操作,文件转写目前的时效性还是比较快的。

针对两个用户打电话场景,哪个模型效果比较好?

目前建议都使用新一代端到端“识音石”识别模型,综合效果性能比较好。

服务请求时长限制?

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

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

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

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

什么是ASR尾点延迟?

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

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

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

实时语音识别慢怎么办?

请检查是否将参数enable_semantic_sentence_detection设为了true

上述参数设为true会开启语义断句,虽可提升识别准确率,但会小幅增加延迟。如对时延要求较高,可将其设为false

效果类

对于识别不准的词该如何进行优化?

  1. 首先考虑无标注优化:

    1. 使用业务相关语料进行定制语言模型优化。业务语料包括业务关键词、业务相关的句子和篇章等。训练语料中要尽可能的对词进行泛化。(比如把“银税e贷是什么”、“如何办理银税e贷”等等相关话术加入到训练语料中)

    2. 针对依然识别不好的业务关键词,再以复制多行或者提高模型权重的方式进行定制语言模型加强。

    3. 个别解决不好的业务关键词,使用泛热词进行优化。

  2. 其次考虑有标注优化:

    1. 如果主要是因为口音等问题导致的整体识别效果不好,并且无标注优化方式无法解决到满意程度,可以开始声学模型优化。

    2. 声学模型优化需要标注数据,标注本身也可以加入业务相关语料中进行语言模型优化。

单字识别不出来是什么原因?

因为单字发音单元短,且没有上下文语义,所以单字的识别是难点,添加热词效果不一定好,建议采用定制化模型优化。

热词效果如果不佳是否可以自主调节权重?

人名和地名类热词不支持设置权重,业务专属热词支持权重。目前在控制台上创建业务专属热词时不支持设置权重,如果需要调整权重您可以通过API进行维护。

录音文件识别时间戳不准,如何解决?

可通过设置时间戳校准功能参数enable_timestamp_alignmenttrue来调准。详情请参见接口说明

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

可以通过设定参数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)也是开启的。

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

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

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

此类现象大部分是由于用户提交的语音文件是双声道,且两个声道语音内容相同造成的。如果是这种情况,属正常现象,设置参数first_channel_onlytrue,只识别首个声道即可解决。

实时语音识别遇到识别慢、超时问题,如何排查?

排查方式:

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

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

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

为什么语音识别准确率很低,有时只识别出几个字?

请检查音频数据的采样率与管控台应用的模型是否一致,以及音频是否是单通道录音。

重要

只有录音文件识别支持双通道的录音。

确认调用方式和采样率都没问题,识别还是不准确怎么办?

您可以通过如下两种方式提高识别准确率:

  • 使用自定义热词功能,快速、实时提高准确率,详情请参见热词概述

  • 开通自学习模型训练,通过模型定制的方式提高大量文本的识别率,详情请参见语言模型定制概述

为什么流式中间结果与SentenceEnd最终结果不一致或热词未生效?

1. 中间结果与最终结果不一致

流式中间结果(TranscriptionResultChanged事件)与最终结果(SentenceEnd事件)使用不同的识别模型,存在差异属正常现象。建议前端在收到最终结果后,用最终结果替换之前展示的中间结果,而非直接拼接中间结果。

说明

不支持将流式与最终结果调整为使用同一模型,两者模型差异无法通过参数配置消除。

2. 热词未命中

若配置了热词但识别结果中未体现,请按以下步骤排查:

  • 在控制台确认AppKey已关联热词配置,且热词状态为已生效。

  • 确认说话时发音清晰,发音不准确会导致热词命中率下降。

  • 日文场景中英混杂场景下热词可能不生效,这是当前模型的已知限制。

嘈杂环境下语音识别丢字或误识别如何优化?

嘈杂环境下出现丢字或噪声误识别,可从以下几个维度进行优化:

1. 调节VAD噪声阈值参数

通过设置speech_noise_threshold参数(取值范围[-1,1])调整语音活动检测(VAD)灵敏度:

  • 远场采集或丢字严重:将参数调小(如-0.2至-0.4),提高VAD灵敏度,减少漏识别。

  • 噪声误识别较多:将参数适当调大,降低VAD灵敏度,减少噪声被误识别为语音。

2. 应用层音频预处理

  • 集成降噪处理(如RNNoise算法)对音频进行前处理,降低背景噪声。

  • 集成回声消除(AEC)处理,消除扬声器回声对识别的干扰。

  • 采集时尽量靠近声源,减少拾音距离带来的信噪比下降。

3. 使用增强端侧算法

推荐使用通义多模态交互开发套件,该套件提供增强的端侧音频算法,可在采集阶段有效提升音频质量。

4. 检查音频格式配置

若采样率配置无误但识别仍不准确,请检查是否为单通道录音。实时语音识别仅支持单通道音频;双通道支持仅在录音文件识别中提供,实时识别使用双通道音频会影响识别效果。

语音识别结果异常、未知或特定词汇误识别怎么办?

以下是几种常见的识别异常场景及处理建议:

1. 返回score:-1000.0type:0

此结果通常表示:音频过短,或声音音色指向性不强(背景噪声为主、无明显人声)。建议更换包含清晰人声的音频重新测试。

2. 数字识别异常(如说"1-9"返回"1-10")

此为已知的模型问题,暂无修复计划。如对数字识别准确率有较高要求,推荐使用百炼fun-asr-realtime模型替代,其数字识别效果更好。

3. 同音字/形近词误识别(如"可以带人吗"误识为"可以贷的吗")

此类误识别可能由音频采样位数不符合要求导致。建议检查音频格式是否符合服务端要求(在线识别仅支持8k 16bit16k 16bit),或改用录音文件识别接口,其对音频格式的兼容性更强。

4. voice参数音色不匹配

若语音合成结果与预期音色不符,请核对产品文档中的官方音色参数列表,确保voice参数值与音色名称完全一致,注意大小写和全半角。

SDK使用类

一句话识别录入的demo是使用Websocket进行识别展示的吗?

Websocket。SDK就是采用的Websocket协议,RESTful API接口是HTTP协议。SDK接口详情请参见接口说明

实时语音识别服务有Python SDK吗?

暂不支持。

语音识别的返回结果JSONendtime=-1是什么意思?

表示当前句子未结束。当语音识别模式为“流式”时,才会存在中间结果。

移动端鸿蒙Next SDK如何修改识别语音采样率为8000HZ或者16000HZ?

demo代码中,使用的是16000Hz采样率录音、识别。 如果想要修改为8000Hz录音、识别,则需要同时修改录音接口采样率参数和SDK配置采样率参数两个地方,以16000Hz修改为8000Hz为例:

  1. 修改AudioCapture.ets文件中的samplingRate:audio.AudioSamplingRate.SAMPLE_RATE_16000samplingRate:audio.AudioSamplingRate.SAMPLE_RATE_8000

  2. 修改对应识别demo文件(.ets文件)中的初始化参数,genInitParams()中增加对sample_rate的设置,即 object.set("sample_rate", "8000"),其他地方无需修改。

实时语音识别停止任务时报错或连接异常如何处理?

停止实时语音识别任务时可能遇到以下几种报错,请按场景排查:

1. 报错"Got stop directive while task is stopping"

  • 原因:重复发送Stop指令。

  • 解决方案:等待TranscriptionCompleted事件返回后再关闭连接,不要在任务停止过程中再次发送Stop指令。

2. 报错"Got stream data while task is stopping"

  • 原因:发送停止指令时,仍有音频数据流入。

  • 解决方案:先停止发送音频数据,再发送停止指令,确保停止音频推流和停止任务的顺序正确。

3. 未收到TranscriptionCompleted且连接断开

  • 原因:客户端过早关闭连接,未等待任务完成事件。

  • 解决方案:发送停止指令后,保持连接直到收到TranscriptionCompleted完成事件后再关闭。

4. 报错"Close received after close"

  • 原因:连接因空闲超时被服务端自动关闭后,客户端未正确处理连接状态。

  • 解决方案:确保任务结束后正确关闭连接,或在空闲时发送静音数据保活,避免连接意外断开。

Nui SDK标点预测、热词配置及老版API热词限制说明

标点预测设置

使用Nui SDK时,若需要识别结果包含逗号、句号等标点符号,需在初始化参数中开启enable_punctuation_prediction=true,否则默认不输出标点。

热词功能与SDK版本的关系

热词功能与SDK版本无关,所有NLS ASR服务均支持热词功能。热词在智能语音交互控制台中创建,并与AppKey绑定,热词生效范围以AppKey为准。

老版API(标准版)的热词限制

老版API(标准版)不支持在请求参数中直接指定模型参数,无法通过参数方式灵活切换热词模型。对于专有名词识别优化需求,建议采用"热词+语言模型定制"组合方式

  • 通过热词功能提升关键词的识别权重。

  • 同时使用语言模型定制训练,将业务专属词汇融入模型,提升整体识别准确率。

计费类

录音文件识别极速版不支持试用吗?

对,录音文件极速版暂不支持试用,需要付费才可以。