mcpField
D
demusic

demusic

ローカル
dawnwood.aiメディア・デザイン01 週間前に更新

demusic について

demusicは、AI生成動画からBGMを検出して除去するローカルCLI兼MCPサーバーです。検出した区間だけを置き換え、会話や効果音、環境音を保ち、対象外の音声と映像ストリームは変更しません。

主な機能

  1. 01音楽が含まれる区間の検出
  2. 02検出区間のみを置換
  3. 03会話と歌声の保持
  4. 04ローカルDemucsまたはfal.aiで分離
  5. 05一括処理とJSON出力

活用シーン

  1. 01生成動画のBGM除去
  2. 02CIパイプラインでの音楽チェック
  3. 03編集前の動画フォルダー一括処理

MCP 対応

MCPサーバーは読み取り専用の検出ツール`check_music`と、入力を上書きせず処理済みコピーを作成する`remove_music`を提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"dawnwood-ai-demusic": {
"command": "uvx",
"args": [
"demusic"
],
"env": {
"DEMUSIC_SEPARATOR": "<DEMUSIC_SEPARATOR>",
"FAL_KEY": "<FAL_KEY>",
"DEMUSIC_FFMPEG": "<DEMUSIC_FFMPEG>"
}
}
}
}
起動コマンドuvx demusic
設定が必要な環境変数
DEMUSIC_SEPARATORdemucs (local, needs demusic[demucs]) | fal (needs FAL_KEY) - default demucs
FAL_KEYシークレットOptional: your fal.ai key when DEMUSIC_SEPARATOR=fal
DEMUSIC_FFMPEGPath to ffmpeg (default: ffmpeg on PATH)

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypidemusic0.1.0

ツール

2

掲載時のツール一覧 · 1 週間前に更新

パラメーター型必須説明
pathstringはい
thresholdnumberいいえ

詳細

demusic

tests License: Apache-2.0 MCP server

demusic は、AI 動画モデル(Seedance、Kling、Veo、Hailuo、 Wan など)が生成クリップに組み込む背景音楽を除去し、セリフ、効果音、環境音を残します。 音楽がある「箇所」を検出して、その部分の音声だけを置き換えるため、クリップの残りの部分は そのままです。ローカルで無料、CLI + MCP サーバーに対応しています。

中国語版を読む · 検出の仕組み

理由

ネイティブ音声対応の動画モデルは、求めていないBGMを追加することがよくあります。ショットの冒頭に数秒の音楽が入ったり、 セリフの下にパッド音が重なったりします。そのようなクリップを10本つなげると、 10曲が互いにぶつかり、自分の音楽を重ねられなくなります。

一般的な解決方法である、ボーカル除去を実行してボーカルだけを残す方法では、音楽と一緒に足音、 ドアの音、雨音、部屋の環境音まで失われます。また、そもそも音楽がないクリップにも適用してしまいます。demusic は、Dawnwood で制作するAIドラマのすべてのクリップに使用しているツールです。

  1. 分離:音声をステムに分離します(Demucs htdemucs_6s、ローカルまたは fal キーを使用)。
  2. BGMとして十分な音量か? メロディーのステムが聞こえる音量(> -50 dBFS)である必要があります。
  3. 実際に音楽か? AudioSet 分類器が伴奏に2秒以上の音楽を検出する必要があります。エンジン音、銃声、部屋の環境音は手順2を通過しますが、この手順では除外されます。
  4. 該当箇所だけを除去:その部分の音声をセリフ+打楽器音/衝撃音に置き換え、0.25秒のクロスフェードを適用します。それ以外の部分では元の音声がそのまま残ります。映像はストリームコピーされます(再エンコードなし)。

意図的に保守的な検出を行います。音楽のない164本のクリップでは誤検出は2本、耳で確認して人が音楽ありと判定した87本のクリップでは33本を検出しました。検出できないのは音量が非常に小さいBGMです。音楽があると分かっているクリップでは、--threshold を下げるか --mode force を使用してください。 調整の詳細。

インストール

Python >= 3.10 と、PATH 上の ffmpeg が必要です。

pip install "demusic[demucs]"     # local separation (pulls in PyTorch; CPU is fine)
# or, no torch, separation on fal.ai with your own key:
pip install "demusic[fal]" && export FAL_KEY=...

音楽分類器(約90 MBのONNX、BSD-3)は、~/.cache/demusic に一度だけダウンロードされます。

クイックスタート

# where is the music?
demusic check shot_012.mp4
# shot_012.mp4: MUSIC  spans 0-2.8s  melodic -42.1 dBFS  p=0.34

# write shot_012.demusic.mp4 with the music removed
demusic strip shot_012.mp4

# a whole folder; clean copies of every file (unchanged ones copied) into clean/
demusic strip renders/*.mp4 --out-dir clean/
option意味
--separator demucs|fal|DIRローカルのDemucs(デフォルト)、FAL_KEY を使った fal.ai、または分離済みのステムが入ったフォルダー(vocals.wav、drums.wav、bass/guitar/piano/other.wav または music.wav)
--mode spans|whole|force音楽が検出された箇所だけを置き換える(デフォルト)/音楽が検出された場合はトラック全体を置き換える/検出せずに常に置き換える
--threshold 0.3分類器の音楽確率。0.2 にすると、誤検出率は高くなりますが、より音量の小さいBGMを検出します
--loud-floor -50メロディーのステムの音量ゲート(dBFS)
-o FILE / --out-dir DIR1ファイルの出力先/バッチ処理の出力先
--jsonstdout に1つのJSONオブジェクトを出力します(files[] に music、spans、melodic_dbfs、strength、action、output を含みます)

終了コード:0 正常(check の場合、音楽なし)、1 check で音楽を検出、2 使用方法、3 失敗。 CI またはレンダリングパイプラインで demusic check を実行すると、クリップにBGMがある場合にビルドを失敗させられます。

速度:分離処理はノートPCのCPUでおおむねリアルタイムです(10秒のクリップで約10~20秒)。GPUでははるかに高速になります。 検出処理自体は数百ミリ秒です。

Python

from demusic.core import process
r = process("shot.mp4", "shot.clean.mp4")          # strip
r = process("shot.mp4", strip=False)                # check only
print(r["music"], r["spans"])

AI エージェント(MCP)

claude mcp add demusic -- demusic mcp            # Claude Code
# or any MCP client: command "uvx", args ["--from", "demusic[demucs]", "demusic", "mcp"]

ツール:check_music(読み取り専用)と remove_music(新しいファイルを書き込み、入力ファイルを上書きしません)。fal を使用するには、サーバー環境で DEMUSIC_SEPARATOR=fal を設定してください。 Claude スキルと AGENTS.md もあります。

制限事項

  • シーン内にあることが意図された音楽(画面上のバンドやラジオなど)も、検出されると除去されます。そのようなクリップはスキップしてください。
  • 除去された範囲内では、非打楽器系の効果音(水道の蛇口から流れる水、風など)も音楽と一緒に除去されます。Demucs には個別の効果音ステムがありません。範囲外では何も変わりません。
  • 歌声はボーカルステムに入るため、残ります。

クレジット

Apache-2.0。demusic は各出力ファイルのcommentタグにcleaned with demusic by Dawnwoodを書き込みます。時間の節約になった場合は、その記載を残し、「demusic by Dawnwood」と記載してください。これはお願いであり、利用条件ではありません(NOTICEを参照)。

Dawnwoodが開発しました。Dawnwood は AI ドラマスタジオです。制作で使用しているその他のツール:dramapack(ショートドラマの納品パックと QC) · オープンソースプロジェクト一覧。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。