三文帶你輕松上手鴻蒙的 AI 語(yǔ)音 01-實(shí)時(shí)語(yǔ)音識(shí)別

2025-7-23 17:03:00
  • 三文帶你輕松上手鴻蒙的 AI 語(yǔ)音 01-實(shí)時(shí)語(yǔ)音識(shí)別

前言

HarmonyOSNext中集成了強(qiáng)大的 AI 功能。Core Speech Kit(基礎(chǔ)語(yǔ)音服務(wù))是它提供的眾多 AI 功能中的一種。

Core Speech Kit(基礎(chǔ)語(yǔ)音服務(wù))集成了語(yǔ)音類基礎(chǔ) AI 能力,包括文本轉(zhuǎn)語(yǔ)音(TextToSpeech)及語(yǔ)音識(shí)別(SpeechRecognizer)能力,便于用戶與設(shè)備進(jìn)行互動(dòng),實(shí)現(xiàn)將實(shí)時(shí)輸入的語(yǔ)音與文本之間相互轉(zhuǎn)換。

簡(jiǎn)單來講 Core Speech Kit 主要提供了兩大語(yǔ)音 AI 功能:

1. 語(yǔ)音識(shí)別

2. 文本轉(zhuǎn)語(yǔ)音

語(yǔ)音識(shí)別介紹

語(yǔ)音識(shí)別功能可以將一段音頻信息(短語(yǔ)音模式不超過 60s,長(zhǎng)語(yǔ)音模式不超過 8h)轉(zhuǎn)換為文本。

其中語(yǔ)音識(shí)別又可以實(shí)現(xiàn):

1. 實(shí)時(shí)語(yǔ)音轉(zhuǎn)文本

2. 聲音文件轉(zhuǎn)文本

實(shí)時(shí)語(yǔ)音轉(zhuǎn)文本

實(shí)現(xiàn)流程

先介紹語(yǔ)音識(shí)別的流程,后面的文字轉(zhuǎn)語(yǔ)音大同小異

1. 申請(qǐng)權(quán)限

2. 創(chuàng)建 AI 語(yǔ)音引擎

3. 設(shè)置監(jiān)聽回調(diào)

4. 開始監(jiān)聽

tips: 完整代碼在每一個(gè)功能的末尾,可以結(jié)合封裝后的代碼來閱讀

申請(qǐng)權(quán)限

三文帶你輕松上手鴻蒙的 AI 語(yǔ)音 01-實(shí)時(shí)語(yǔ)音識(shí)別

因?yàn)樵陂_發(fā)功能過程中,需要調(diào)用手機(jī)的麥克風(fēng)功能。所以需要主動(dòng)申請(qǐng)權(quán)限。

三文帶你輕松上手鴻蒙的 AI 語(yǔ)音 01-實(shí)時(shí)語(yǔ)音識(shí)別

申請(qǐng)權(quán)限分成 3 個(gè)步驟

1. 聲明權(quán)限

2. 檢查是否擁有權(quán)限

3. 申請(qǐng)權(quán)限

聲明權(quán)限

在\entry\src\main\module.json5中添加以下配置代碼 requestPermissions

三文帶你輕松上手鴻蒙的 AI 語(yǔ)音 01-實(shí)時(shí)語(yǔ)音識(shí)別

在\entry\src\main\resources\base\element\string.json 添加 申請(qǐng)?jiān)?voice_reason

三文帶你輕松上手鴻蒙的 AI 語(yǔ)音 01-實(shí)時(shí)語(yǔ)音識(shí)別

檢查權(quán)限

實(shí)際開發(fā)中,我們?cè)谏暾?qǐng)權(quán)限之前可以先調(diào)用接口checkAccessTokenSync,檢查下是否已經(jīng)擁有權(quán)限。如果沒有,則主動(dòng)申請(qǐng)權(quán)限

申請(qǐng)權(quán)限

當(dāng)我們需要申請(qǐng)某個(gè)功能的權(quán)限時(shí),可以通過調(diào)用 requestPermissionsFromUser 來實(shí)現(xiàn)

封裝好的權(quán)限代碼

因?yàn)镠armonyOSNext中關(guān)于權(quán)限的代碼,都是沒有經(jīng)過封裝的,難以使用。所以這里提供了封裝好的版本。

沒有封裝過的示例代碼:

三文帶你輕松上手鴻蒙的 AI 語(yǔ)音 01-實(shí)時(shí)語(yǔ)音識(shí)別

封裝好的代碼

entry\src\main\ets\utils\permissionMananger.ets

三文帶你輕松上手鴻蒙的 AI 語(yǔ)音 01-實(shí)時(shí)語(yǔ)音識(shí)別

頁(yè)面中使用權(quán)限代碼

Index.ets

三文帶你輕松上手鴻蒙的 AI 語(yǔ)音 01-實(shí)時(shí)語(yǔ)音識(shí)別

三文帶你輕松上手鴻蒙的 AI 語(yǔ)音 01-實(shí)時(shí)語(yǔ)音識(shí)別

實(shí)時(shí)語(yǔ)音識(shí)別相關(guān)步驟

以下主要實(shí)現(xiàn)實(shí)時(shí)語(yǔ)音識(shí)別

創(chuàng)建 AI 語(yǔ)音引擎

