曲譜同步影片與封面
從 MusicXML/MXL、原譜 PDF 與實際錄音製作連續曲譜同步影片。使用紙色、思源宋體、固定藍色游標、單列流動譜面、持續音符高亮及雙層曲式導航。作品資訊、演奏路線、時間、結構與顏色由當前專案決定;不附帶任何作品的樂譜、錄音、錨點或專案修訂。原始素材唯讀。
版本 1.0.1。元件及檔案指紋請見清單,驗證範圍請見記錄。安裝條件請見 README。樂譜排版由 Verovio 提供;第三方許可請見聲明。
環境與進入點
執行 python3 scripts/bootstrap.py,後續使用輸出的獨立 Python。scripts/score_sync.py doctor 檢查 POSIX、Python、Node、FFmpeg/FFprobe、Chromium 與編碼支援,不渲染。非標準瀏覽器路徑用 SCORE_SYNC_CHROME 指定。
.runtime/bin/python scripts/score_sync.py init \
--project /absolute/project/project.json \
--score /absolute/score.mxl --pdf /absolute/original.pdf \
--audio /absolute/recording.flac --title "作品名稱" --composer "作曲家"
每個樂章各提供 score/audio,PDF 可共用。整曲 XML 先按實際樂章拆分工作副本。補全演奏者、樂團、樂章名與編號;沒有編號則留空。格式請見專案介面,不要讓不懂樂理的使用者製作小節索引。
製作流程
- 核對譜源與路線。
prepare解析事件與原生譜面。逐頁查看 PDF,核對音符、休止、移調、節奏、裝飾音、連線與表情;有依據的修訂寫入獨立副本。實際反覆/跳轉寫入source_route,不假定全做或全省。譜源與結構說明身份與排譜限制。 - 對齊真實錄音。 預設
align使用refined多階段匹配,輸出候選、裝飾音證據與全攻擊節點稽核。檢查整條路線、快速織體、入口、變速、重複段尾聲;按錄音證據補充源身份限制,再更新受影響映射。對齊演算法提供公式與參數。coarse僅為舊候選診斷入口。 - 完善結構與畫面。 自行填寫兩級
structure.json、自然聲部段、materials.json、標籤與封面設定。跨樂器同材料沿用顏色,未知關係用主色。所有曲式內容來自當前作品,待完成項不能進入預覽。詳見視覺規範。 - 記錄真實複核。 當前譜源/錄音對應的
pdf-review.json與alignment-review.json由實際工作填寫。preflight檢查綁定、場景資料與封面設定,不啟動瀏覽器。譜源、路線、錄音或裁切變化使alignment-inputs.json失效,不能只改雜湊冒充新複核。 - 製作並審查預覽。 預設每章開頭 30 秒,另交實際高畫質幀、兩比例封面與審片 PDF。補查快速段、密集頁、轉場與實際最終編碼樣段。三名真實 agent 各看同一完整方案並交叉複核;並發不足可順次獨立審查,不偽造姓名或批准。按發現的問題修復覆查,不固定重複輪數。
- 確認後凍結渲染。 新專案預設交預覽確認,再用
approve --statement "實際確認原話"記錄授權並render。已有渲染授權的同任務用戶修正沿用原授權,更新受影響預覽/複核後,以approve --inherit --statement "實際修正指令"綁定新指紋。凍結後專注渲染,不自行改美術。 - 恢復與交付。 用戶暫停時只停本專案渲染,保留完整區塊,
resume續渲。必要檢查通過即交成片、封面與章節,不追加無期限審核。clean預設僅列快取,已授權時才clean --apply。交付規範說明音訊、章節、恢復與空間管理。
成片限制
- 預設 3840×2160、60fps、HEVC Main44410 MOV,原音訊無損封裝。音訊是唯一主時鐘,不歸一化、不變速、不剪尾音、不為整幀增加樂章間靜音。
- 無解說、課堂暫停、片段重播、MIDI 音軌、SRT、教學小標題、額外動機框或抽象裝飾;保留導航中的當前結構與簡短樂章標識。
- 實際演奏的來源可見音符具有可追蹤圖形綁定與完整高亮區間。符幹、附點、跨譜表關係保留,音符不變形。
- 自然小段中發聲過的聲部及跨段延音保留,不因一兩小節休止反覆隱藏。聲部邊界固定,同一 4 秒權重控制透明度與空間,不另啟動二次展開。
- 藍色垂直線固定,譜面橫向流動。主色與有限材料色持續跟隨音樂關係,不只按樂器換色。
- 雙層導航整體使用
navigation.py:當前標題、居中段落標籤、藍色當前段、短垂直指標、8px 紙色分隔及父子/樂章過渡。寬度與指標按實際錄音樣本計算。 - 字型僅用隨附思源宋體,原生音樂字形保留。封面從當前作品原生譜面摘取,兩比例獨立選段,類別文字可選,不使用其他作品譜面裝飾。
- 僅排版修正用帶身份、舊值與輸出驗證的
engraving_overrides/layout_overrides。ID 或幾何變化時重新檢查,不盲目移動舊座標。
最終 MOV 內嵌樂章名與起點,另交 B站章節.txt 與 chapters.json。邊界來自實際拼接 PCM 累計樣本,不能用譜面速度、估計時長或幀數代替。
適用邊界
自動對齊是候選。自由速度、重複織體、弱聲與被遮蔽裝飾音需證據複核,不宣稱一次自動得到逐樂器物理起音真值。校勘、結構與配色也不是自動完成的。
接受 partwise MusicXML/MXL;timewise、微分音、無固定音高為主與複雜刪改需先適配。混合取樣率與 attacca 邊界請見交付規範。只檢查程式碼/資料時,不呼叫 preview、covers、render 或 PDF 輸出。
通用本地參考快照介面可恢復使用者自己持有的已審資料。公開儲存庫不附帶具體作品快照;快照不能跨錄音套用,也不攜帶新用戶批准。