You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用单条SoX命令裁剪拼接音频并避免生成中间文件?

正确的SoX命令实现方案

要完成你需要的操作——截取input1.aif前0.5秒、拼接完整的input2.aif、末尾添加1秒静音,单条SoX命令就能实现,无需生成中间文件,推荐两种写法:

# 通用写法,兼容多数Shell环境
sox --combine concatenate "|sox input1.aif -p trim 0 0.5" input2.aif output.aif pad 0 1
# Bash/Zsh专属写法,语法更直观
sox <(sox input1.aif -p trim 0 0.5) input2.aif output.aif pad 0 1

命令说明

  • sox input1.aif -p trim 0 0.5:单独处理input1.aif,截取前0.5秒,结果通过管道(-p表示管道输入/输出)直接传递给主命令,不生成临时文件
  • --combine concatenate:指定SoX将处理后的input1片段与完整的input2按顺序拼接(用进程替换的写法可省略该参数,SoX默认对多输入文件执行拼接)
  • pad 0 1:给最终拼接好的音频末尾添加1秒静音(参数格式为pad <前置静音时长> <后置静音时长>,这里不需要前置静音,所以填0)

你之前尝试的命令问题分析

  • 直接在多输入后加trim 0 0.5:这个trim会作用于所有输入拼接后的完整音频,导致只保留前0.5秒,input2被完全截断
  • 使用:分隔效果::用于给单个输入文件叠加多个效果,但你未明确指定效果对应的输入对象,导致效果作用范围混乱,要么没正确处理input1,要么误截断了input2
  • sox input1.aif trim 0 0.5 : input2.aif output.aif pad 0 1:语法错误,链语法中输出文件必须放在最后,且:不能用于分隔独立的输入文件

内容的提问来源于stack exchange,提问作者Dan Weaver

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 11:02:57