用 foobar2000 把 90 張演唱會專輯的曲序排回現場

这篇内容暂时只有 繁體中文 版本,以下是原文。

手邊有一批 90 張左右的演唱會專輯,多是自己從 CD 抓的 FLAC,少數是朋友傳來的整軌檔。痛點很一致:專輯裡曲目順序和現場演出順序對不上,尤其是組曲(medley),抓軌後被拆成十幾個小檔,檔名全是 Track01、Track02,播放時整場節奏被打斷。我想要的不是「按 BPM 重排」,而是把曲序還原成當晚演出的順序,讓 medley 能連續聽完。

我先用 foobar2000 把每張專輯的 TRACKNUMBER 和 TITLE 匯出成 CSV,人工對照專輯內頁或現場歌單,補一個 live_order 欄位。接著用一個小腳本把 live_order 寫回檔案的 %TRACKNUMBER%,medley 則在 %TITLE% 前加上所屬組曲名,並用 %TRACKNUMBER% 保留連續編號:

import csv, subprocess
rows = list(csv.DictReader(open('live_order.csv', encoding='utf-8')))
for r in rows:
    subprocess.run(['metaflac', '--set-tag=TRACKNUMBER=' + r['live_order'],
                    '--set-tag=TITLE=' + r['title'], r['path']], check=True)

foobar2000 這邊我用 %TRACKNUMBER% 排序,再開「平滑播放」把 medley 的間隙壓到 0 秒。這樣做的代價是要手動維護那份 CSV;好處是改一次,往後每次重播都正確,不必依賴播放器記住臨時佇列。

會失效的地方不少。第一,跨片 CD 的組曲若拆在不同碟,TRACKNUMBER 會撞號,要先加碟號前綴。第二,有些現場版把安可曲接在最後,但內頁順序和實際演出不同,我踩過一次,照內頁排反而把安可放錯位置。第三,metaflac 只吃 FLAC,遇到整軌 ape 得先轉檔,轉檔本身又會動到品質,這點我目前還不確定怎麼取捨最乾淨。

你們在還原演唱會曲序時,是相信專輯內頁,還是以現場歌單為準?遇到兩者衝突,通常怎麼處理?

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

0 条评论

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

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