1.在使用語音識別API時(shí),將實(shí)現(xiàn)ASR的相關(guān)的類添加至工程。
// 提供ASR引擎執(zhí)行時(shí)所需要傳入的參數(shù)類
import ohos.ai.asr.AsrIntent;
// 錯(cuò)誤碼的定義類
import ohos.ai.asr.util.AsrError;
// 加載語音識別Listener
import ohos.ai.asr.AsrListener;
// 提供調(diào)用ASR引擎服務(wù)接口的類
import ohos.ai.asr.AsrClient;
// ASR回調(diào)結(jié)果中的關(guān)鍵字封裝類
import ohos.ai.asr.util.AsrResultKey;
2.調(diào)用API接口。
創(chuàng)建一個(gè)AsrClient對象。context為應(yīng)用上下文信息,應(yīng)為ohos.aafwk.ability.Ability或ohos.aafwk.ability.AbilitySlice的實(shí)例或子類實(shí)例。
AsrClient asrClient = AsrClient.createAsrClient(context).orElse(null);
3.設(shè)置引擎參數(shù)。如果希望識別文件,音頻文件需滿足約束與限制,并設(shè)置音頻類型為“ASR_SRC_TYPE_FILE”;如果希望識別音頻流,則設(shè)置音頻類型為“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í)例對象。
asrClient.init(initIntent, mMyAsrListener);
5.開始識別。用戶可以不設(shè)置參數(shù),使用默認(rèn)參數(shù)。
AsrIntent asrIntent = new AsrIntent();
// 設(shè)置后置的端點(diǎn)檢測(VAD)時(shí)間
asrIntent.setVadEndWaitMs(2000);
// 設(shè)置前置的端點(diǎn)檢測(VAD)時(shí)間
asrIntent.setVadFrontWaitMs(4800);
// 設(shè)置語音識別的超時(shí)時(shí)間
asrIntent.setTimeoutThresholdMs(20000);
asrClient.startListening(asrIntent);
// buffer需要替換為真實(shí)的音頻數(shù)據(jù)
byte[] buffer = new byte[]{0, 1, 0, 10, 1};
// 對于長度大于1280的音頻,需要多次調(diào)用writePcm分段傳輸
asrClient.writePcm(buffer, 1280);
需要注意的是,startListening或writePcm方法建議放在mMyAsrListener中onInit()方法內(nèi)調(diào)用,保證初始化引擎成功之后再調(diào)用識別接口。如果希望識別音頻文件,則不需要調(diào)用writePcm接口。
AsrIntent asrIntent = new AsrIntent();
// 將FilePath修改為正確的地址,且文件路徑需要給com.huawei.hiai進(jìn)程授予可訪問權(quán)限。
asrIntent.setFilePath("FilePath");
asrClient.startListening(asrIntent);
6.取消或停止識別。
asrClient.stopListening(); // 停止識別
asrClient.cancel(); // 取消識別
7.釋放引擎。
asrClient.destroy();
審核編輯:湯梓紅
-
開發(fā)
+關(guān)注
關(guān)注
0文章
373瀏覽量
41461 -
語音識別
+關(guān)注
關(guān)注
39文章
1779瀏覽量
114106 -
HarmonyOS
+關(guān)注
關(guān)注
80文章
2125瀏覽量
32655
發(fā)布評論請先 登錄
明遠(yuǎn)智睿SSD2351開發(fā)板:語音機(jī)器人領(lǐng)域的變革力量
【米爾-RK3562開發(fā)板試用評測】RK3562J開發(fā)板-語音識別功能測試(一)
HarmonyOS NEXT 應(yīng)用開發(fā)練習(xí):AI智能語音播報(bào)
【「嵌入式系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)」閱讀體驗(yàn)】+ 基于語音識別的智能杯墊
HarmonyOS開發(fā)指導(dǎo)類文檔更新速遞(下)

NRK3502系列芯片 | 制氧機(jī)離線語音識別方案

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



評論