把同一首歌的12个现场版做成可对比的片段库,我用foobar2000干了件笨事

上个月整理一支乐队的现场录音,同一首歌手里攒了12个版本:不同年份、不同场地,有soundboard直录的,也有观众席手机录的。问题很具体——我想比较主歌第二段每次的吉他处理,但一个个拖进度条太蠢了,而且版本之间长度差得挺多,一个3分12秒,一个5分40秒还带一段即兴。

我的做法很土,没写脚本,全靠foobar2000加一个组件。先把12个文件统一成同一种格式的副本,避免原文件被动过:

for f in *.flac; do
  ffmpeg -i "$f" -ar 44100 -ac 2 "conv/${f%.flac}.wav"
done

然后在foobar里给这些文件打上同一个标签,比如 %compare%=曲名,再用 Playlist Tools 里的分组功能按这个标签折叠成一个组。关键一步是装 Seekbar 那个可视化组件,把波形叠在一起看——不是真叠,是快速切换时波形形状能对上。我一般是先听鼓的过门定位,因为鼓的位置在各版本里最稳,然后记下时间戳,写在一个纯文本里,格式就是 文件名 时间点 备注。

为什么不用更专业的工具?试过Audacity,多轨对齐一个3分钟的歌要手动挪十几次,12个版本就是灾难。也想过用Python的librosa做节拍对齐,但我不确定自己能不能把那堆参数调对,而且一次性的活,调参的时间比手动听还长。代价是这套办法完全依赖我的耳朵,换个不熟悉的歌就抓瞎;另外foobar的分组只是视觉上的,播放还是从头到尾,想跳到某一段得自己输时间。

失效的地方很明确:现场版如果调弦不一样(有次降了半音),波形对不上,定位就白费;手机录的那几个底噪太大,波形全糊,只能靠听。还有一个坑是标签写错一个字符,分组就散了,我一开始用了中文全角冒号,找了半小时才发现。

现在库里大概四十多个片段,每个备注都写得很短,比如“2019.3 桥段后加了一段清音扫弦”。想问问常做版本对比的人:你们是靠波形还是靠小节数定位?我总觉得我这套在即兴段落多的歌上迟早要崩。

0
赞同度 100% · 0 条评论 · 5 阅读

0 条评论

支持 Markdown · 回复会实时推送给对方

还没有评论,写下第一条。