使用Sox,如何将音频文件缩短5秒,从最后修剪?
例如,这是如何从头开始修剪文件:
sox input output trim 5000
Run Code Online (Sandbox Code Playgroud)
这是如何在结尾添加5秒的沉默:
sox input output pad 0 5000
Run Code Online (Sandbox Code Playgroud)
yon*_*nix 45
语法是 sox input output trim <start> <duration>
例如sox input.wav output.wav trim 0 00:35将输出前35秒output.wav.
(你可以知道长度是多少sox input -n stat)
从SOX文件的trim命令:
从音频中删除部分内容.可以给出任意数量的职位 ; 在达到第一个位置之前,音频不会发送到输出.然后效果在每个位置复制和丢弃音频之间交替.对第一个位置参数使用值0 允许从音频的开头进行复制.
例如,
Run Code Online (Sandbox Code Playgroud)sox infile outfile trim 0 10将复制前十秒,而
Run Code Online (Sandbox Code Playgroud)play infile trim 12:34 =15:00 -2:00和
Run Code Online (Sandbox Code Playgroud)play infile trim 12:34 2:26 -2:00将音频从12分34秒播放到音频最长15分钟(即2分26秒长),然后在音频结束前两分钟恢复播放.
根据dpwe的注释,位置值被解释为相对于前一个位置,除非它们以=(在这种情况下它们相对于文件的开头)或-(在这种情况下它们相对于文件的末尾)开始.
因此,最后修剪五秒即可 sox input output trim 0 -5
小智 9
上面的命令是错误的,它只会让你持续5秒.你实际上需要使用:
sox input output reverse trim 5 reverse
Run Code Online (Sandbox Code Playgroud)
这将从文件末尾减少5秒.
我是SoX的新手,但是我注意到这个页面经常出现在音频修剪的搜索结果中,很多人都会看到这样做.
因此,我想提供我个人认为最好的解决方案.
我在John Smith Optional提到的文件末端经历了相同的"点击" .这表明短暂的淡出可以消除任何有故障的人工制品,因为音频完成并确定它有效.它接受fadeout position参数的负值,以指示音频结束之前的时间是关键.
所以我认为没有更好的方法来实现OP的目标而不是:
sox full_length.wav trimmed.wav fade 0 -5 0.01
Run Code Online (Sandbox Code Playgroud)
参数1为'0',因此没有淡入.参数2删除最后5秒参数3使用10ms淡入淡出
| 归档时间: |
|
| 查看次数: |
37214 次 |
| 最近记录: |