CoreSpeechKit-SampleCode-ArkTS-KitASRDemo: 本示例展示了将音频信息转换为文本的AI能力。
HarmonyOS next 示例代码全集
hiai引擎框架-语音识别
介绍
本示例展示了使用hiai引擎框架提供的语音识别能力。
本示例展示了对一段音频流转换成文字的能力展示。
需要使用hiai引擎框架文本转语音接口@kit.CoreSpeechKit.d.ts.
效果预览
桌面 | 主界面 | 播报 |
---|---|---|
| | |
使用说明:
- 在手机的主屏幕,点击”asrDemo“,启动应用。
- 点击“CreateEngine”,进行能力初始化。
- 点击“startRecording”,开始识别。
- 点击“audioTotext”,写流进行识别,需开发者准备好音频流。 若demo中采用从音频文件中读取的方式获取音频流,优先执行执行如下命令:hdc_std file send 001.pcm /data/app/el2/100/base/com.huawei.hms.asrdemo/haps/hiaiuser/files hdc_std shell chmod 777 /data/app/el2/100/base/com.huawei.hms.asrdemo/haps/hiaiuser/files/001.pcm将PCM格式的音频信息导入本demo的沙箱路径下。 点击audioTotext按钮即可从音频文件中获取音频信息并写入。
- 点击“finish”等按钮对识别事件进行控制。
- 点击“queryLanguagesCallback/queryLanguagesPromise”,查询支持的语种和音色。
工程目录
├─entry/src/main/ets // 代码区 │ ├─entryability │ │ └─EntryAbility.ets │ └─pages │ ├─AsrConstants.ts // 常量类 │ ├─AudioCapturer.ts // 录音器实现1 │ ├─FileCapturer.ts // 录音器实现2 │ ├─ICapturerInterface.ts // 录音器接口类 │ ├─Index.ets // 主界面 │ └─Util.ts // 工具类 ├─entry/src/main/resources // 应用资源目录 └─screenshots // 截图
具体实现
本示例展示了在@kit.CoreSpeechKit.d.ts定义的API:
- createEngine(createEngineParams: CreateEngineParams, callback: AsyncCallback): void;
- createEngine(createEngineParams: CreateEngineParams): Promise;
- setListener(listener: RecognizerListener): void;
- queryLanguages(params: LanguageQuery, callback: AsyncCallback<Array>): void;
- queryLanguages(params: LanguageQuery): Promise<Array>;
- startListening(params: StartParams): void;
- writeAudio(sessionId: string, audio: Uint8Array): void;
- finish(sessionId: string): void;
- cancel(sessionId: string): void;
- shutdown(): void;
业务使用时,需要先进行import导入speechRecognizer。 调用writeAudio等接口,传入想要识别的音频,得到识别结果,观察日志等。参考entry/src/main/ets/pages/index.ets.
相关权限
不涉及。
依赖
不涉及。
约束与限制
- 本示例仅支持标准系统上运行,支持设备:华为手机。
- HarmonyOS系统:HarmonyOS NEXT Developer Beta1及以上。
- DevEco Studio版本:DevEco Studio NEXT Developer Beta1及以上。
- HarmonyOS SDK版本:HarmonyOS NEXT Developer Beta1 SDK及以上。