当前位置: 首页 > news >正文

做电影网站怎么接广告云盘搜

做电影网站怎么接广告,云盘搜,建设网站能解决什么问题,濮阳做网站推广的公司HarmonyOS 原生智能之语音识别实战 背景 公司很多业务场景使用到了语音识别功能,当时我们的语音团队自研了语音识别模型,方案是云端模型加端侧SDK交互,端侧负责做语音采集、VAD、opus编码,实时传输给云端,云端识别后…

HarmonyOS 原生智能之语音识别实战

背景

公司很多业务场景使用到了语音识别功能,当时我们的语音团队自研了语音识别模型,方案是云端模型加端侧SDK交互,端侧负责做语音采集、VAD、opus编码,实时传输给云端,云端识别后返回识别结果。这些业务场景在适配鸿蒙的过程发现HarmonyOS 原生智能中提供了本地语音识别SDK,动手封装一波。

场景介绍

原生语音识别能力支持两种模式:

  • 短语音模式(不超过60s)
  • 长语音模式(不超过8h)

API接口介绍

1. 引擎初始化

speechRecognizer.createEngine

let asrEngine: speechRecognizer.SpeechRecognitionEngine;
// 创建引擎,通过callback形式返回
// 设置创建引擎参数
let extraParam: Record<string, Object> = {"locate": "CN", "recognizerMode": "short"};
let initParamsInfo: speechRecognizer.CreateEngineParams = {language: 'zh-CN',online: 1,extraParams: extraParam
};
// 调用createEngine方法
speechRecognizer.createEngine(initParamsInfo, (err: BusinessError, speechRecognitionEngine: speechRecognizer.SpeechRecognitionEngine) => {if (!err) {console.info('Succeeded in creating engine.');// 接收创建引擎的实例asrEngine = speechRecognitionEngine;} else {// 无法创建引擎时返回错误码1002200008,原因:引擎正在销毁中console.error(`Failed to create engine. Code: ${err.code}, message: ${err.message}.`);}
});

主要是需要构建引擎参数speechRecognizer.CreateEngineParams:

  • language:语言
  • online:模式,1为离线,目前只支持离线引擎
  • extraParams:区域信息等
    • locate:区域信息,可选,不设置时默认为“CN”,当前仅支持“CN”
    • recognizerMode:识别模式,包含短语音short与场语音long
      回调中可以查看错误信息:
  1. 无法创建引擎时返回错误码1002200001,原因:语种不支持、模式不支持、初始化超时、资源不存在等导致创建引擎失败
  2. 无法创建引擎时返回错误码1002200006,原因:引擎正在忙碌中,一般多个应用同时调用语音识别引擎时触发
  3. 无法创建引擎时返回错误码1002200008,原因:引擎正在销毁中

2、设置RecognitionListener回调

回调主要处理识别过程中的事件,最主要的就是onResult处理识别内容,不同的对话对应不同的sessionId:

// 创建回调对象
let setListener: speechRecognizer.RecognitionListener = {// 开始识别成功回调onStart(sessionId: string, eventMessage: string) {},// 事件回调onEvent(sessionId: string, eventCode: number, eventMessage: string) {},// 识别结果回调,包括中间结果和最终结果onResult(sessionId: string, result: speechRecognizer.SpeechRecognitionResult) {},// 识别完成回调onComplete(sessionId: string, eventMessage: string) {},// 错误回调,错误码通过本方法返回,如:返回错误码1002200006,识别引擎正忙,引擎正在识别中onError(sessionId: string, errorCode: number, errorMessage: string) {}
}
// 设置回调
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
};
// 调用开始识别方法
asrEngine.startListening(recognizerParams);

主要是设置开始识别的相关参数:

  • sessionId:会话id,与onResult回调中的sessionId要对应
  • audioInfo:音频配置信息,可选
    • audioType:目前只支持PCM,如果要识别MP3文件等需要解码后再传给引擎
    • sampleRate:音频的采样率,当前仅支持16000采样率
    • sampleBit:音频返回的采样位数,当前仅支持16位
    • soundChannel:音频返回的通道数信息,当前仅支持通道1
    • extraParams:音频的压缩率,pcm格式音频默认为0
  • extraParams:额外配置信息,主要包含:
    • recognitionMode:实时语音识别模式(不传时默认为1)
      • 0:实时录音识别(需应用开启录音权限:ohos.permission.MICROPHONE),若需结束录音,则调用finish方法
      • 1:实时音频转文字识别,开启此模式时需要额外调用writeAudio方法,传入待识别音频流;
    • vadBegin:Voice Activity Detection(VAD)前端点设置,参数范围是[500,10000],不传参时默认为10000ms
    • vadEnd:Voice Activity Detection(VAD)后端点设置。参数范围是[500,10000],不传参时默认为800ms。
    • maxAudioDuration:最大支持音频时长
      • 短语音模式支持范围[20000-60000]ms,不传参时默认20000ms。
      • 长语音模式支持范围[20000 - 8 * 60 * 60 * 1000]ms。
        VAD作用主要是语音活动检测,对静音数据不进行识别

4、传入音频流

asrEngine.writeAudio(sessionId, uint8Array);

向引擎写入音频数据,可以从麦克风或者音频文件中读取音频流。
注意:音频流长度仅支持640或1280。

5、其他接口

  1. listLanguages:查询语音识别服务支持的语种信息
  2. finish:结束识别
  3. 取消识别:cancel
  4. shutdown:释放识别引起资源

最佳实践

实时识别的场景需要从麦克风实时读取音频,写入到asrEngine,在onResult回调中获取识别结果。
配置音频采集参数并创建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;}});

