使用 sox splice 淡入淡出一组音频文件

2024-02-27

我可以使用 SoX 连接和交叉淡入淡出两个音频文件,如下所示:

sox file1.wav file2.wav outfile.wav splice -q `soxi -D file1.wav`,0.5

其中 soxi 替换是获取 file1 的持续时间,0.5 是交叉淡入淡出的长度。我现在尝试将其扩展到任意数量的文件,以便将它们与中间的短交叉淡入淡出串在一起。似乎有两种方法:管道和脚本。 Sox 有一个 -p 选项,告诉它将其输出视为管道输出(而不是写入文件)。但是,由于每个命令有许多输入和参数,尚不清楚输出如何(并输入? http://linuxmoc.wordpress.com/2009/01/20/vox-recording-in-linux-part-2/#comments) 在后续命令中被分配。到目前为止我已经得到了下面的行不起作用,尝试扩展到 3 个文件。

sox -p file1.wav file2.wav splice -q `soxi -D file1.wav`,0.5 | sox -p file3.wav outfile.wav splice -q `soxi -D file3.wav`,0.5

您对 sox 管道和脚本编写的建议将不胜感激。


我已经完成了大部分的工作

sox --combine concatenate *.wav _merge.wav splice -q 3,1

最后的拼接效果将交叉淡入淡出的开始位置放在第一个文件的 3 秒处,并使用 1 秒作为交叉淡入淡出持续时间(两个文件的开头和结尾各半秒)。此方法是一个临时修复,因为我可以选择在输出中仅包含约 3 秒的文件(使用其他方法)。 更好的答案是弄清楚如何获取当前文件的持续时间并用它代替 3。

sox --combine concatenate *.wav _merge.wav splice -q $(soxi −D {}),1

如果此处的 {} 选择了当前项目(如find),这样就可以了。但这似乎不起作用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 sox splice 淡入淡出一组音频文件 的相关文章

  • 使用不同的凭据运行 powershell 脚本

    我正在尝试运行以没有 脚本运行 权限的特定用户身份登录的 powershell 脚本 如果我想以其他用户身份运行脚本 是否可以将凭据作为参数添加到脚本中 Get Something computerName SERVER1 filePath
  • 从头开始创建 mp3 文件 C#

    作为一些实验的一部分 我想到了一些事情 如何在 C 中从头开始创建一个 mp3 文件 这实际上听起来像什么 例如 创建一个播放音符的 mp3 文件 C 或 B 降调 我怎样才能实现这一点 它必须是 mp3 文件 而不是 wav 或其他任何文
  • 使用 SwiftMailer 批量发送电子邮件

    我目前正在使用迅捷邮递员 http swiftmailer org向多个用户 最多 50 个 发送电子邮件 我已将其设置并正常工作 但是 我不太确定如何从 MySQL 数据库中提取收件人并迭代发送它们 这是我目前拥有的
  • 在 Mobile Safari 中重用 HTML5 音频对象

    我希望在 iPad 上的 Mobile Safari 中运行的 Web 应用程序上播放一个简短 小于 1 秒 的音频文件 以响应用户输入 同时将事件和音频播放之间的延迟降至最低 在页面重新加载之间可以多次触发播放 因此我想缓存音频文件 以下
  • Android 将原始字节记录到 WAVE 文件中以进行 Http Streaming

    所以我正在使用AudioRecord从 Android 记录原始字节并将其写入 wav 文件 由于 Android 不支持此功能 我必须使用以下代码手动编写 wav 文件头 randomAccessWriter writeBytes RIF
  • 为什么我的音频不倒带?

    我在 Javascript 中倒带音频时遇到了一些问题 我基本上有一个倒计时 当倒计时接近结束时 每秒都会发出蜂鸣声 我尝试使用 var bip new Audio http www soundjay com button beep 7 w
  • 如何在 hash-bang 可执行文件中引用本地 ruby​​?

    我有一个 Ruby 可执行文件 它是一个捆绑器 binstub 它以 usr bin env ruby 在我的服务器上 我通过 RVM 安装了 Ruby 193 which ruby gt home dtuite rvm rubies ru
  • 如何低延迟地使用 Android 音频

    Problem 您可能听说过 Android 不提供低延迟音频 API 我所说的低延迟音频是指您应该能够从麦克风获取音频信号并播放声音 中间没有太多时间间隔 例如 5 7 毫秒 我尝试过旧的java 带有AudioRecord和AudioT
  • Bash shell 中的“[ ]”与“[[ ]]”[重复]

    这个问题在这里已经有答案了 这可能已经得到回答 但我还是要问 我有两个版本的脚本 comp sh bin sh export tDay date Y m d newfile filename tDay filename filename 2
  • 通过iPhone音频插孔读取数据

    我正在寻找一种方法来读取通过 iPhone 的音频插孔从 Arduino 发送的原始数据 我搜索了很多并发现this https github com sanjibahmad Is Headphone Plugged In tree mas
  • 如何在Delphi 7中监听麦克风并检测声音响度

    我需要一个程序来捕获麦克风输入声音超过特定阈值时的事件 那么我可能需要不断地听麦克风 并以某种方式测量声音幅度 Delphi 7 中可以这样做吗 我建议您使用低音音频库 http www un4seen com bass html http
  • 如何在 PhantomJS 中使用 JavaScript 检测网页上的声音?

    我需要检测带有横幅的网页中的所有声音 我怎样才能做到这一点 我查看 PhantomJS 但找不到浏览器声音的 API PhantomJS 1 x 和 2 不支持 Flash
  • 使用python同时播放两个正弦音

    我正在使用 python 来播放正弦音 音调基于计算机的内部时间 以分钟为单位 但我想根据秒同时播放一个音调 以获得和谐或双重的声音 这就是我到目前为止所拥有的 有人能指出我正确的方向吗 from struct import pack fr
  • 使 C# 源代码作为脚本运行?

    我正在编写一些脚本 我发现有时更多的功能会更好 就像持续尝试以 1 秒延迟删除文件并使其可移植的能力一样 我今天花了一些时间将 bat 脚本翻译为 bash 我知道我可以使用 php 或 python 但我非常喜欢静态 编译时间检查 有没有
  • 元素存在之前的html5音频绑定时间更新

    我试图从音频标签绑定 timeupdate 事件 该标签尚不存在 我习惯这样做 body on click selector function e 我用音频标签尝试了这个 body on timeupdate audioPlayerJS a
  • java中wav文件转换为字节数组

    我的项目是 阿塞拜疆语音的语音识别 我必须编写一个程序来转换wav文件到字节数组 如何将音频文件转换为byte 基本上如第一个答案中的片段所描述 但不是BufferedInputStream use AudioSystem getAudio
  • 将声音图形化地表示为波

    我创建了一个记录和播放声音的应用程序 我正在寻找一种显示简单波形的方法 记录声音的表示 不需要动画 只需一个简单的图表 如果可以选择波的子集也很好 当然更好 也播放该部分 总而言之 我正在寻找什么 一种以图形方式将录制的声音表示为波的方法
  • 当我从本地计算机更改为虚拟主机时,从 python 脚本调用 pdftotext 不起作用

    我编写了一个小的 python 脚本来解析 提取 PDF 中的信息 我在本地机器上测试了它 我有 python 2 6 2 和 pdftotext 版本 0 12 4 我正在尝试在我的虚拟主机服务器 dreamhost 上运行它 它有 py
  • 如何将 bash 脚本的整个输出保存到文件

    我正在尝试将 bash 脚本的整个输出保存到文件中 我目前在代码开头有一个参数 ip 地址 如下所示 bin bash USAGE Usage 0
  • 使用项目中的波形文件

    我目前只能通过将波形文件放在已编译的 exe 旁边来播放背景声音 但我实际上想要一个包含波形文件的静态可执行文件 这在Delphi XE2中可能吗 这是我的代码 SndPlaySound Raw wav SND ASYNC or SND L

随机推荐