我在 Ubuntu 16.04 LTS 上,并且正在使用最新版本的 Oh My ZSH shell。
我正在使用 shntool(特别是 shnsplit)从终端将专辑的 .wav 文件拆分为单独的音轨,方法是将对 的调用结果传输cuebreakpoints
到对 的调用中shnsplit
。音轨在错误的断点处被拆分。这种情况发生在不同艺术家的几张不同专辑中,这些专辑的文件是从不同的来源获取的。没有错误或崩溃,只是输出不正确。
具体来说,第一个N-1的轨迹否专辑中的每首曲目被分割成不超过一分钟的长度,最后一首曲目由整张专辑文件的剩余部分组成。相同的输出cuebreakpoints
每次都会产生相同的显化分割点,但显化分割点似乎与输出中列出的分割点没有对应关系cuebreakpoints
。
我检查了cuebreakpoints
输出的正确性,并将其与 shntool 手册页中列出的格式进行了匹配,因此我很确定 没有任何问题cuebreakpoints
。多年来我一直在使用相同的管道命令,直到最近才开始出现这个错误。命令如下所示。
cuebreakpoints album.cue | shnsplit -o flac album.wav
答案1
似乎最近的版本(?)shnsplit
不喜欢提示mm:ss:ff
格式 - 相反,它们需要mm:ss:fff
。问题是cuebreakpoints
输出mm:ss:ff
(至少在某些情况下)。
以下是我修复的方法:
将命令更改
cuebreakpoints album.cue | shnsplit -o flac album.wav
为shnsplit -f album.cue -o "flac flac -s -o %f -" album.wav
手动修复提示表,以便所有
INDEX
条目的时间格式为mm:ss:fff
(如在这里所发现的)
答案2
至少 3.0.10 版的 shnsplit 不能正确处理 24 位音频,并且完全搞砸了。这是一个错误。