版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    项目量产过程中需要验证麦克风的好坏,需要通过麦克风录音,查看录音数据确定麦克风的好坏,但实际过程中产品有4个麦克风,录音回来的数据需要做数据分离,然后才能确定到底哪个麦克风出现问题。

    这个问题已经在StackOverflow中有答案了Decode audio stream channels to multiple wavs using ffmpeg?

    麦克风原始数据,使用arecord录音4个通道的数据

    1. arecord -Dhw:0,3 -d $2 -c 8 -r 16000 -f S16_LE /tmp/tmp.wav

    [ 音频篇 ] 如何实现麦克风多个音频流通道数据的分离 - 程序手艺人 - 有趣有能量 - CSDN博客 - 图1
    经过ffmpeg 分离出每个通道的数据

    1. ffmpeg -i INPUT -map_channel 0.0.0 OUTPUT_CH0 -map_channel 0.0.1 OUTPUT_CH1

    [ 音频篇 ] 如何实现麦克风多个音频流通道数据的分离 - 程序手艺人 - 有趣有能量 - CSDN博客 - 图2

    ffmpeg 官方文档中也有说明 
    [ 音频篇 ] 如何实现麦克风多个音频流通道数据的分离 - 程序手艺人 - 有趣有能量 - CSDN博客 - 图3

    文章最后发布于: 2018-12-05 21:11:12