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

基于高通跃龙IQ-9100的边端协同智能客服系统(2): 边缘端ASR/TTS模型部署实战

前文回顾在第一篇文章中我们介绍了边端协同架构的优势、高通跃龙IQ-9100平台的硬件特性以及系统整体架构设计。接下来我们将进入实战环节在IQ-9100平台上完成ASR和TTS模型的部署。1. 边缘端模型部署实战1.1 环境准备在高通跃龙IQ-9100开发板上进行模型部署前需要完成以下环境配置安装Qualcomm Linux BSP使用高通提供的Ubuntu 22.04 BSP镜像刷写开发板确保Hexagon DSP驱动正常加载安装AI运行时安装Qualcomm AI Engine Direct SDKQNN包含Hexagon NN Runtime安装Sherpa-ONNXSherpa-ONNX是新一代Kaldi团队开发的跨平台推理框架原生支持Whisper和VITS模型配置音频驱动确保ALSA或PulseAudio音频驱动正常工作配置好麦克风和扬声器# 基础环境安装命令sudoaptupdatesudoaptinstall-y\build-essential cmakegitwget\libasound2-dev portaudio19-dev\python3-dev python3-pip# 安装Qualcomm AI Engine Direct SDK (QNN)# 需要从Qualcomm开发者平台下载对应版本exportQNN_SDK_ROOT/opt/qcom/aistack/qnn/2.22.0exportPATH$QNN_SDK_ROOT/bin:$PATHexportLD_LIBRARY_PATH$QNN_SDK_ROOT/lib/aarch64-ubuntu-gcc11.4:$LD_LIBRARY_PATH# 安装Sherpa-ONNX支持QNN后端加速pip3installsherpa-onnx numpy sounddevice# 验证Hexagon NPU是否可用python3-cimport sherpa_onnx; print(Sherpa-ONNX version:, sherpa_onnx.__version__)1.2 ASR模型部署 — Whisper on IQ-91001.2.1 模型转换与量化为了在IQ-9100的Hexagon NPU上高效运行Whisper模型我们需要将PyTorch模型转换为ONNX格式并进行INT8量化以充分利用NPU的算力。# 步骤1下载预训练的Whisper ONNX模型Sherpa-ONNX已提供转换好的版本wgethttps://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-whisper-small.tar.bz2tarxvf sherpa-onnx-whisper-small.tar.bz2# 步骤2使用QNN工具链将ONNX模型转换为QNN格式可选进一步加速# 转换encoderqnn-onnx-converter\--input_networksherpa-onnx-whisper-small/encoder.onnx\--output_pathwhisper_encoder_qnn.cpp\--input_listinput_list_encoder.txt# 转换decoderqnn-onnx-converter\--input_networksherpa-onnx-whisper-small/decoder.onnx\--output_pathwhisper_decoder_qnn.cpp\--input_listinput_list_decoder.txt# 步骤3编译为Hexagon可执行库qnn-model-lib-generator\-cwhisper_encoder_qnn.cpp\-bwhisper_encoder_qnn.bin\-taarch64-ubuntu-gcc11.41.2.2 ASR推理代码使用Sherpa-ONNX框架进行实时语音识别importsherpa_onnximportsounddeviceassdimportnumpyasnpfromqueueimportQueueimportthreadingclassASREngine:def__init__(self,model_path./sherpa-onnx-whisper-small):初始化ASR引擎配置whisper模型参数self.recognizersherpa_onnx.OfflineRecognizer.from_whisper(encoderf{model_path}/encoder.onnx,decoderf{model_path}/decoder.onnx,tokensf{model_path}/tokens.txt,languagezh,num_threads4,# CPU线程数providercpu,# 可切换为qnn使用NPU加速decoding_methodgreedy_search,)self.sample_rate16000self.audio_queueQueue()self._runningFalsedefstart_stream(self,callback):启动实时语音识别流self._runningTrueself._callbackcallbackdefaudio_callback(indata,frames,time_info,status):ifself._running:self.audio_queue.put(indata[:,0].copy())self.streamsd.InputStream(samplerateself.sample_rate,channels1,dtypefloat32,blocksize4000,# 250ms per chunkcallbackaudio_callback,)self.stream.start()threading.Thread(targetself._process_loop,daemonTrue).start()def_process_loop(self):处理音频缓冲区执行VAD ASRbuffernp.array([],dtypenp.float32)silence_count0whileself._running:chunkself.audio_queue.get()buffernp.concatenate([buffer,chunk])energynp.sqrt(np.mean(chunk**2))ifenergy0.01:# 静音阈值silence_count1else:silence_count0# 检测到语音结束连续500ms静音ifsilence_count2andlen(buffer)self.sample_rate*0.5:textself._recognize(buffer)iftext.strip():self._callback(text)buffernp.array([],dtypenp.float32)silence_count0def_recognize(self,audio):执行单次语音识别streamself.recognizer.create_stream()stream.accept_waveform(self.sample_rate,audio)self.recognizer.decode_stream(stream)returnstream.result.textdefstop(self):self._runningFalseself.stream.stop()1.3 TTS模型部署 — VITS on IQ-91001.3.1 模型准备VITSVariational Inference with adversarial learning for end-to-end Text-to-Speech是一种端到端的语音合成模型以其高自然度和快速推理著称。我们使用Sherpa-ONNX提供的预训练中文VITS模型。# 下载中文VITS模型wgethttps://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/vits-zh-hf-theresa.tar.bz2tarxvf vits-zh-hf-theresa.tar.bz2# 模型文件结构# vits-zh-hf-theresa/# model.onnx # VITS模型 (~75MB)# lexicon.txt # 词典文件# tokens.txt # 音素token表# date.fst / number.fst # 文本正则化FST1.3.2 TTS推理代码使用Sherpa-ONNX框架进行中文语音合成importsherpa_onnximportsounddeviceassdimportnumpyasnpimportreclassTTSEngine:def__init__(self,model_path./vits-zh-hf-theresa):初始化TTS引擎tts_configsherpa_onnx.OfflineTtsConfig(modelsherpa_onnx.OfflineTtsModelConfig(vitssherpa_onnx.OfflineTtsVitsModelConfig(modelf{model_path}/model.onnx,lexiconf{model_path}/lexicon.txt,tokensf{model_path}/tokens.txt,data_dir,dict_dir,),),max_num_sentences1,)self.ttssherpa_onnx.OfflineTts(tts_config)self.sample_rateself.tts.sample_rate self.speaker_id0self.speed1.0defsynthesize(self,text):文本转语音返回numpy音频数组audioself.tts.generate(text,sidself.speaker_id,speedself.speed,)returnnp.array(audio.samples,dtypenp.float32)defsynthesize_and_play(self,text):合成并直接播放sentencesself._split_sentences(text)forsentenceinsentences:ifsentence.strip():audioself.synthesize(sentence)sd.play(audio,self.sample_rate)sd.wait()defsynthesize_streaming(self,text,chunk_callback):流式合成分句合成并通过回调输出降低首字延迟sentencesself._split_sentences(text)forsentenceinsentences:ifsentence.strip():audioself.synthesize(sentence)chunk_callback(audio,self.sample_rate)staticmethoddef_split_sentences(text):将长文本按标点分句便于流式合成returnre.split(r[。!.?],text)至此我们已经在边缘端成功部署了ASR和TTS模型。下一篇预告在系列文章的第三篇中我们将完成DeepSeek云端大模型的API接入并将ASR、TTS和LLM三个模块集成为一个完整的客服系统同时分享性能优化与部署清单。

