Communitygithub.com

sfx-library

834個のサウンドエフェクト(63カテゴリ、約1GB)を収録したライブラリ。日本語と英語で意図に基づいてSFXを検索し、長さでフィルタリングし、ffmpegで動画に合成できます。ユーザーが「効果音を探す」「サウンドエフェクトを追加」「トランジションSFX」「通知音」「動画に効果音を挿入」などと依頼した際に起動します。

sfx-library とは?

このスキルは、AIエージェント(Claude Code、Cursor、Codexなど)が動画編集時にサウンドエフェクト(SFX)を検索・選択・合成するための包括的なツールです。834個のファイルが63カテゴリに整理され、合計約1GBのデータを持ちます。日本語と英語の両方で意図に基づいた検索が可能で、`sfx find`コマンドでキーワードからSFXを探し、`--max-dur`や`--group`オプションで長さやカテゴリを絞り込めます。また、`sfx mix`コマンドを使い、ffmpeg経由でSFXを動画の特定のタイムコードに合成でき、音量調整やノーマライズもサポートします。このスキルは、ユーザーが「効果音を探して」「動画に音を追加して」と依頼した際に自動で呼び出され、検索結果の提示や合成処理をエージェントが実行します。データはGoogle Driveまたはカタログ内のURLから一度だけダウンロード可能で、`sfx setup`でセットアップします。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/tinhthanh/sfx-library-skill/tree/HEAD

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

サウンドエフェクトライブラリ

834ファイル / 63カテゴリ / 約1GB。 唯一のエントリポイント: スクリプト sfx はこのSKILL.mdファイルと同じディレクトリにあります。スクリプトは自身のパスを自動的に特定するため、フルパス指定でどこからでも実行できます。以下の例では簡略化して sfx と記述しています。

ステップ0 — データがすでにあるか確認

リポジトリにはコードとカタログのみ含まれています。音声ファイルは data/ にあります(コミットされていません)。

sfx status

「Chua co du lieu(データがありません)」と表示されたらデータを取得します — 一度だけ、約1GB、ダウンロード前にユーザーに通知してください:

sfx setup

