2016-11-26 31 views
0

如何合併兩個,所以多個文件進行處理,每個文件修剪從開始15秒,15秒底:音頻一批修剪開頭和結尾使用紅襪

@echo off 
cd E:\trim\multiplefiles 
mkdir trimmed 

rem trims 15 seconds from end of each file, and creates a snipped file in 
rem trimmed folder 

FOR %%A IN (*.wav) DO sox "%%A" "trimmed\%%~nxA" reverse trim 15 reverse 

@echo off 
cd E:\trim\multiplefiles 
mkdir trimmed 

rem trims 15 seconds from beginning of each file, and creates a snipped file in rem trimmed folder 

FOR %%A IN (*.wav) DO sox "%%A" "trimmed\%%~nxA" trim 15 
+0

請回到dostips並回復您的問題已解決。 – Squashman

+1

[你如何使用SoX修剪音頻文件的結尾?](http://stackoverflow.com/questions/9667081/how-do-you-trim-the-audio-files-end-using-sox) –

回答

2

紅襪修剪效果可以讓你同時指定開始和持續時間,以及負的持續時間規定了從底了測量的終點文件。因此sox infile outfile trim 15 -15將從文件中移除前15秒和後15秒。

@echo off 
cd E:\trim\multiplefiles 
mkdir trimmed 

rem trims 15 seconds from beginning and end of each file, putting result in trimmed folder 

FOR %%A IN (*.wav) DO sox "%%A" "trimmed\%%A" trim 15 -15 

注意~nx不需要在輸出規範。

1

我會假設您可以先從文件末尾修剪15秒,然後從結果開始修剪15秒。然後,你可以把一切都放在一個循環,並使用臨時文件是這樣的:

@echo off 

cd E:\trim\multiplefiles 
mkdir trimmed 

FOR %%A IN (*.wav) DO (
    rem trim 15 seconds from end and put it in temporary file 
    sox "%%A" "trimmed\temp_%%~nxA" reverse trim 15 reverse 
    rem trim 15 seconds from beginning of the temporary file 
    sox "trimmed\temp_%%~nxA" "trimmed\%%~nxA" trim 15 
    rem delete temporary file 
    del "trimmed\temp_%%~nxA" 
) 
+0

謝謝!完美無瑕地工作。 – vicki

+0

優秀!很高興聽到!祝你好運@vicki! ;) –

+0

由於SoX可以一次性修改開始和結束,因此這比想要的要複雜得多。請參閱[我的答案](http://stackoverflow.com/a/40822390/1012053)。 – dbenham