相关文章:

基于高通跃龙IQ-9100的边端协同智能客服系统(2): 边缘端ASR/TTS模型部署实战

📌 前文回顾:在第一篇文章中,我们介绍了边端协同架构的优势、高通跃龙IQ-9100平台的硬件特性以及系统整体架构设计。接下来,我们将进入实战环节,在IQ-9100平台上完成ASR和TTS模型的部署。1. 边缘端模型部署实战 1.1 环…...

终极指南:如何轻松提取Xbox Game Pass游戏存档,实现跨平台无缝迁移

终极指南:如何轻松提取Xbox Game Pass游戏存档,实现跨平台无缝迁移 【免费下载链接】XGP-save-extractor Python script to extract savefiles out of Xbox Game Pass for PC games 项目地址: https://gitcode.com/gh_mirrors/xg/XGP-save-extractor …...

安装whisper

国产系统部署(麒麟) 国产系统注意事项 1.先确认 Python 环境: bash # 查看 Python 版本(需要 3.8+) python3 --version# 查看 pip3 是否已安装 pip3 --version 如果显示 -bash: pip3: command not found,先安装 pip3: bash sudo yum install -y python3-pip 2 升级…...

阿里云购买域名后解析与申请ssl证书并部署到宝塔

1.购买域名 2.解析域名 我们域名可以拆解为二级域名和三级域名等等 首先进入域名管理 https://dc.console.aliyun.com/next/index?spm5176.12818093_47.overview_recent.2.1c0716d0NpJNj1#/domain-list/all然后我们就拿到了二级域名,但是这个时候需要把二级域名和一…...

像素艺术×AI识别:Ostrakon-VL扫描终端CSS修复实战详解

像素艺术AI识别:Ostrakon-VL扫描终端CSS修复实战详解 1. 项目背景与设计理念 1.1 为什么选择像素艺术风格 在零售和餐饮场景中,传统的工业级UI往往显得冰冷且缺乏亲和力。我们选择8-bit像素艺术风格,主要基于三个考量: 降低技…...

