能力描述

理解语音 生成文字

语音识别技术,也被称为自动语音识别(Automatic Speech Recognition, ASR)。 华为语音识别引擎是面向移动终端的语音识别能力,向开发者提供人工智能应用层API。 可以将语音文件、实时语音数据流转换为汉字序列,准确率达到90%以上(本地识别95%,云端识别97%),让您的应用绘“声”绘色。
应用场景

语音交流 人机交互

机器理解人类语言,并输出文本,适用于开发有语音识别需求的业务场景,如语音输入法、语音搜索、实时字幕、游戏娱乐、社交聊天、人机交互、驾驶模式等。

语音输入法

将所输入文字,直接用语音的方式输入,即用户说话的时候语音识别引擎返回识别的汉字序列,让输入法更加便捷,解放双手。

语音搜索

搜索内容直接以语音的方式输入,可以用于客服系统的关键词搜索,同时转录成文本,让搜索更加高效。

功能演示

Request
复制代码

AsrRecognizer asrRecognizer = AsrRecognizer.createAsrRecognizer(this);
asrRecognizer.init(initIntent, mMyAsrListener);
asrRecognizer.startListening(intent);


JSONObject result = new JSONObject(json);
JSONArray items = result.getJSONArray("result");

Response
复制代码
{
"confidence": 0.95,
"word":"请问明天天气怎么样"
}

与华为一同开发从这里开始

业务介绍

业务概述、应用场景及功能特点等详情。
了解详情 >

接入准备

注册认证、协议签署等接入前准备工作。
了解流程 >

示例代码

业务示例代码展示。
查看代码 >

API说明

接口参数定义及相关说明、限制与约束等详情。
查看文档 >
FAQ
1writePcm()什么时候调用?

开发者可以将获取到的语音数据通过writePcm()方法写入到引擎中,引擎通过识别解码,将语音转化为相应的文本。同时引擎支持自录音和从文件读取的方式进行识别,初始化引擎时可以通过配置ASR_AUDIO_SRC_TYPE参数来实现。文件读取的方式可以进行批量的文件测试。

2cancel()与stopListening()方法的区别是什么?

当用户已经启动了识别后,即识别的过程中,突然想停止上述两种方法都可以停下来,差别是: cancel()停止但是不上报当前已经识别的结果; stopListening()停止且会把当前的结果刷新上报显示。

3是否支持多线程调用?

HUAWEI HiAI Engine 不支持同一应用使用多线程调用同一接口,这样会导致某一线程调用release方法后,卸载模型,导致正在运行的另一些线程出错。故多线程执行同一功能达不到并行的效果。另外,由于Android同一时刻只能有一个录音线程在,故语音识别本身不支持多线程的并发。但是引擎支持使用多线程调用不同接口,如开启两个线程同时使用美学评分和ASR接口。