Communitygithub.com

Scorewright

為影片創作並製作原創配樂:觀看並標記影片、選擇音樂身份(曲風、調式、BPM、樂器、主題動機)、撰寫 score.json、使用 FluidSynth 與 GeneralUser GS 音色庫渲染真實樂器、透過程式碼合成聲音與音效設計,在旁白下進行混音(音訊閃避+語音衰減、背景音量低於人聲)並交付分軌、MIDI、預覽與品質檢查。

Scorewright 是什麼?

Scorewright 是一項專為 AI 代理(如 Claude Code)設計的技能,能為影片創作完整的原創配樂。它模擬了專業電影配樂工作流程:AI 代理先分析影片(時長、剪輯點、語音區域),接著「觀看」畫面與時間軸文字,從而制訂配樂點(cue)表格,決定何時要有音樂、何時靜默更好。然後為每個配樂點選擇音樂身份(曲風、調式、BPM、樂器與主題動機),並將所有創意決策寫入 `score.json` 檔案。最後透過一個 Python 工具呼叫 FluidSynth(搭配 GeneralUser GS 音色庫)來渲染真實樂器聲,或利用「音效即程式碼」(audio-as-code)合成器來製作電子聲響與音效設計。混音時會自動偵測語音區段,對背景音樂進行側鏈壓縮(ducking),讓旁白始終清晰。最終輸出包含完整分軌、MIDI 檔案、預覽音檔、以及一份 `qc.json` 品質檢查報告。此技能支援 macOS / Linux / Windows,特別適合需要原創配樂的旁白解說片、短片或紀錄片,且完全不需要任何現成的音樂素材庫。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/jayaprakash-pixel/scorewright/tree/HEAD

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

Scorewright - Claude 作曲,工具來渲染

第零條規則: Claude 在 score.json 中做出所有創意決定,並寫下理由(direction、cue 的 why)。腳本沒有預設風格、BPM、調式或進行。切勿重複使用上一次的配樂當作模板;每次從影片重新開始。

PY = 已安裝 requirements.txt 的 Python 3.10+ 環境。SW = <此資料夾>/scripts/scorewright.py。 在機器上首次渲染之前,請執行 PY SW doctor。如果顯示「MISSING」,請依照 README.md > 安裝步驟操作,然後停下來告知使用者。

操作手冊(快速入門)

#步驟指令 / 動作完成條件
0檢查PY SW doctor顯示 ready
1事實PY SW analyze <video> <work> --words <words.json>(或 --voice)產生 facts.json(時長、剪輯點、語音區域、時間軸文字)+ contact.jpg
2觀看閱讀 contact.jpg(tile i = t i*step)與時間軸文字;閱讀腳本/分鏡表(如有)能說出訊息、觀眾感受、情緒弧線
3標記編寫標記表:cue 進/出點、重點時刻(字詞時間點、揭露點、轉折點)、何處留白更好、各段落的情緒(主情緒 + 次情緒 + 強度)每個 cue 開始 / 重點時刻都是已測量的時間
4方向選擇音樂身分並附上理由:曲風融合、調式、各 cue 的 BPM、音色調色盤、主題動機(+ 如何變化)、動態弧線。參考 references/craft.md寫入 direction
5配樂撰寫 score.json(參考 references/score-format.md、範例 examples/bed_demo.json)。每個 cue 從其重點時刻開始;使用 s:<秒數> 將音符置於對應字詞上;PY SW fit <times> 只用來在單一 cue 內測試一個速度有效的 JSON
6渲染PY SW render score.json <out>產生分軌、完整混音、無打擊樂版、composition.mid、預覽檔、SCORE_NOTES.md、qc.json、spectrogram.png
7QC閱讀 qc.json + spectrogram.png;修正錯誤並重新渲染(每個版本使用新的輸出資料夾)所有 checks 為 true;每個重點時刻的 rise_db >= 3;無預期外的靜音
8聆聽使用者收聽 preview_with_voice.mp3。Claude 無法聽:告知此限制、回報數據、詢問需要修改之處使用者批准
9交付將 full_soundtrack.wav(已比原始人聲低 X LU,直接以 0 dB 放入)或分軌交給使用者的剪輯軟體-

首要決定:襯底配樂(Bed)還是完整配樂(Score)

  • 解說片 / 有旁白的影片(語音幾乎連續)= 襯底配樂。 沒有旋律、沒有主題動機、語音下方沒有曲調。使用脈動、織體、緩慢和聲、僅用低音。能量在段落邊界處變化;在真正的重點時刻有 2-3 個重音/淡入淡出;音樂身分來自音色/節奏,而非曲調。只有在完全沒有語音的地方(第一句話之前的開場、最後一句話後的最後 1-2 秒)才使用簡短的旋律。
  • 有真正無語音段落的影片 / 紀錄片 = 完整配樂。 主題動機和旋律存在於那些空隙中。
  • 在解說下放旋律等於第二個聲音:觀眾必須選擇聽哪一個,結果解說會失去焦點。

注意事項(DO)

  • 靜默、克制與對比也是工具。不是每部影片都需要從頭到尾有音樂。
  • 每個核心概念使用一個主題動機;在故事轉折處發展它(轉位、增值、重新和聲、改變一個音符)。
  • 在密集解說下減少音樂密度;讓音樂在語音空隙和純視覺時刻發聲。
  • 每個音軌的引擎選擇:gm 用於真實樂器(鋼琴、弦樂、銅管、木管、合唱、打擊樂器),aac 用於合成器 / 音效設計的聲音(速度慢:約為 gm 的 10 倍;只用於少數、稀疏的音軌;選擇性),sfx 用於重點時刻的衝擊聲/漸強/低音下行。
  • 襯底配樂的 bed_lu_under_voice:11(充滿活力)至 12.6(平靜),以語音區段為測量範圍——腳本會精確設定此值。
  • 新版本 = 新的輸出資料夾;切勿覆寫已批准的渲染結果。

禁止事項(DON'T)

  • 禁止出現嗖聲、呼嘯聲、翻頁聲。riser/swell 是音調漸強,請節制使用。
  • 禁止抄襲現有旋律、可辨識的主題或參考曲目的編曲。
  • 禁止每部影片使用相同的 BPM / 調式 / 和弦進行;禁止使用音量大小代替情緒。
  • 沒有視覺或故事理由就不使用音效;音效不得大於旁白音量。

已知限制(經測試)

  • GM SoundFont 管弦樂是良好的模擬,而非 Spitfire/Kontakt 的真實感。獨奏鋼琴、pad、撥弦、撥奏與合成器表現最佳。
  • 每個 cue 只有一個速度(變速 = 新的 cue)。composition.mid 使用絕對時間,並以第一個 cue 的速度為基礎。
  • 音效即程式碼渲染速度較慢(全 aac 的 76 秒配樂:在 Ryzen 5 5600H 上約需 8 分鐘;混和配樂約需 50 秒)。
  • Claude 無法聆聽;QC 數字 + 頻譜圖 + 使用者耳朵是反饋循環。

相關技能