c# - WAV文件修剪和添加静音
问题描述:
我有两个录制的相同事件,不同的长度,在不同的时间开始。我想同步它们,时间偏移是已知的。我想要达到以下效果:c# - WAV文件修剪和添加静音
- 将第二个时间与时间偏移对齐。
- 修剪第二个以匹配第一个的长度
- 当没有任何要修剪时,添加沉默以匹配第一个的长度。
我找到了修剪音频的方法,但我无法找到添加静音的解决方案。有没有办法用NAudio,ffmpeg或Aurio来做到这一点?
答
对不起,没有响应,但我解决了我的问题与使用ffmpeg。以下是我的工作方法:ffmpeg -f lavfi -i aevalsrc=0:d=8.375 -i inputfile.wav -filter_complex "[0:0] [1:0] concat=n=2:v=0:a=1" -ss 0 -to 63.787 outputfile.wav
-i aevalsrc=0:d=8.375
生成持续时间(d
)为8.375秒的沉默。 -filter_complex "[0:0] [1:0] concat=n=2:v=0:a=1
合并沉默和输入文件。 - Concatenation-ss 0 -to 63.787
修剪输出(到第一文件的长度从一开始,即63.787,如果输入是比较短,输出文件输入文件的持续时间) - Seeking
如果偏移值是负的,那么它的:ffmpeg -i inputfile.wav -ss 22.316 -t 54.213 outputfile.wav
因此,输出文件是从22.316秒开始的输入文件,持续时间为54.213
我使用NReco.VideoConverter作为ffmpeg包装。
这可以用ffmpeg完成。提供关于持续时间的细节以及需要什么抵消/修剪/沉默,然后我会写出一个命令。 – Mulvya