拆分和重新加入 wav 文件

Posted

技术标签:

【中文标题】拆分和重新加入 wav 文件【英文标题】:Split and rejoin wav files 【发布时间】:2014-09-08 00:04:17 【问题描述】:

我正在尝试使用不支持命令行批处理类型的 Windows 程序编辑大约 200 个 wav 文件。因此,似乎最简单的方法是将 wav 合并到一个文件中(它们都很短),然后在编辑后将它们拆分回原样。

Sox 会给我长度,当然我已经有了名字。有没有办法说,将一个目录中的所有 wav 组合成一个单独的 wav 文件,同时保留名称、长度以及它们在 txt 文件中组合的顺序,然后使用 txt 将它们转回 wav原来的名字和长度?

编辑:我似乎做错了什么。我先运行了这个脚本:

#!/bin/bash
for f in *.wav
do
    dd if=$f of=new_$f bs=1 skip=44
done

然后我将所有原始文件从文件夹中移出,删除了第一个新文件,然后将第一个原始文件复制回来。然后我这样做了:

cat *.wav > merged.wav

这给了我一个尽可能大的文件,但是当我用媒体播放器打开它时,它只播放第一个文件的部分,然后在播放其他文件之前停止。

【问题讨论】:

【参考方案1】:

不知道你想获得多大的创意。 wav 只是带有二进制数据的标头。只要它们都是相同的格式,所有的样本大小,你可以使用 cut 或 split 从它们的开头剥离 44 个字节,在开头保留一份标题副本,将它们放入 1 个文件中,做你想做的事想要他们,使用具有相同文件名列表的另一个脚本将其拆分备份。

【讨论】:

【参考方案2】:

Sox 可以做到这一点。

假设所有 wav 文件都在 c:\temp 中,命令是

sox c:\temp\*.wav c:\temp\merged.wav

(示例是windows,linux使用linux路径表示法)

为了保留长度和名称,我会使用 sox 来获取长度和 然后根据该信息创建一个cue-file。

这个提示文件以后可以用来分割音频。

【讨论】:

以上是关于拆分和重新加入 wav 文件的主要内容,如果未能解决你的问题,请参考以下文章

为啥将拆分为 wav 文件的旋律转换为拆分的 mp3 会在片段边界处产生不好的声音?

NAudio 拆分 wav 文件问题。其他所有音频文件声音失真,而其他音频文件清晰

是否可以拆分 SWIG 模块进行编译,但在链接时重新加入?

将 G.723.1 转换为普通 wav 和拆分通道?

使用 NAudio 拆分 Wav 文件会从每个部分删除 1 秒

gstreamer 将多通道 wav 文件拆分为单独的通道并将每个通道编码为 mp3、alac 等并保存到文件