写点什么

三文带你轻松上手鸿蒙的 AI 语音 02- 声音文件转文本

作者:最新动态
  • 2025-07-22
    湖北
  • 本文字数:1370 字

    阅读完需:约 4 分钟

前言

本文主要实现 使用鸿蒙的 AI 语音功能将声音文件识别并转换成文本

实现流程

1、利用 AudioCapturer 录制声音,生成录音文件

2、利用 AI 语音功能,实现识别



两个录音库介绍

在 HarmonyOS NEXT 应用开发中,实现录音的两个核心库分别为

1、AudioCapturer

2、AVRecorder

AVRecorder 录制出来的声音封装格式只能是 aac,这个文件格式我们的 AI 语音引擎不支持,AI 语音引擎只支持 pcm 格式,而 AudioCapturer 录制的声音封装格式则是 pcm。因此我们选择使用 AudioCapturer 来录制声音。

AudioCapturer

AudioCapturer 介绍

AudioCapturer 是音频采集器,用于录制 PCM(Pulse Code Modulation)音频数据,适合有音频开发经验的开发者实现更灵活的录制功能。

状态变化示意图



能看到使用 AudioCapturer 的主要流程为:

1、创建 AudioCapturer 实例

2、调用 start 方法开始录音

3、调用 stop 方法停止录音

4、调用 release 方法释放实例

创建 AudioCapturer 实例

(文末会提供封装好,可以直接使用的代码 下面的代码示例都是基于封装好的代码进行的)

我们通过调用 createAudioCapturer 方法实现创建 AudioCapturer 实例,其中该方法需要传递相关参数。



调用 start 方法开始录音

开始调用 start 方法时,需要准备相关数据。如:

1、提供录音的文件名,可以自定义

2、写入录音数据的回调函数(在录制声音的过程中持续触发)

3、调用 start 方法



调用 stop 方法停止录音

调用 stop 方法则相对简单,直接调用即可



调用 release 方法释放实例

同理



封装好的录音代码

\entry\src\main\ets\utils\AudioCapturerManager.ets 下面是这个类的属性和方法的总结:

属性

· static audioCapturer:

类型是 audio.AudioCapturer | null,是一个静态属性,用于存储当前的音频捕获器实例。

· private static recordFilePath:

类型是 string,是一个静态私有属性,用于存储录音文件的路径。

方法

· static async createAudioCapturer():

如果 audioCapturer 已经存在,则直接返回该实例;否则创建一个新的音频捕获器实例,并设置其音频流信息和音频捕获信息,然后创建并返回新的实例。

· static async startRecord(fileName: string):

异步静态方法,用于启动录音过程。首先调用 createAudioCapturer() 方法确保有一个音频捕获器实例。之后初始化缓冲区大小,并打开或创建一个指定名称的 .wav 录音文件。定义一个读取数据的回调函数,用于将捕获到的数据写入文件中。最后开始录音,并记录下录音文件的路径。

· static async stopRecord():

异步静态方法,用于停止录音过程。停止音频捕获器的工作,释放其资源,并清除 audioCapturer 实例。





页面中开始录音



可以通过以下路径查看录音文件是否真实生成

/data/app/el2/100/base/你的项目的 boundle 名称/haps/entry/files



页面代码

Index.ets




用 AI 语音功能 实现声音文件转文本

该流程其实和和上一章的实时识别声音功能类似,只是多了一个步骤

1、创建 AI 语音引擎

2、注册语音监听事件

3、开始监听

4、读取录音文件

创建 AI 语音引擎



注册语音监听事件



开始监听

(需要设置 recognitionMode 为 1 表示识别语音文件)



读取录音文件

(需要调用 SpeechRecognizerManager.asrEngine?.writeAudio 来监听语音文件)



一步调用



完整代码









页面代码




 

踏入鸿蒙世界的敲门砖,标志着您在技术征途上的全新起点,提升就业竞争力,获得行业认可,点亮职业成长先机,快人一步抢占未来应用开发赛道!

用户头像

最新动态

关注

还未添加个人签名 2019-07-19 加入

还未添加个人简介

评论

发布
暂无评论
三文带你轻松上手鸿蒙的 AI 语音 02-声音文件转文本_最新动态_InfoQ写作社区