OpenClaw自动化测试:Qwen3.5-9B持续集成实践

OpenClaw自动化测试:Qwen3.5-9B持续集成实践 1. 为什么选择OpenClaw做自动化测试 去年我在迭代一个NLP模型时,每次代码提交后都需要手动跑测试用例、截图对比结果、再发邮件给团队——这套流程每周要重复十几次。直到发现OpenClaw这个"能操作电脑…...

如何用League-Toolkit智能助手解决英雄联盟5大核心痛点?效率提升指南

如何用League-Toolkit智能助手解决英雄联盟5大核心痛点?效率提升指南 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power 🚀. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit 在快节奏的英…...

智能水印引擎:重新定义摄影后期效率标准

智能水印引擎:重新定义摄影后期效率标准 【免费下载链接】semi-utils 一个批量添加相机机型和拍摄参数的工具,后续「可能」添加其他功能。 项目地址: https://gitcode.com/gh_mirrors/se/semi-utils 问题发现:数字摄影时代的效率困境 …...

EcomGPT开源大模型部署:从单机Web到Docker Swarm集群扩展方案

EcomGPT开源大模型部署:从单机Web到Docker Swarm集群扩展方案 1. 引言 如果你在电商行业工作,每天面对海量的商品信息,是不是经常被这些事搞得头大:给几百个商品写标题、从冗长的描述里手动提取关键参数、或者为不同市场的商品做…...

人体姿态估计 自动健身计数 AI人工智能姿态估计技术在健身动作分析中的深入应用

姿态估计技术在健身动作分析中的深入应用 随着计算机视觉和机器学习技术的快速发展,姿态估计(Pose Estimation)已成为健身领域智能化的重要工具。这项技术不仅能够帮助用户正确地执行俯卧撑、仰卧起坐和深蹲等基本锻炼动作,还能够…...

到底要不要用AI写代码?别争了

其实我一直觉得,现在大家讨论 AI 写代码这件事,有点熟悉。因为以前我们也是这么过来的。刚开始写代码那会儿, 不会就打开 百度, 一行一行找答案,复制、试错、再改。一个分号错了能找半天, 中英文标点混了直…...

如何对比 SEO 优化公司的服务

了解 SEO 优化公司的服务 在当今数字化时代,SEO(搜索引擎优化)已经成为了企业在互联网上获得曝光和流量的重要手段。选择一家合适的SEO优化公司,对于提升网站排名和增加业务机会至关重要。如何对比SEO优化公司的服务呢&#xff1…...

暗黑破坏神2存档编辑器终极指南:5分钟解放你的游戏体验

暗黑破坏神2存档编辑器终极指南:5分钟解放你的游戏体验 【免费下载链接】d2s-editor 项目地址: https://gitcode.com/gh_mirrors/d2/d2s-editor 还在为暗黑破坏神2中反复刷装备而烦恼吗?想快速体验不同职业build却不想从头练级?d2s-e…...

ChilloutMix NiPrunedFp32Fix模型部署全攻略:从原理到实战

ChilloutMix NiPrunedFp32Fix模型部署全攻略:从原理到实战 【免费下载链接】chilloutmix_NiPrunedFp32Fix 项目地址: https://ai.gitcode.com/hf_mirrors/emilianJR/chilloutmix_NiPrunedFp32Fix 一、技术原理:模型架构与工作流程 1.1 核心组件…...

ACadSharp:.NET平台下的CAD文件处理解决方案

ACadSharp:.NET平台下的CAD文件处理解决方案 【免费下载链接】ACadSharp C# library to read/write cad files like dxf/dwg. 项目地址: https://gitcode.com/gh_mirrors/ac/ACadSharp 计算机辅助设计(Computer Aided Design, CAD)技术已成为工程领域不可或缺…...

Scroll Reverser终极指南:让Mac滚动方向完全掌控

Scroll Reverser终极指南:让Mac滚动方向完全掌控 【免费下载链接】Scroll-Reverser Per-device scrolling prefs on macOS. 项目地址: https://gitcode.com/gh_mirrors/sc/Scroll-Reverser Scroll Reverser是一款专为macOS设计的开源工具,能够独立…...

docker-compose部署nginx转发前端dist8080一直在服务器访问不了

在做不出来就要被老板扔出去了,nginx一直访问不了 转行写代码,使用docker部署所有组件,nginx一直出问题,有前辈帮我看看不 1、配置的nginx2、对应的nginx.conf的配置文件3、前端的dist放在/opt/sbcw/html/dist下就是访问不了&…...

Loop:3分钟快速掌握Mac窗口管理终极方案

