因为我想节省很多工作,所以我尝试创建一个功能来合并每个文件夹的 wav 文件。该文件夹包含大约 100 到 500 个 wav 文件。所有 wav 文件均为立体声、44.100 Hz 和 24 位。
有超过 1500 个丢失的 wav 文件,无法通过批处理进行编辑,因为我正在使用的程序(出于其他特定原因)没有批处理选项。因此我尝试:
-> 合并 wav 文件 + 0.5 秒的静音并制作一个提示列表
-> 编辑大文件(在音乐编辑软件中完成)
-> 通过提示列表将大文件拆分回原始文件(精确)(没有沉默)
在我看来,最好的方法是删除文件头(将其保存在提示中)并加入字节?
到目前为止我知道的唯一语言是 PHP,所以我试图实现的只是 PHP。我发现我缺乏这样做的技能和知识,我希望有人能在这里提供帮助。
我尝试完成的基本事情是: - 制作所有 wav 文件的数组 - 在每个文件(在数组中)之后添加 0.5 秒的静音 - 创建最终数组以将文件转换回原始文件 - 删除文件头 - 创建新的波形文件。
一些基本功能:
function wav_scan_dir($directory){
$filenames = array();
$iterator = new DirectoryIterator($directory);
foreach ($iterator as $fileinfo) {
if ($fileinfo->isFile() && $fileinfo->getExtension() === "wav") {
$filenames[$fileinfo->getFilename()] = filesize($directory.$fileinfo->getFilename());
}
}
return $filenames;
}
$directory = dirname(__FILE__)."/WAVES/";
$files = wav_scan_dir($directory);
由于评论额外信息:
文件夹包含:01original.wav,02original.wav,03original.wav。
编辑到
onebigfile.wav = 01original.wav +0.5silence, 02original.wav, +0.5silence, 03original.wav。
编辑后返回(与原始 wav 文件完全相同的大小/长度):
01original.wav、02original.wav、03original.wav。