中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

做電影網(wǎng)站怎么接廣告建網(wǎng)站的公司排名

做電影網(wǎng)站怎么接廣告,建網(wǎng)站的公司排名,wordpress博客申請,工作室怎么注冊HarmonyOS 原生智能之語音識別實戰(zhàn) 背景 公司很多業(yè)務(wù)場景使用到了語音識別功能,當(dāng)時我們的語音團(tuán)隊自研了語音識別模型,方案是云端模型加端側(cè)SDK交互,端側(cè)負(fù)責(zé)做語音采集、VAD、opus編碼,實時傳輸給云端,云端識別后…

HarmonyOS 原生智能之語音識別實戰(zhàn)

背景

公司很多業(yè)務(wù)場景使用到了語音識別功能,當(dāng)時我們的語音團(tuán)隊自研了語音識別模型,方案是云端模型加端側(cè)SDK交互,端側(cè)負(fù)責(zé)做語音采集、VAD、opus編碼,實時傳輸給云端,云端識別后返回識別結(jié)果。這些業(yè)務(wù)場景在適配鴻蒙的過程發(fā)現(xiàn)HarmonyOS 原生智能中提供了本地語音識別SDK,動手封裝一波。

場景介紹

原生語音識別能力支持兩種模式:

  • 短語音模式(不超過60s)
  • 長語音模式(不超過8h)

API接口介紹

1. 引擎初始化

speechRecognizer.createEngine

