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

<span class=“js_title_inner“>rk3568移植WebRTC AudioProcessing</span>

前言:

大家好,我是飞一样的成长,今天这篇文章主要想分享音频3A的内容。在之前有网友找我怎么移植原生的webrtc到rk3568/rk3588上,当时我自己也没有移植过,后面折腾了一个礼拜才搞定,当时遇到的最大问题,主要是编译器g++对于webrtc最新版本是不兼容的,导致始终无法编译过,后面切换了低一点的版本才搞定:

但是这里面的内容比较多,其实也是可以专门关注webrtc audio模块的,主要就是关注音频3A算法:

  • AEC

  • ANC

  • AGC

其实我自己也关注了很久了的音频3A这块,比如有rk自带的3A模块,还有一些开源的项目:

  • rnnoise

但是效果最好的还是webrtc的效果最好,而且也最成熟,如果从商业开发的角度来看的话。

而且为了简化内容,webrtc 有专门抽取出来的webrtc audio开源模块WebRTC AudioProcessing,所以我的精力就想专门研究里面的3A算法,要搞就搞最好的,不搞杂毛:

同时结合我自己的工作经历,这块的内容还是非常的重要,搞音频最难的地方,就是这块。当然还有底层的音频,也会涉及到算法。在我们做嵌入式开发,音频的指标,也是有严格的标准的,需要用专业的仪器测试,比如说信噪比指标。

rk3568移植WebRTC AudioProcessing:

其实这里没有平台的限制,只是我这里以我手上有的板子来进行移植,其他平台都可以按照我下面的方法进行移植即可。

移植步骤:

  • 1、 meson和ninja安装:

sudo apt update sudo apt install meson ninja-build python3-pip pip3 install --user meson
  • 2、在webrt audio processing源码下创建一个文本,同时里面填写的内容如下:

[binaries] c = '/home/txp/rk3568/rk3568_sdk/buildroot/output/rockchip_atk_dlrk3568/host/bin/aarch64-buildroot-linux-gnu-gcc' cpp = '/home/txp/rk3568/rk3568_sdk/buildroot/output/rockchip_atk_dlrk3568/host/bin/aarch64-buildroot-linux-gnu-g++' ar = '/home/txp/rk3568/rk3568_sdk/buildroot/output/rockchip_atk_dlrk3568/host/bin/aarch64-buildroot-linux-gnu-ar' strip = '/home/txp/rk3568/rk3568_sdk/buildroot/output/rockchip_atk_dlrk3568/host/bin/aarch64-buildroot-linux-gnu-strip' pkgconfig = '/home/txp/rk3568/rk3568_sdk/buildroot/output/rockchip_atk_dlrk3568/host/bin/pkg-config' cmake = 'cmake' [properties] needs_exe_wrapper = true# 如果在构建中需要运行可执行文件(通常交叉时不能执行) exe_wrapper = 'qemu-arm-static'# 如果有 QEMU 支持运行目标可执行文件来生成一些配置 [host_machine] system = 'linux' cpu_family = 'arm' cpu = 'aarch64' endian = 'little'
  • 3、开始构建和编译:

meson setup build_arm --cross-file cross_arm_linux.txt --buildtype=release
cd build_arm ninja
  • 最后,安装编译出来的库:

ninja install

查看是否成功了:

可以看到成功了。

最后就开启2025年正式研究音频3A了。

后面的内容,会测试一下效果,先用alsa或者tinyalsa采集音频,然后看一下经过webrtc audio processing处理效果以及里面的具体实现学习。

http://www.jsqmd.com/news/335917/

相关文章:

  • 2026年咸宁管道疏通服务公司综合实力与口碑盘点 - 2026年企业推荐榜
  • 2026年咸宁管道疏通服务商选择指南:6家优质公司深度解析 - 2026年企业推荐榜
  • <span class=“js_title_inner“>Python+tkinter程序中ttk.Progressbar进度条组件用法演示</span>
  • 2026年国内兰州轻钢龙骨厂家采购参考指南 - 行业平台推荐
  • VPX架构军工级SSD选型指南:板级定制与国产化解决方案(2026)
  • 2026年初粮油批发定制厂商竞争格局深度分析 - 2026年企业推荐榜
  • 2026年热门的兰州吊顶石膏板/青海石膏板值得信赖厂家推荐(精选) - 行业平台推荐
  • <span class=“js_title_inner“>真正的AI手机永远不会有了吗?</span>
  • 腾讯宣布:发10亿现金红包!
  • <span class=“js_title_inner“>2033年将破40亿美元!区块链+AI 撞出“信任+智能”的超级风口</span>
  • 最后一天。
  • <span class=“js_title_inner“>Siri 终于要“死”了?苹果 iOS 27 惊天曝光:这次不仅是更新,而是换脑!</span>
  • 【硬件测试】基于FPGA的8PSK+卷积编码Viterbi译码硬件片内测试,包含帧同步,信道,误码统计,可设置SNR
  • 前后端分离人事管理系统系统|SpringBoot+Vue+MyBatis+MySQL完整源码+部署教程
  • <span class=“js_title_inner“>让 AI 也能当“反洗钱专家“——一个通俗易懂的模型训练故事</span>
  • 通过 DeepFlow 查询函数在 CPU 上消耗的时间(CPU 性能剖析)
  • 2026年靠谱的防火石膏板/纸面石膏板新厂实力推荐(更新) - 行业平台推荐
  • 2026年口碑好的青甘大环线旅游/西北旅游客户认可榜 - 行业平台推荐
  • 2026硝化菌厂家甄选指南:三大维度与顶尖服务商解析 - 2026年企业推荐榜
  • Vue-day6 路由!
  • Linux命令--echo~反引号符~重定向符(>>)~tail命令
  • which命令
  • C++_竞态_底层原理解释
  • 基于FPGA的8PSK+卷积编码Viterbi译码通信系统,包含帧同步,信道,误码统计,可设置SNR
  • 2026年健康无添加石榴汁供货商实力盘点 - 2026年企业推荐榜
  • 2026年靠谱的私人定制旅行社/1V1旅行社口碑推荐榜 - 行业平台推荐
  • 2026石榴汁批发选谁?口碑Top5服务商深度解析 - 2026年企业推荐榜
  • GitLab基本设置
  • 2026刺绣背景墙源头厂家全盘点!值得信赖的新中式背景墙厂家/软硬包定制厂家/艺术墙板厂家一站式汇总 - 栗子测评
  • 2026年开年,浙江精神堡垒实力厂家深度解析与精选推荐 - 2026年企业推荐榜