2016-11-26 32 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