利用ffmpeg对两个音频文件进行混音处理

前言

最近,拿到了一个语音识别程序,想测试一下它识别的准确性。原本程序有一段自己的测试音频,准确性还可以,但是,自己想增加一下测试素材的复杂性。想到了在原本的测试音频中引入干扰数据(噪点),再看一下语音识别程序的健壮性。

正文

1、素材介绍

原本程序自带的音频测试素材是一段时长 24 秒的 wav 文件,其中包含了关键词 Yes 和 No,两个关键词出现的具体时间点如下:

yes @1100ms

no @5500ms

yes @9100ms

no @13600ms

yes @17100ms

no @21600ms

想引入的噪点数据是前段时间在抖音上比较火的背景音乐------《野花与栀子花》,具体内容这里就省略了。

2、混音处理

最基础的 ffmpeg 混音命令如下:

ffmpeg -i test.wav -i flowers.mp3 -b:a 16k -ac 2 -ar 48000 -filter_complex "amix=inputs=2" mixed_audio.wav

简单介绍一下上述参数:

-b:a 16,音频码率为16kbps

-ac 2,音频声道数为2

-ar 48000,音频采样率为48kHz

-filter_complex "amix=inputs=2" ,音频过滤器

执行结果如下:

生成的混音文件 mixed_audio.mp3 包含了两个输入音频文件的内容,只是叠加到了一起。不过细心的网友会发现,这个输出音频文件的时长是以最长的输入音频文件长度为准的,也就是音乐《野花与栀子花》的时长,3分26秒。

如何让它以最短时长的音频文件长度为准呢,可以增加参数 duration=shortest,具体命令如下:

ffmpeg -i test.wav -i flowers.mp3 -b:a 16k -ac 2 -ar 48000 -filter_complex "amix=inputs=2:duration=shortest" mixed_audio.wav

执行结果如下:

3、测试

最后使用新生成的音频素材进行测试,准确率确实受到了影响,但是整体影响不大。

相关推荐
啦啦啦~~~2221 天前
手机音量增强工具!免root可用,打开即是专业版!
学习·智能手机·音频·开源软件·智能音箱
Promise微笑2 天前
回路电阻测试仪采购:多维度技术评估与深度避坑指南
开发语言·matlab·语音识别
2601_958352902 天前
AU-48 双模拟麦多功能语音处理模组:一颗芯片搞定降噪、消回音、USB 通话全场景
语音识别·降噪·回音消除·通话对讲
浪潮BB机2 天前
解决会议纪要错字多,2026年主流语音识别软件横评与优化方案
人工智能·语音识别·效率工具·ai工具·录音转写·会议纪要
꯭爿꯭巎꯭2 天前
新概念英语第二册(PDF + MP3音频)免费下载
pdf·音视频·语音识别
李永奉3 天前
杰理可视化SDK开发-AC700N耳机端根据SIRI语音助手状态触摸按键唤醒SIRI语音助手和关闭SIRI语音助手
人工智能·语音识别
amongdata3 天前
MyVoiceTyping:面向中文语音输入的本地优先开源方案
python·开源·音视频·语音识别
TengTaiTech4 天前
打破ANC的“静默牢笼”:基于QCC3095实现主动降噪与侧音共存的音频方案
蓝牙·qcc·混音
维基框架4 天前
Apple的SpeechAnalyzer API实测:系统级语音识别与Whisper的差距在哪里
人工智能·whisper·语音识别·xcode
声讯电子4 天前
AU-60 全功能 AI 语音处理模组,一站式解决 USB / 模拟 / I2S 全音频开发痛点
人工智能·语音识别·ai降噪·回声消除·回音消除·波束定向