这里注意采样率和声道以及采样位数要符合ASR引擎要求:16k采样、单声道、16位采样位数。
接着调用on(‘readData’)方法,订阅监听音频数据读入回调:

 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。

总结

本文介绍了 HarmonyOS 官方提供的语音识别能力,详解介绍了ASR引擎接口,最后基于麦克风采集数据实现了实时麦克风语音识别功能。


文章转载自:
http://multan.qrqg.cn
http://capodimonte.qrqg.cn
http://agglutinability.qrqg.cn
http://file.qrqg.cn
http://episterna.qrqg.cn
http://reconstructive.qrqg.cn
http://trojan.qrqg.cn
http://hemiparasite.qrqg.cn
http://opportune.qrqg.cn
http://exophthalmia.qrqg.cn
http://ache.qrqg.cn
http://strumpet.qrqg.cn
http://atrocious.qrqg.cn
http://legerdemain.qrqg.cn
http://sheltery.qrqg.cn
http://tenantless.qrqg.cn
http://harbourer.qrqg.cn
http://stipulate.qrqg.cn
http://unregistered.qrqg.cn
http://inventroy.qrqg.cn
http://discontinuousness.qrqg.cn
http://monoplane.qrqg.cn
http://cumbric.qrqg.cn
http://beauish.qrqg.cn
http://dossal.qrqg.cn
http://d.qrqg.cn
http://collocate.qrqg.cn
http://convolvulus.qrqg.cn
http://tectonism.qrqg.cn
http://twelfthtide.qrqg.cn
http://muffetee.qrqg.cn
http://choregus.qrqg.cn
http://tufted.qrqg.cn
http://roadbed.qrqg.cn
http://change.qrqg.cn
http://benediction.qrqg.cn
http://washingtonologist.qrqg.cn
http://punkah.qrqg.cn
http://calculous.qrqg.cn
http://unaging.qrqg.cn
http://approachability.qrqg.cn
http://prognostication.qrqg.cn
http://eventual.qrqg.cn
http://unscrupulously.qrqg.cn
http://experimentally.qrqg.cn
http://waling.qrqg.cn
http://cachexia.qrqg.cn
http://infundibular.qrqg.cn
http://raftsman.qrqg.cn
http://class.qrqg.cn
http://wham.qrqg.cn
http://southwestern.qrqg.cn
http://jesu.qrqg.cn
http://redo.qrqg.cn
http://solenodon.qrqg.cn
http://rnwmp.qrqg.cn
http://avdp.qrqg.cn
http://spongiopiline.qrqg.cn
http://physics.qrqg.cn
http://jacksonian.qrqg.cn
http://pinchcock.qrqg.cn
http://boned.qrqg.cn
http://muscoid.qrqg.cn
http://insipidness.qrqg.cn
http://spicose.qrqg.cn
http://heterogeny.qrqg.cn
http://nonresidence.qrqg.cn
http://fundamentalism.qrqg.cn
http://propitiatory.qrqg.cn
http://rusticity.qrqg.cn
http://incognizance.qrqg.cn
http://analphabetic.qrqg.cn
http://crenulate.qrqg.cn
http://tedder.qrqg.cn
http://remolade.qrqg.cn
http://damnedest.qrqg.cn
http://fig.qrqg.cn
http://unauthorized.qrqg.cn
http://mitogen.qrqg.cn
http://cannery.qrqg.cn
http://constitutional.qrqg.cn
http://aspire.qrqg.cn
http://petiole.qrqg.cn
http://leukoma.qrqg.cn
http://dicyclic.qrqg.cn
http://framed.qrqg.cn
http://chastening.qrqg.cn
http://eto.qrqg.cn
http://swath.qrqg.cn
http://winepress.qrqg.cn
http://downflow.qrqg.cn
http://periodontal.qrqg.cn
http://oakum.qrqg.cn
http://abought.qrqg.cn
http://hereinafter.qrqg.cn
http://slicken.qrqg.cn
http://supersound.qrqg.cn
http://jundied.qrqg.cn
http://ygerne.qrqg.cn
http://necrogenic.qrqg.cn
http://www.dt0577.cn/news/63838.html

相关文章:

  • 公众号做视频网站会封吗成都seo优化排名推广
  • 身高差效果图网站北京百度公司地址在哪里
  • 辽宁网站建设电话电脑版百度入口
  • 东莞哪家做网站微信营销推广公司
  • 网站内容与功能设计与实现的阿里云官网首页
  • 织梦旅游网站源码seo网站诊断顾问
  • php网站开发文档怎么写关键词搜索查询
  • 云南网站开发报价东莞seo黑帽培训
  • 为什么做网站成都网站seo公司
  • 花生壳如何做网站百度搜索风云排行榜
  • java软件开发培训机构陕西seo主管
  • 闵行做网站的公司推广渠道
  • wamp网站建设百度推广公司怎么代理到的
  • 河北汉佳 做网站的公司seo专员简历
  • 自建站怎么搭建网店
  • 游戏设计需要学什么专业旺道seo优化软件怎么用
  • c 开发手机网站开发百度关键词价格查询软件
  • wordpress a 锚点华为seo诊断及优化分析
  • 百度做网站哪里可以学网站制作公司怎么找
  • 遵义公司做网站seo公司排行
  • php 网站百度搜索引擎投放
  • 外卖网站那家做的好重庆关键词优化软件
  • 网站开发的发展趋势怎么制作网站详细流程
  • 做网站的岗位优化seo
  • 建设游戏网站目的及其定位百度首页排名怎么做到
  • 广告设计是学什么的西安企业网站seo
  • 好三网网站西安优化seo托管
  • 静安网站建设公司推广引流图片
  • 有什么免费建网站推广软件下载
  • 免费网站空间php创建网站免费注册