創(chuàng)建 AI 語(yǔ)音引擎主要有以下幾個(gè)步驟

聲明 AI 語(yǔ)音引擎配置參數(shù),主要有語(yǔ)種、區(qū)域信息等

36.png

調(diào)用開始創(chuàng)建 createEngine 方法開始創(chuàng)建,并且返回 AI 語(yǔ)音實(shí)例引擎

設(shè)置 AI 語(yǔ)音監(jiān)聽回調(diào)

在開始語(yǔ)音識(shí)別之前,需要先設(shè)置語(yǔ)音識(shí)別回調(diào) setListener 。它主要有以下幾個(gè)分類

1. 開始識(shí)別回調(diào)

2. 事件回調(diào)

3. 識(shí)別結(jié)果回調(diào)

4. 識(shí)別完成回調(diào)

5. 識(shí)別錯(cuò)誤回調(diào)

三文帶你輕松上手鴻蒙的 AI 語(yǔ)音 01-實(shí)時(shí)語(yǔ)音識(shí)別

開始監(jiān)聽實(shí)時(shí)語(yǔ)音

需要先配置監(jiān)聽的參數(shù),便可以調(diào)用startListening實(shí)現(xiàn)語(yǔ)音識(shí)別了

參數(shù)配置 其中,實(shí)時(shí)語(yǔ)音識(shí)別和語(yǔ)音文件識(shí)別的主要配置在 recognitionMode 字段, 0 表示實(shí)時(shí)語(yǔ)音識(shí)別

38.png

封裝好的語(yǔ)音識(shí)別代碼

\entry\src\main\ets\utils\SpeechRecognizerManager.ets

三文帶你輕松上手鴻蒙的 AI 語(yǔ)音 01-實(shí)時(shí)語(yǔ)音識(shí)別

三文帶你輕松上手鴻蒙的 AI 語(yǔ)音 01-實(shí)時(shí)語(yǔ)音識(shí)別

頁(yè)面中調(diào)用語(yǔ)音識(shí)別代碼

三文帶你輕松上手鴻蒙的 AI 語(yǔ)音 01-實(shí)時(shí)語(yǔ)音識(shí)別

三文帶你輕松上手鴻蒙的 AI 語(yǔ)音 01-實(shí)時(shí)語(yǔ)音識(shí)別

語(yǔ)音識(shí)別結(jié)果分析

語(yǔ)音識(shí)別成功后的數(shù)據(jù)格式如下

三文帶你輕松上手鴻蒙的 AI 語(yǔ)音 01-實(shí)時(shí)語(yǔ)音識(shí)別g

其中需要關(guān)注的是:

識(shí)別功能是持續(xù)觸發(fā)的,當(dāng)收集到聲音時(shí)持續(xù)觸發(fā)

isFinal 表示一個(gè)句子是否結(jié)束

三文帶你輕松上手鴻蒙的 AI 語(yǔ)音 01-實(shí)時(shí)語(yǔ)音識(shí)別

isLast 表示這一次語(yǔ)音識(shí)別是否結(jié)束三文帶你輕松上手鴻蒙的 AI 語(yǔ)音 01-實(shí)時(shí)語(yǔ)音識(shí)別


三文帶你輕松上手鴻蒙的 AI 語(yǔ)音 01-實(shí)時(shí)語(yǔ)音識(shí)別 三文帶你輕松上手鴻蒙的 AI 語(yǔ)音 01-實(shí)時(shí)語(yǔ)音識(shí)別


三文帶你輕松上手鴻蒙的 AI 語(yǔ)音 01-實(shí)時(shí)語(yǔ)音識(shí)別

總結(jié)

HarmonyOSNext中集成了強(qiáng)大的 AI 功能。Core Speech Kit(基礎(chǔ)語(yǔ)音服務(wù))是它提供的眾多 AI 功能中的一種。

Core Speech Kit(基礎(chǔ)語(yǔ)音服務(wù))集成了語(yǔ)音類基礎(chǔ) AI 能力,包括文本轉(zhuǎn)語(yǔ)音(TextToSpeech)及語(yǔ)音識(shí)別(SpeechRecognizer)能力,便于用戶與設(shè)備進(jìn)行互動(dòng),實(shí)現(xiàn)將實(shí)時(shí)輸入的語(yǔ)音與文本之間相互轉(zhuǎn)換。

簡(jiǎn)單來講 Core Speech Kit 主要提供了兩大語(yǔ)音 AI 功能:

1. 語(yǔ)音識(shí)別

2. 文本轉(zhuǎn)語(yǔ)音

其中語(yǔ)音識(shí)別又可以實(shí)現(xiàn):

1. 實(shí)時(shí)語(yǔ)音轉(zhuǎn)文本

2. 聲音文件轉(zhuǎn)文本

本文主要實(shí)現(xiàn)了 實(shí)時(shí)語(yǔ)音轉(zhuǎn)文本 , 聲音文件轉(zhuǎn)文本 將會(huì)在下文講解。

踏入鴻蒙世界的敲門磚,標(biāo)志著您在技術(shù)征途上的全新起點(diǎn),提升就業(yè)競(jìng)爭(zhēng)力,獲得行業(yè)認(rèn)可,點(diǎn)亮職業(yè)成長(zhǎng)先機(jī),快人一步搶占未來應(yīng)用開發(fā)賽道!