检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
实时语音识别工作流程 实时语音识别分为开始识别、发送音频数据、结束识别,断开连接四个阶段。 开始阶段需要发送开始指令,包含采样率,音频格式,是否返回中间结果等配置信息。服务端会返回一个开始响应。 发送音频阶段客户端会分片发送音频数据,服务会返回识别结果或者其他事件,如音频超时,静音部分过长等。
huaweicloud.sis.android.demo.asr; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button;
实时语音识别响应 开始识别请求响应 事件响应 识别结果响应 错误响应 严重错误响应 结束识别请求响应 父主题: 实时语音识别接口
使用实时语音识别 前提条件 确保已按照配置CPP环境(Windows)配置完毕。 初始化Client 初始化RasrClient,其参数包括AuthInfo。 表1 AuthInfo 参数名称 是否必选 参数类型 描述 ak 是 String 用户的ak,可参考AK/SK认证。 sk
实时语音识别接口 接口说明 Websocket握手请求 实时语音识别请求 实时语音识别响应
发送音频数据 在收到“开始识别”的响应之后,可以开始发送音频数据。为节省流量,音频以二进制数据帧形式(binary message)的方式发送。 音频数据将分片发送,也即在获得一定量音频数据的同时就可以发送一个binary message,每个分片建议在50ms~1000ms之间
result_bucket_name String 是 OBS桶名称,全局唯一,用于存放语音识别结果。取值范围:3~63个字符,支持小写字母、数字、中划线(-)、英文句号(.)。 登录华为云解决方案实践,选择“语音识别解决方案”,单击“一键部署”,跳转至解决方案创建堆栈界面。 图1 选择模板 在选择模板界面中,单击“下一步”。
应用场景 该解决方案基于华为云语音交互服务语音识别构建,可自动将用户上传到对象存储服务的wav语音文件转化为文字,并将结果存放到指定OBS桶。该方案可以将用户上传在OBS的语音文件识别成可编辑的文本,支持中文普通话的识别和合成,其中语音识别还支持带方言口音的普通话识别以及方言(四川
实时语音识别 支持“华北-北京四”、“华东-上海一”区域。 当前服务仅支持北京和上海区域,后续会陆续上线其他区域。 华北-北京四,推荐的区域,支持一句话识别、录音文件识别、实时语音识别和语音合成和热词等接口。 华东-上海一,推荐的区域,支持一句话识别、录音文件识别、实时语音识别、语音合成和热词等接口。
实时语音识别请求 实时语音识别工作流程 开始识别 发送音频数据 结束识别 父主题: 实时语音识别接口
chinese_16k_it 支持采样率为16k的IT会议语音识别。区域仅支持cn-north-4。 chinese_8k_common 支持采样率为8k的中文普通话语音识别。 chinese_16k_common 支持采样率为16k的中文普通话语音识别。 表4 audio_format取值范围
不会返回VOICE_START、VOICE_END、EXCEEDED_SILCENCE事件。 在实时语音识别单句模式下: 返回VOICE_START事件,表示检测到语音,此时IVR可以做打断。 返回VOICE_END事件后,表示一句话结束,后续的音频将被忽略,不会再进行识别。 只会返回最多一组VOICE_START和VOICE_END事件。
识别结果响应 服务端在收到客户端发送的连续音频数据后, 当服务端识别出结果后会实时向客户端按句推送识别结果响应消息, 以json字符串形式放置在text message中。 响应消息 表1 响应参数 参数名 参数类型 说明 resp_type String 响应类型。参数值为RESULT,表示识别结果响应。
"567e8537-a89c-13c3-a882-826321939651" } 状态码 状态码请参见状态码。 错误码 错误码请参见错误码。 父主题: 实时语音识别响应
"command": "END", "cancel": false } 状态码 状态码请参见状态码。 错误码 错误码请参见错误码。 父主题: 实时语音识别请求
结束识别请求响应 服务器端收到“结束识别”请求时或语音识别过程中发生错误,服务端会向客户端推送如下响应消息,以json字符串形式放置在text message中。 响应消息 表1 响应参数 参数名 参数类型 说明 resp_type String 响应类型。参数值为END,表示结束识别响应。
时序不正确,比如连续发送两次“开始识别”指令。 识别过程中发生错误,比如音频解码发生错误。 出现错误响应时,如果已经在一个会话中了,会再发送一个“结束识别”的响应,表示识别会话结束。如果会话还没有开始,那么发送此错误响应后不做其它操作。此后的音频数据都被忽略,直到收到下一个“开始识别”请求。 响应消息
实时语音识别单句模式 功能介绍 单句模式自动检测一句话的结束,因此适合于需要与您的系统进行交互的场景,例如外呼、控制口令等场景。 实时语音识别引擎的单句识别模式,和连续识别模式类似,也会进行语音的端点检测,如果检测到静音,将直接丢弃,检测到语音才会馈入核心进行实际的解码工作,如果
严重错误响应 严重错误,通常指流程无法继续的情况。比如当出现客户端分片音频间隔超时(例如20s)。 出现严重错误响应时,流程不再继续,服务器端会主动断连。 响应消息 表1 响应参数 参数名 参数类型 说明 resp_type String 响应类型。参数值为FATAL_ERROR,表示开始识别响应。
实时语音识别连续模式 功能介绍 连续识别模式的语音总长度限制为五小时,适合于会议、演讲和直播等场景。 连续识别模式在流式识别的基础上,结合了语音的端点检测功能。语音数据也是分段输入,但是连续识别模式将会在处理数据之前进行端点检测,如果是语音才会进行实际的解码工作,如果检测到静音,