Loop:3分钟快速掌握Mac窗口管理终极方案 【免费下载链接】Loop Window management made elegant. 项目地址: https://gitcode.com/GitHub_Trending/lo/Loop Loop是一款免费开源的Mac窗口管理工具,通过径向菜单和智能快捷键系统,让窗口…...

自主飞行控制探索:PX4开源飞控的模块化架构与行业应用价值

自主飞行控制探索:PX4开源飞控的模块化架构与行业应用价值 【免费下载链接】PX4-Autopilot PX4 Autopilot Software 项目地址: https://gitcode.com/gh_mirrors/px/PX4-Autopilot PX4开源飞控系统作为无人机领域的核心解决方案,通过模块化架构设计…...

26年知网AIGC检测算法大升级,这些变化你知道吗?

有同学在网上反馈,去年下半年写好的论文查重,AI率检测都过了,今年坐等毕业。没想到重新一查内容都变成率红色。评论区很多同学都有类似的情况。 根本原因还是:知网检测算法大升级,AI检测更加严格! 今天这篇…...

Xbox Game Pass存档提取终极指南:3步实现跨平台游戏进度无缝迁移

Xbox Game Pass存档提取终极指南:3步实现跨平台游戏进度无缝迁移 【免费下载链接】XGP-save-extractor Python script to extract savefiles out of Xbox Game Pass for PC games 项目地址: https://gitcode.com/gh_mirrors/xg/XGP-save-extractor 对于使用X…...

Unity资源提取工具AssetStudio完全指南:从问题解决到专业应用

Unity资源提取工具AssetStudio完全指南:从问题解决到专业应用 【免费下载链接】AssetStudio AssetStudio - Based on the archived Perfares AssetStudio, I continue Perfares work to keep AssetStudio up-to-date, with support for new Unity versions and addi…...

2025届毕业生推荐的六大AI辅助论文平台解析与推荐

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 它可以助力进行文献梳理,帮助研究者快速筛选出有价值的文献资料,人工…...

mysql如何管理大规模mysql实例的权限_使用统一的鉴权系统

MySQL大实例权限管理不能靠手工GRANT,因人工同步易导致漏配、错配、主从不一致等问题;必须通过ProxySQL等代理层实现统一鉴权,将权限策略与MySQL执行分离。MySQL 大实例权限管理为什么不能靠手工 GRANT单个 MySQL 实例用 GRANT 配权限没问题&…...

golang如何实现QPS实时统计_golang QPS实时统计实现方案

用 time.Tick 原子计数器实现秒级QPS统计:每秒tick重置计数器,请求入口仅atomic.Add,轻量无锁;暴露QPS应独立路由避免伪共享;rate.Limiter不适用于观测,高精度需分桶滑动窗口。用 time.Tick 原子计数器做…...

MongoDB中大型文本字段怎么存_GridFS切分与外部存储对比

会。MongoDB单文档上限16MB,但超2MB字符串易致客户端OOM或超时;GridFS非自动魔法,需手动管理分块、拼接与清理;大文本应优先存OSS/S3,Mongo仅存元数据。大文本存MongoDB会撑爆内存吗?会。MongoDB单文档上限…...

HTML函数在高负载下自动关机是硬件问题吗_过热保护机制【汇总】

HTML没有函数,更不会导致关机;所谓“HTML函数关机”是误解,实际是高负载JS/渲染引发CPU/GPU过热,触发系统级温控断电。HTML 函数在高负载下自动关机?压根不存在这个函数HTML 是标记语言,没有“函数”&#…...

Nature重磅:量子生物学重大突破

来源:一直奇怪2026 年 3 月 18 日,斯坦福大学的研究人员在国际顶尖学术期刊 Nature 上发表了题为:Magnetic resonance control of spin-correlated radical pair dynamics in vivo 的研究论文。该研究首次在活体多细胞动物中利用磁共振技术精…...

惠普tank2606,tank1005,屏幕显示ER 08,亮黄灯,加了碳粉问题依旧,遇到这个ER08报错别慌,更加别信维修店,维修店报价400块,这个软件2分钟修好,亲测完美修好,超级推荐。

下载:点这里下载 备用:https://pan.baidu.com/s/1jnWFzxqMMKBMDChJEfvBng?pwd0000 惠普tank2606,tank1005屏幕显示ER 08,亮黄灯,加了碳粉问题依旧,遇到这个ER08报错别慌,更加别信维修店,维修…...

Kintsugi AI心理健康筛查技术开源:审批困境与新应用契机

【导语:加利福尼亚初创公司 Kintsugi 开发从语音检测抑郁和焦虑迹象的 AI,因未获 FDA 批准即将关闭并开源技术。其技术有新应用可能,但也面临监管、滥用等问题。】AI语音筛查:心理健康评估新尝试过去七年,Kintsugi 致力…...