使用 Sox 开始和结束音频批量修剪
Posted
技术标签:
【中文标题】使用 Sox 开始和结束音频批量修剪【英文标题】:Audio batch trim beginning and end using Sox 【发布时间】:2016-11-26 14:24:57 【问题描述】:如何合并两者,以便处理多个文件,每个文件从开始修剪 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
【问题讨论】:
请返回dostips并回复您的问题已解决。 How do you trim the audio file's end using SoX?的可能重复 【参考方案1】:SoX 修剪效果允许您指定开始和持续时间,负持续时间指定从文件末尾开始测量的结束点。所以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
。
【讨论】:
【参考方案2】:我假设您可以先从文件末尾修剪 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"
)
【讨论】:
谢谢!完美运行。 太棒了!很高兴听到!祝你好运@vicki! ;) 这比它需要的复杂得多,因为 SoX 可以一次修剪开头和结尾。见my answer。以上是关于使用 Sox 开始和结束音频批量修剪的主要内容,如果未能解决你的问题,请参考以下文章