Communitygithub.com

AnayDhawan/openvidstudio-bgmusic

當影片需要自訂背景音樂,超越 openvidstudio 內建的兩組合成音軌時使用。搜尋兩個 CC0 公有領域目錄,匯入一首曲子,並將其塑造成背景音樂。

openvidstudio-bgmusic 是什麼?

此技能專為 openvidstudio 影片生成流程中的背景音樂需求而設計。它解決了內建音樂選項有限(僅有兩首合成音軌)的問題,讓使用者能從兩個大型 CC0 公有領域目錄中搜尋並匯入真實的音樂曲目。支援的目錄包括 'btahir/open-lofi' 的 166 首 lo-fi 曲目,以及 'SoundSafari/CC0-1.0-Music' 的約 9200 首曲目,所有曲目均無需標示出處,適合商業用途。執行流程包含搜尋、試聽、匯入與自動處理(修剪淡入淡出、標準化音量至 -20 LUFS),以及規劃音樂提示點。此技能也處理快取與版權追蹤,確保專案中使用的音樂來源可追溯。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/AnayDhawan/openvidstudio/tree/main/.agents/skills/bgmusic

在你喜歡的 AI 中提問

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

說明文件

bgmusic

從公有領域目錄中為影片找到真正的背景音樂,無需下載函式庫或標示出處。

當內建音樂已足夠時

public/sfx/ 已內建兩首背景音樂,且皆不需花費請求次數:

  • music-bed.mp3,一首 60 秒的環境無人機音效。適合簡短的技術示範影片。
  • pulse-bed.mp3,112 bpm,並附有精確的提示網格檔案 pulse-bed.cues.json。這是唯一一首節拍鎖定剪輯是精確而非估計的曲目,因為它是合成而非分析的。

當影片很短、以旁白為主,或音樂只需要不讓影片寂靜無聲時,請使用它們。當影片是發表或宣傳性質,且背景音樂需要承載情緒時,才需要進行搜尋。

兩個目錄

來源內容大小
lofibtahir/open-lofi,166 首 lo-fi 曲目,分為 10 個類別每首約 3MB
cc0SoundSafari/CC0-1.0-Music,約 9200 首曲目,來自 freepd、chosic、Free Music Archive、freesound 及 Pixabay每首 2-15MB

兩者皆為 CC0-1.0 授權。屬於公有領域,可商業使用,無需標示出處,也無需在影片描述中提及。這就是為什麼這兩個目錄被直接整合,而 plan_sound_effects 仍需手動引導使用者前往 Pixabay 尋找音效。

有一個值得明確提出的注意事項:這些曲目是由社群彙整,並依下架要求運作,因此每首曲目的 CC0 聲明是維護者的主張,而非您已閱讀過的授權條款。對於產品影片而言這沒問題,且來源檔案會記錄來源。若錯誤的授權會造成昂貴後果,請只使用 lofi,它只有單一作者、單一版本、單一授權聲明。

流程

find_music_bed -> [使用者試聽] -> import_music_bed -> plan_music_cues -> stitch_composition

1. find_music_bed

使用純粹的情緒或場景詞彙查詢:"calm focus coding"、"late night neon"、"warm upbeat"。會比對標題與類別。

首次呼叫會建立索引,約需七次 GitHub API 呼叫,快取於 output/music-index.json。後續搜尋僅為本地讀取。僅在目錄發布新版本時才傳入 refresh: true。

lofi 的類別是真實的中繼資料,因此 category: "ambient-lofi" 有效。Corpus 曲目則無類別:該處的曲目只是以來源網站命名的資料夾中的一個檔名。當無任何項目匹配時,工具會回傳一個樣本並設定 matchedQuery: false。這是一個訊號,表示應嘗試作曲家會放在標題中的字詞,而非放棄。

讓使用者挑選。 回傳三到五個候選項目及其標題與類別。音樂是品味問題,錯誤的背景音樂比錯誤的字型更引人注意。

2. import_music_bed

import_music_bed(id: "lofi:terminal-rain", out: "public/audio/music-bed.mp3", seconds: 45, start: 12)

除下載之外的功能:從 start 處修剪 seconds 長度、淡入淡出、並標準化音量至 -20 LUFS,使背景音樂位於旁白之下而非與之爭搶。傳入 raw: true 可跳過所有這些處理,保留曲目的原始樣貌。

放置位置:

  • public/audio/music-bed.mp3:用於組合的背景音樂。stitch_composition 會自動附加此路徑,因此無需更改其他設定。
  • public/imported_audios/(預設):用於其他任何目的,此資料夾存放非來自內建套件的素材。

它會在曲目旁邊寫入 <file>.source.json 及 MUSIC-SOURCES.md 的一行記錄:ID、標題、來源儲存庫、授權、日期。CC0 授權不要求這些記錄,但這麼做是為了讓一年後,背景音樂的來源可以透過讀取檔案得知,而非憑猜測。

使用 start 跳到曲目的中間部分。前奏通常是最不實用的部分,且從強拍開始的背景音樂無需編輯就能感覺有設計感。

3. plan_music_cues

對匯入的檔案呼叫此功能。對於非 pulse-bed.mp3 的任何曲目,網格是根據起始包絡估計的,因此請將其視為規劃指引:將少數主要揭露點對齊 strongCues,而非每個剪輯點。docs/STYLE.md 中有容許誤差範圍。

成本與限制

  • 無任何內容被供應商鎖定。open-lofi 僅將其曲目發布在一個 554MB 的發布版壓縮檔中,因此匯入時會透過 HTTP 範圍請求讀取該壓縮檔的中央目錄,並僅拉取所選成員的位元組。這 554MB 從未被完整下載。
  • 塑形背景音樂需要在 PATH 環境變數中有 ffmpeg。使用 raw: true 則不需要。
  • GitHub 未驗證的 API 限制為每小時 60 次請求。建立一次索引約花費七次。若機器頻繁重建索引,請設定 GITHUB_TOKEN。
  • 索引快取位於 output/ 目錄下,此目錄已在 scaffolded 專案中被 gitignore。

不應做的事項

  • 不要將整個目錄提交到專案中。一個影片配一首背景音樂是這裡的單位。
  • 不要將曲目放入 public/sfx/。該資料夾是隨套件提供的內建套件,且 public/sfx/CREDITS.md 說明了其內容及為何不帶任何條款。
  • 不要將此用於音效。plan_sound_effects 會先檢查內建套件,然後才進行搜尋,這對於音效來說是正確的順序。

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

相關技能