我有兩個錄製的相同事件,不同的長度,在不同的時間開始。我想同步它們,時間偏移是已知的。我想要達到以下效果:c# - WAV文件修剪和添加靜音
- 將第二個時間與時間偏移對齊。
- 修剪第二個以匹配第一個的長度
- 當沒有任何要修剪時,添加沉默以匹配第一個的長度。
我找到了修剪音頻的方法,但我無法找到添加靜音的解決方案。有沒有辦法用NAudio,ffmpeg或Aurio來做到這一點?
我有兩個錄製的相同事件,不同的長度,在不同的時間開始。我想同步它們,時間偏移是已知的。我想要達到以下效果:c# - WAV文件修剪和添加靜音
對不起,沒有響應,但我解決了我的問題與使用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