1.在使用語(yǔ)音識(shí)別API時(shí),將實(shí)現(xiàn)ASR的相關(guān)的類(lèi)添加至工程。
// 提供ASR引擎執(zhí)行時(shí)所需要傳入的參數(shù)類(lèi)
import ohos.ai.asr.AsrIntent;
// 錯(cuò)誤碼的定義類(lèi)
import ohos.ai.asr.util.AsrError;
// 加載語(yǔ)音識(shí)別Listener
import ohos.ai.asr.AsrListener;
// 提供調(diào)用ASR引擎服務(wù)接口的類(lèi)
import ohos.ai.asr.AsrClient;
// ASR回調(diào)結(jié)果中的關(guān)鍵字封裝類(lèi)
import ohos.ai.asr.util.AsrResultKey;
2.調(diào)用API接口。
創(chuàng)建一個(gè)AsrClient對(duì)象。context為應(yīng)用上下文信息,應(yīng)為ohos.aafwk.ability.Ability或ohos.aafwk.ability.AbilitySlice的實(shí)例或子類(lèi)實(shí)例。
AsrClient asrClient = AsrClient.createAsrClient(context).orElse(null);
3.設(shè)置引擎參數(shù)。如果希望識(shí)別文件,音頻文件需滿(mǎn)足約束與限制,并設(shè)置音頻類(lèi)型為“ASR_SRC_TYPE_FILE”;如果希望識(shí)別音頻流,則設(shè)置音頻類(lèi)型為“ASR_SRC_TYPE_PCM”。
AsrIntent initIntent = new AsrIntent();
initIntent.setAudioSourceType(AsrIntent.AsrAudioSrcType.ASR_SRC_TYPE_PCM);
4.初始化ASR服務(wù)。其中,mMyAsrListener為實(shí)現(xiàn)了AsrListener接口的實(shí)例對(duì)象。
asrClient.init(initIntent, mMyAsrListener);
5.開(kāi)始識(shí)別。用戶(hù)可以不設(shè)置參數(shù),使用默認(rèn)參數(shù)。
AsrIntent asrIntent = new AsrIntent();
// 設(shè)置后置的端點(diǎn)檢測(cè)(VAD)時(shí)間
asrIntent.setVadEndWaitMs(2000);
// 設(shè)置前置的端點(diǎn)檢測(cè)(VAD)時(shí)間
asrIntent.setVadFrontWaitMs(4800);
// 設(shè)置語(yǔ)音識(shí)別的超時(shí)時(shí)間
asrIntent.setTimeoutThresholdMs(20000);
asrClient.startListening(asrIntent);
// buffer需要替換為真實(shí)的音頻數(shù)據(jù)
byte[] buffer = new byte[]{0, 1, 0, 10, 1};
// 對(duì)于長(zhǎng)度大于1280的音頻,需要多次調(diào)用writePcm分段傳輸
asrClient.writePcm(buffer, 1280);
需要注意的是,startListening或writePcm方法建議放在mMyAsrListener中onInit()方法內(nèi)調(diào)用,保證初始化引擎成功之后再調(diào)用識(shí)別接口。如果希望識(shí)別音頻文件,則不需要調(diào)用writePcm接口。
AsrIntent asrIntent = new AsrIntent();
// 將FilePath修改為正確的地址,且文件路徑需要給com.huawei.hiai進(jìn)程授予可訪(fǎng)問(wèn)權(quán)限。
asrIntent.setFilePath("FilePath");
asrClient.startListening(asrIntent);
6.取消或停止識(shí)別。
asrClient.stopListening(); // 停止識(shí)別
asrClient.cancel(); // 取消識(shí)別
7.釋放引擎。
asrClient.destroy();
審核編輯:湯梓紅
-
開(kāi)發(fā)
+關(guān)注
關(guān)注
0文章
373瀏覽量
41523 -
語(yǔ)音識(shí)別
+關(guān)注
關(guān)注
39文章
1782瀏覽量
114249 -
HarmonyOS
+關(guān)注
關(guān)注
80文章
2126瀏覽量
33092
發(fā)布評(píng)論請(qǐng)先 登錄
【HarmonyOS 5】金融應(yīng)用開(kāi)發(fā)鴻蒙組件實(shí)踐

明遠(yuǎn)智睿SSD2351開(kāi)發(fā)板:語(yǔ)音機(jī)器人領(lǐng)域的變革力量
【米爾-RK3562開(kāi)發(fā)板試用評(píng)測(cè)】RK3562J開(kāi)發(fā)板-語(yǔ)音識(shí)別功能測(cè)試(一)
HarmonyOS NEXT 應(yīng)用開(kāi)發(fā)練習(xí):AI智能語(yǔ)音播報(bào)
【「嵌入式系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)」閱讀體驗(yàn)】+ 基于語(yǔ)音識(shí)別的智能杯墊
HarmonyOS開(kāi)發(fā)指導(dǎo)類(lèi)文檔更新速遞(下)

NRK3502系列芯片 | 制氧機(jī)離線(xiàn)語(yǔ)音識(shí)別方案

語(yǔ)音識(shí)別與自然語(yǔ)言處理的關(guān)系
語(yǔ)音識(shí)別技術(shù)的應(yīng)用與發(fā)展
ASR與傳統(tǒng)語(yǔ)音識(shí)別的區(qū)別
ASR語(yǔ)音識(shí)別技術(shù)應(yīng)用
物聯(lián)網(wǎng)系統(tǒng)智能控制產(chǎn)品的語(yǔ)音識(shí)別方案_離線(xiàn)語(yǔ)音識(shí)別芯片分析



評(píng)論