let asrEngine: speechRecognizer.SpeechRecognitionEngine;
// 創(chuàng)建引擎,通過callback形式返回
// 設(shè)置創(chuàng)建引擎參數(shù)
let extraParam: Record<string, Object> = {"locate": "CN", "recognizerMode": "short"};
let initParamsInfo: speechRecognizer.CreateEngineParams = {language: 'zh-CN',online: 1,extraParams: extraParam
};
// 調(diào)用createEngine方法
speechRecognizer.createEngine(initParamsInfo, (err: BusinessError, speechRecognitionEngine: speechRecognizer.SpeechRecognitionEngine) => {if (!err) {console.info('Succeeded in creating engine.');// 接收創(chuàng)建引擎的實例asrEngine = speechRecognitionEngine;} else {// 無法創(chuàng)建引擎時返回錯誤碼1002200008,原因:引擎正在銷毀中console.error(`Failed to create engine. Code: ${err.code}, message: ${err.message}.`);}
});

主要是需要構(gòu)建引擎參數(shù)speechRecognizer.CreateEngineParams:

  • language:語言
  • online:模式,1為離線,目前只支持離線引擎
  • extraParams:區(qū)域信息等
    • locate:區(qū)域信息,可選,不設(shè)置時默認(rèn)為“CN”,當(dāng)前僅支持“CN”
    • recognizerMode:識別模式,包含短語音short與場語音long
      回調(diào)中可以查看錯誤信息:
  1. 無法創(chuàng)建引擎時返回錯誤碼1002200001,原因:語種不支持、模式不支持、初始化超時、資源不存在等導(dǎo)致創(chuàng)建引擎失敗
  2. 無法創(chuàng)建引擎時返回錯誤碼1002200006,原因:引擎正在忙碌中,一般多個應(yīng)用同時調(diào)用語音識別引擎時觸發(fā)
  3. 無法創(chuàng)建引擎時返回錯誤碼1002200008,原因:引擎正在銷毀中

2、設(shè)置RecognitionListener回調(diào)

回調(diào)主要處理識別過程中的事件,最主要的就是onResult處理識別內(nèi)容,不同的對話對應(yīng)不同的sessionId:

// 創(chuàng)建回調(diào)對象
let setListener: speechRecognizer.RecognitionListener = {// 開始識別成功回調(diào)onStart(sessionId: string, eventMessage: string) {},// 事件回調(diào)onEvent(sessionId: string, eventCode: number, eventMessage: string) {},// 識別結(jié)果回調(diào),包括中間結(jié)果和最終結(jié)果onResult(sessionId: string, result: speechRecognizer.SpeechRecognitionResult) {},// 識別完成回調(diào)onComplete(sessionId: string, eventMessage: string) {},// 錯誤回調(diào),錯誤碼通過本方法返回,如:返回錯誤碼1002200006,識別引擎正忙,引擎正在識別中onError(sessionId: string, errorCode: number, errorMessage: string) {}
}
// 設(shè)置回調(diào)
asrEngine.setListener(setListener);

3、開始識別

let audioParam: speechRecognizer.AudioInfo = {audioType: 'pcm', sampleRate: 16000, soundChannel: 1, sampleBit: 16};
let extraParam: Record<string, Object> = {"vadBegin": 2000, "vadEnd": 3000, "maxAudioDuration": 40000};
let recognizerParams: speechRecognizer.StartParams = {sessionId: sessionId,audioInfo: audioParam,extraParams: extraParam
};
// 調(diào)用開始識別方法
asrEngine.startListening(recognizerParams);

主要是設(shè)置開始識別的相關(guān)參數(shù):

  • sessionId:會話id,與onResult回調(diào)中的sessionId要對應(yīng)
  • audioInfo:音頻配置信息,可選
    • audioType:目前只支持PCM,如果要識別MP3文件等需要解碼后再傳給引擎
    • sampleRate:音頻的采樣率,當(dāng)前僅支持16000采樣率
    • sampleBit:音頻返回的采樣位數(shù),當(dāng)前僅支持16位
    • soundChannel:音頻返回的通道數(shù)信息,當(dāng)前僅支持通道1
    • extraParams:音頻的壓縮率,pcm格式音頻默認(rèn)為0
  • extraParams:額外配置信息,主要包含:
    • recognitionMode:實時語音識別模式(不傳時默認(rèn)為1)
      • 0:實時錄音識別(需應(yīng)用開啟錄音權(quán)限:ohos.permission.MICROPHONE),若需結(jié)束錄音,則調(diào)用finish方法
      • 1:實時音頻轉(zhuǎn)文字識別,開啟此模式時需要額外調(diào)用writeAudio方法,傳入待識別音頻流;
    • vadBegin:Voice Activity Detection(VAD)前端點設(shè)置,參數(shù)范圍是[500,10000],不傳參時默認(rèn)為10000ms
    • vadEnd:Voice Activity Detection(VAD)后端點設(shè)置。參數(shù)范圍是[500,10000],不傳參時默認(rèn)為800ms。
    • maxAudioDuration:最大支持音頻時長
      • 短語音模式支持范圍[20000-60000]ms,不傳參時默認(rèn)20000ms。
      • 長語音模式支持范圍[20000 - 8 * 60 * 60 * 1000]ms。
        VAD作用主要是語音活動檢測,對靜音數(shù)據(jù)不進(jìn)行識別

4、傳入音頻流

asrEngine.writeAudio(sessionId, uint8Array);

向引擎寫入音頻數(shù)據(jù),可以從麥克風(fēng)或者音頻文件中讀取音頻流。
注意:音頻流長度僅支持640或1280。

5、其他接口

  1. listLanguages:查詢語音識別服務(wù)支持的語種信息
  2. finish:結(jié)束識別
  3. 取消識別:cancel
  4. shutdown:釋放識別引起資源

最佳實踐

實時識別的場景需要從麥克風(fēng)實時讀取音頻,寫入到asrEngine,在onResult回調(diào)中獲取識別結(jié)果。
配置音頻采集參數(shù)并創(chuàng)建AudioCapturer實例:

 import { audio } from '@kit.AudioKit';let audioStreamInfo: audio.AudioStreamInfo = {samplingRate: audio.AudioSamplingRate.SAMPLE_RATE_16000, // 采樣率channels: audio.AudioChannel.CHANNEL_1, // 通道sampleFormat: audio.AudioSampleFormat.SAMPLE_FORMAT_S16LE, // 采樣格式encodingType: audio.AudioEncodingType.ENCODING_TYPE_RAW // 編碼格式};let audioCapturerInfo: audio.AudioCapturerInfo = {source: audio.SourceType.SOURCE_TYPE_MIC,capturerFlags: 0};let audioCapturerOptions: audio.AudioCapturerOptions = {streamInfo: audioStreamInfo,capturerInfo: audioCapturerInfo};audio.createAudioCapturer(audioCapturerOptions, (err, data) => {if (err) {console.error(`Invoke createAudioCapturer failed, code is ${err.code}, message is ${err.message}`);} else {console.info('Invoke createAudioCapturer succeeded.');let audioCapturer = data;}});

這里注意采樣率和聲道以及采樣位數(shù)要符合ASR引擎要求:16k采樣、單聲道、16位采樣位數(shù)。
接著調(diào)用on(‘readData’)方法,訂閱監(jiān)聽音頻數(shù)據(jù)讀入回調(diào):

 import { BusinessError } from '@kit.BasicServicesKit';import { fileIo } from '@kit.CoreFileKit';let bufferSize: number = 0;class Options {offset?: number;length?: number;}let readDataCallback = (buffer: ArrayBuffer) => {//將buffer寫入asr引擎asrEngine.writeAudio(sessionId, new Uint8Array(buffer));}audioCapturer.on('readData', readDataCallback);

這里注意寫入buffer的大小顯示,ASR只支持640或1280。

總結(jié)

本文介紹了 HarmonyOS 官方提供的語音識別能力,詳解介紹了ASR引擎接口,最后基于麥克風(fēng)采集數(shù)據(jù)實現(xiàn)了實時麥克風(fēng)語音識別功能。

http://www.risenshineclean.com/news/57130.html

相關(guān)文章:

  • 大慶油田app下載安裝關(guān)鍵詞seo排名怎么做的
  • wordpress文章圖片顯示錯誤引擎優(yōu)化seo
  • 企業(yè)網(wǎng)站開發(fā)建設(shè)葉濤網(wǎng)站推廣優(yōu)化
  • 徐州百姓網(wǎng)發(fā)布信息seo內(nèi)部優(yōu)化方案
  • 宣漢網(wǎng)站建設(shè)滕州百度推廣
  • 網(wǎng)站在線客服代碼下載百度競價排名價格
  • wordpress顯示作者seo站長網(wǎng)怎么下載
  • 網(wǎng)站建設(shè)q-9seo發(fā)貼軟件
  • 電商網(wǎng)站開發(fā)設(shè)計方案如何被百度收錄
  • 各類網(wǎng)站排行在線磁力搜索神器
  • 河南汝州文明建設(shè)門戶網(wǎng)站谷歌搜索優(yōu)化seo
  • 加強(qiáng)關(guān)工委網(wǎng)站建設(shè)seo廣告優(yōu)化
  • 做外匯都要看什么網(wǎng)站吉林seo管理平臺
  • 房地產(chǎn)網(wǎng)站做編輯剛剛?cè)胄芯W(wǎng)頁設(shè)計與制作作業(yè)成品
  • 網(wǎng)站開發(fā)需要的工具google adwords關(guān)鍵詞工具
  • 日本人做爰過程網(wǎng)站百度統(tǒng)計收費嗎
  • 夏津網(wǎng)站建設(shè)電話百度提升排名
  • 新站快速收錄盤古百度推廣靠譜嗎
  • 天津做網(wǎng)站公司哪家好百度 指數(shù)
  • 交友網(wǎng)站app推廣網(wǎng)站引流推廣軟件
  • 網(wǎng)頁設(shè)計軟件應(yīng)用廣州seo公司哪個比較好
  • 做企業(yè)網(wǎng)站收費多少seo三人行網(wǎng)站
  • 網(wǎng)站左側(cè)浮動代碼備案查詢站長工具
  • 怎么做空包網(wǎng)站軟件外包公司好不好
  • 網(wǎng)站美工要求數(shù)字營銷策劃
  • wordpress 空白頁面建站合肥網(wǎng)絡(luò)公司seo
  • 52做網(wǎng)站長沙網(wǎng)站se0推廣優(yōu)化公司
  • 秦皇島網(wǎng)站開發(fā)費用百度網(wǎng)站登錄入口
  • 好的專題網(wǎng)站搜索引擎排名2021
  • 網(wǎng)站開發(fā)項目合同長沙網(wǎng)站推廣和優(yōu)化