惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
SegmentFault 最新的问题
J
Java Code Geeks
V
V2EX
Blog — PlanetScale
Blog — PlanetScale
博客园 - 司徒正美
Hugging Face - Blog
Hugging Face - Blog
F
Fortinet All Blogs
aimingoo的专栏
aimingoo的专栏
B
Blog
A
About on SuperTechFans
有赞技术团队
有赞技术团队
月光博客
月光博客
Microsoft Azure Blog
Microsoft Azure Blog
阮一峰的网络日志
阮一峰的网络日志
腾讯CDC
美团技术团队
大猫的无限游戏
大猫的无限游戏
爱范儿
爱范儿
N
Netflix TechBlog - Medium
C
Check Point Blog
Recent Announcements
Recent Announcements
博客园 - Franky
博客园 - 叶小钗
T
Tailwind CSS Blog

博客园 - 邗影

opengl渲染YUV的波浪百叶窗效果 3D融合场景demo 传感器 关于音频PA结构腔体 球面渲染 关于linux和shi脚本常用的通配符 关于fread读不满一块和读不满count的返回值 如何去掉merge UBI的覆盖写和擦除 DTSI 多个模块共用同一个 GPIO 引脚冲突 问题汇总 debug比release程序启动的快 关于CPU占用优先级的调整 关于蜂鸣器发声 关于squashfs压缩挂载 软连接生成 线程退出未定义行为 linux文件查找 C语言弱函数 数据传输报错port unreachable D3D11绘制三角形 关于延迟测试 v4l2检测 关于数据库的性能 流媒体小记包含一些面试问题 v4l2视频采集 流媒体ZLM配置vscode远程开发 关于SPS中的帧率问题 Linux编译问题 SSl冲突问题 D3D初始化窗口显示
麦序与声源定位
邗影 · 2026-04-02 · via 博客园 - 邗影

声源定位:

1、一般需要3个麦克风(一般是一个圆环电路板,上边接3个咪头 )

              *mic1

 *  mic2              * mic3

2、首先要确定mic与驱动的通道对应关系

通过测试时候手动按住麦克,采集数据,来对应实物mic和通道的对应关系

3、在机器的正方位,一般要规定通道放置顺序,也就是麦序;因为算法定位生源的时候需要确定根据声道顺序计算位置;麦序放错了可能定位的角度就不对

                *mic1

 *  mic2              * mic3        

                 *mic2

 *  mic2             * mic3

4、一般底层驱动采集可能是6~8声道,其中前边几个声道是外采数据,后边的某个声道是ref,也就是参考信号;(播放回采,可做AEC的参考信号)

通过同一段声音在不同的麦克风的采集数据中的前后位置,确定生源方向;站在不同的位置,同一个声音到达不同mic的时间不一样

5、驱动层可以交换通道数据

比如我们的配置文件,定义新的设备的时候,会设置 主从属性,通道与数据的对应关系;比如通道一采集出来的数据在输出的时候要放在第二位

bindings {
    0 1   → 软件0 → 硬件1 (mic0)
    1 0   → 软件1 → 硬件0 (mic1)
    2 2   → 软件2 → 硬件2 (mic2)
    3 3   → 软件3 → 硬件3 (?ref)
    4 5   → 软件4 → 硬件5 (空/保留)
    5 4   → 软件5 → 硬件4 (**REF 回声参考**)
}

6、关于回声消除那一路的数据

 采集多通道之后听一下,看看具体哪一路是内部回采,这种硬件获取的回采数据,延时比较稳定;

7、ALSA(Advanced Linux Sound Architecture)使用配置文件系统来定义音频设备的访问方式和插件行为

主要配置文件包括: 1.  alsa.conf - 主配置文件   2.  asound.conf - 用户级配置文件(优先级更高)   3.  ~/.asoundrc - 用户个人配置文件(优先级最高)

这里边会配置设备的行为,软硬件通道的对应关系;