setup は以下の優先順位に従って自動的に実行されます。順序を入れ替えないでください:

  1. まずGoogle Drive — 1つの.zipファイル(約880MB、約1分)をダウンロードし、sha256を照合してから解凍します。
  2. カタログ内の既存URLがフォールバック — Driveが失敗した場合のみ使用します(404、ファイルが公開共有されていない、ダウンロード制限超過、sha256不一致)。その場合、setup は自動的に catalog/source/*.json 内のURLからファイルを個別にダウンロード(順次、約18分)し、catalog/meta.json のsha256と照合します。

必要なのは python3(≥ 3.8)のみで、追加のインストールは不要です。途中で中断された場合は sfx setup を再実行してください — 最初からやり直すことなく続きからダウンロードします。フォールバックステップは低速です: バックグラウンドで実行し、ユーザーに待ち時間を伝えてください。

ユーザーから明示的に要求された場合のみ、直接 sfx setup --source を呼び出してください(Driveをスキップ)。

setup が「Ca hai nguon deu that bai(両方のソースが失敗しました)」と報告した場合は、sfx doctor を実行してユーザーに報告してください — 他の音源を探して代用しようとしないでください。

SFXを検索 — 覚えるべき唯一のコマンド

sfx find "<キーワード>"

日本語(かな・漢字)、ローマ字、英語のいずれで入力しても同じ結果が得られます — 比較前にアクセント記号などは除去され、各カテゴリにはあらかじめ多言語のキーワードセットが用意されています。

sfx find "トランジション"          # 意図に基づく検索
sfx find "通知" --max-dur 2
sfx find whoosh --group transition
sfx find --group impact --max-dur 1.5
sfx find riser --min-dur 3 --max-dur 5

結果には 長さ(秒) が表示されます — タイムラインにSFXを合わせる際に最も重要な情報です。

フラグ使用場面
--max-dur N / --min-dur Nタイムラインの空き時間に合わせて長さを制限
--group <グループ>意図全体をブラウズ(下記のグループ表を参照)
--category <スラッグ>カテゴリが正確にわかっている場合
--ext wavwav(またはmp3)のみ取得
--pathsパスのみを1行1ファイルで出力 — 他のコマンドに直接渡す
--json機械可読な出力、duration、sha256、score を含む
--abs絶対パス — 別のディレクトリから sfx を呼び出す際に使用
-n N / --all結果の数(デフォルト20)

複数ワードのクエリはデフォルトで AND 検索です。全ワードに一致するファイルがない場合は自動的に OR に緩和され、その旨がstderrに明示されます。

何を使えばよいかわからない場合 → sfx list ですべてのカテゴリとその「使用場面」、キーワードを表示します。

意図に基づく10のグループ

最初にグループを選択し、その後でフィルタリングします — カテゴリ名を推測するより高速です。

グループ使用場面代表的なカテゴリ
transition2つのシーンを接続fast-whoosh swoosh-swish whip zoom reverse
impactアイデアを決める、数値を表示hit boom impacts slam bass
uiテキスト表示、ボタンクリック、キー入力pop click typing ui-mini tick shine
alert通知、リマインダーnotification ding bell alarm
tensionクライマックス前の盛り上げriser builder braam tension trailer
ambienceシーン全体に広がる背景音ambience environment
foley実在する物体の音paper doors footsteps liquid draw camera-shutter
comedyユーモアcomedy-cartoon memes
scifiテクノロジー、ファンタジーtechnology glitch laser magic data
horrorホラーhorror jumpscare

選択前に試聴

スラッグ名 だけでは ファイルの実際の音を推測するのに不十分です。whoosh-fast-05 と whoosh-fast-06 ではニュアンスがまったく異なる場合があります。

afplay "$(sfx find whoosh --paths --abs -n 1)"     # macOS; Linux: ffplay -nodisp -autoexit

試聴できない(ヘッドレス環境で実行中)場合は、長さ情報を含む2〜3の選択肢をユーザーに提示し、選択を仰いでください。自分で決定して「これが合う」と断言しないでください。

SFXを動画に合成

sfx mix video.mp4 -o with-sound.mp4 \
    2.4:fast-whoosh/whoosh-fast-05.wav \
    5.0:ding/[email protected]

各キューは <秒>:<パス>[@音量] の形式です。パスは data/sfx/ からの相対パス、または重複がなければファイル名のみでも指定可能です。デフォルトの音量は 0.6 です。ffmpeg が必要です。

  • 動画に既存の音声は保持され、一緒にミックスされます — 上書きされません。ナレーションを合成した後に sfx mix を実行しても安全です。
  • amix=normalize=0 + alimiter を使用: キューを追加しても元の音量が小さくなったり、複数の音源が重なっても音割れしません。
  • --dry-run で実際のffmpegコマンドを出力するので、他のスクリプトに組み込む場合に便利です。

HTMLからレンダリングした動画(Playwright/Puppeteer/Remotion による画面収録): ページ内の <audio> タグや new Audio().play() はブラウザで表示した場合にのみ再生され、キャプチャしたMP4ファイルには含まれません。アニメーションのタイムラインからタイムコードを取得し、sfx mix でffmpegステップにSFXを合成してください。

動画の音声をプロフェッショナルにする3つのポイント:

  1. SFXはタイムラインの空き時間より短くすること — 後でカットする代わりに、最初から --max-dur でフィルタリングします。
  2. SFXはシーンの先頭ではなく、動きが発生するフレームに正確に配置すること — whooshはオブジェクトが動き始める瞬間になければなりません。
  3. SFXをナレーションと重ねないこと。 ナレーションがある場合は @0.3 に音量を下げるか、ui-mini カテゴリを使用します。

よくある3つの間違い

  1. data/ をコミットしないでください — 約1GBで、gitignoreされています。sfx setup で再取得します。
  2. data/sfx/ 内のファイルを編集しないでください。 それらはオリジナルです。カットや音量の正規化が必要な場合は、別の場所に出力してください。
  3. 初回データ取得に直接 sfx download を呼び出さないでください。 834ファイルを個別にダウンロードするため低速で、フォールバック用です。常に sfx setup を呼び出し、Google Driveが優先的に試行されるようにしてください。

問題が疑われる場合の確認: sfx doctor(ツールとデータソースの確認)、sfx verify --hash(各ファイルのsha256を再計算)。

ライブラリのメンテナンス(カテゴリ追加、再パッケージ化、Driveリンクの変更): README.md を参照してください。

関連スキル