参考文章:linux下ffmpeg安装实现音频拼接
原博主提到了如何安装ffmpeg,以及合并两个、三个音频的命令,在我使用的时候,自己写了一个shell脚本去执行
代码如下:
#!/bin/bash
for dirname in `ls $1` #在一级目录下查找需要拼接音频的文件夹
do
num=0 #计数 方便填写list
fileset="" #文件集合
list="" #list列表
for filename in `ls $1/$dirname` #在音频文件夹中遍历所有要拼接的文件
do
fileset+="-i $1/$dirname/$filename "
list+="[$num:0] "
let num=$num+1 #统计文件个数以及list赋值
done
`ffmpeg $fileset -filter_complex "${list} concat=n=${num}:v=0:a=1 [a]" -map [a] $1/$dirname.wav` #拼接同一目录下的音频 我的是wav格式
# echo $fileset
#echo $can
done
~
因为我是为了拼接音频制作声纹识别训练集,所以我的每个文件夹都是同一个人声音的音频,拼接完成后直接用文件名命名文件了。