Audacitymcp について
AudacityMCP は、MCP に対応した AI アシスタントから Audacity を操作し、音声の編集、クリーンアップ、マスタリング、文字起こしを行う MCP サーバーです。Audacity の名前付きパイプを通じてローカルで動作し、クラウドサービスや音声処理用の API キーは不要です。Audacity 4 は必要なスクリプト用インターフェースが削除されたため、対象は Audacity 3.x です。
主な機能
- 01名前付きパイプによる Audacity のローカル操作
- 02エフェクト、編集、インポートとエクスポートをカバーする 144 のツール
- 03ポッドキャスト、音楽、オーディオブック向けの 9 つのワンクリックパイプライン
- 04文字起こしによるラベルと字幕ファイルの生成
- 05音声解析による適切なパイプラインの提案
活用シーン
- 01自然言語の指示によるポッドキャストやインタビュー録音のクリーンアップ
- 02ACX の要件に合わせたオーディオブック音声の処理
- 03音声へのラベル付けと SRT または VTT 字幕のエクスポート
MCP 対応
本プロジェクトは MCP サーバーであり、Claude Desktop、Claude Code、Cursor などの MCP クライアントに Audacity の編集ツールとパイプラインを公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
AudacityMCP
Model Context Protocol を通じて、Audacity で AI を活用したオーディオ編集を実現
クイックスタート • AudacityMCP を選ぶ理由 • パイプライン • ツールリファレンス • トラブルシューティング
AudacityMCP は、MCP に対応したあらゆる AI アシスタントを Audacity に接続し、エフェクト、ノイズ除去、マスタリング、文字起こしなど、144 種類のツールを使ってオーディオ編集を完全に制御できるようにします。AI アシスタントに話しかけるだけで、リアルタイムにオーディオを編集できます。
クラウド不要。オーディオ処理用の API キーも不要です。すべて Audacity の名前付きパイプインターフェースを通じてローカルで実行されます。
このツールが役に立ったら、スターを付けてほかの人にも見つけてもらいましょう — これがこのプロジェクトの唯一のマーケティング予算です。メンテナンスの継続を支援したい場合は、上部の Sponsor バッジをクリックしてください。
デモ
互換性: AudacityMCP は Audacity 3.x で動作します。Audacity 4 では、このサーバーが操作するスクリプトインターフェース
mod-script-pipeが削除され、代替機能も提供されていないため、AudacityMCP で Audacity 4 を制御することはできません。Audacity 4 をお使いですか? 関連プロジェクトの Audacity4-MCP があります。TCP JSON-RPC ブリッジを介した 159 種類のツールで、編集、選択、ラベル、破壊的エフェクトとリアルタイムエフェクト、VST3 パラメーターのライブ制御に対応しています。
まだ初期アルファ版であり、セットアップについて明確にしておく必要があります。Audacity 4 にはまだリモート制御インターフェースがないため、ソースからビルドした Audacity 4 のコンパニオンフォークが必要です(Visual Studio、Qt 6.10、CMake、Ninja)。そのため、現時点では一般向けというより開発者向けです。Audacity のメンテナーは、内部移行の完了後に公式のコマンドおよび MCP インターフェースを提供する予定だと確認しています。これが実現すれば、フォークは不要になるはずです。
対応クライアント
AudacityMCP は、Model Context Protocol に対応したあらゆる AI クライアントで動作します。
- Claude Desktop — Anthropic のデスクトップアプリ
- Claude Code — コマンドラインエージェント
- Cursor — MCP に対応した AI コードエディター
- その他の MCP 対応クライアント
クイックスタート
1. AudacityMCP を入手する
方法 A: 上の緑色の Code ボタンをクリック → Download ZIP → フォルダーに展開
方法 B: git でクローン:
git clone https://github.com/xDarkzx/Audacity-MCP.git
2. インストーラーを実行します(その他の設定はすべて自動で行われます)
Windows: エクスプローラーで install.bat をダブルクリックするか、上記の git clone の手順ですでにターミナルを開いている場合は、同じ PowerShell/コマンドプロンプトのウィンドウでそのまま続けます。
cd Audacity-MCP
.\install.bat
macOS/Linux:
cd Audacity-MCP
bash install.sh
インストーラーは次の3つを行います。このローカルフォルダー(ダウンロード/クローンしたばかりのフォルダー)から
audacity-mcpをインストールします(PyPI や GitHub からの取得はありません)。Audacity で mod-script-pipe を有効にし、Claude Desktop を設定します。手動で JSON を編集する必要はありません。どちらの設定ファイルを変更する場合も事前に確認を求め、実行する内容をあらかじめ正確に説明し、既存のファイルは変更前に必ずバックアップします。何も変更せずに処理内容を確認したい場合は、--dry-runを追加します。.\install.bat --dry-run/bash install.sh --dry-run。注:
install.bat/install.shはこのフォルダー内から実行する必要があります。スクリプトと同じ場所にあるコードだけをインストールし、それ自体で何かをダウンロードすることはありません。
その他の MCP クライアント(Cursor、Claude Code など)
Claude Desktop 以外を使用する場合は、pip install audacity-mcp-server で手動インストールし、クライアントの MCP 設定に次の内容を追加します。
{
"mcpServers": {
"audacity": {
"command": "audacity-mcp"
}
}
}
設定ファイルの場所については、クライアントの MCP ドキュメントを確認してください。
クライアントが
audacity-mcpを見つけられない/実行できない場合: GUI アプリでは、ターミナルと同じ PATH が常に使われるとは限りません。python -c "import sysconfig; print(sysconfig.get_path('scripts'))"を実行し、表示されたフルパス(Windows では末尾に\audacity-mcp.exe、macOS/Linux では/audacity-mcpを追加)を"command"として指定し、単独のコマンド名は使わないでください。
スクリプトを実行せずに設定したい場合:すべて手動で設定
install.bat/install.sh は使わず、システムに対する自動変更もありません。次の3つの手順をすべて手動で行います。
-
Audacity で mod-script-pipe を有効にします:編集 → 環境設定(Windows/Linux)または Audacity → 環境設定(macOS)→ モジュール →
mod-script-pipeを「有効」に設定 → OK → Audacity を再起動します。 -
パッケージをインストールします:ターミナル(Windows ではコマンドプロンプト/PowerShell、macOS/Linux ではターミナル)を開き、
pip install audacity-mcp-serverを実行します。通常の PyPI インストールなので、リポジトリのクローンは不要です。 -
Claude Desktop を設定します:Claude Desktop を開き、設定(歯車アイコン)→ Developer タブ → Edit Config を選択します。テキストエディターで
claude_desktop_config.jsonが開きます。すでに設定済みの他のサーバーはそのまま残し、"mcpServers"ブロック内に次の内容を追加します。{ "mcpServers": { "audacity": { "command": "audacity-mcp" } } }ファイルを保存し、Claude Desktop を完全に再起動します(ウィンドウを閉じるだけでなく、システムトレイから終了してください)。
これでインストールは完了です。同じ手順の詳しい説明と OS ごとの注意事項については、インストールガイドを参照してください。
再起動後も
"audacity"がツールとして表示されない場合: 上記の"command": "audacity-mcp"は、Claude Desktop 自身が使う PATH にそのコマンドが含まれている場合にのみ機能します。必ずしもそうとは限りません(特に、Python をインストールしたときに Claude Desktop がすでに起動していた場合)。接続できない場合は、ターミナルでpython -c "import sysconfig; print(sysconfig.get_path('scripts'))"を実行して、実際のインストール先を確認します。表示されたフルパスに\audacity-mcp.exe(Windows。各バックスラッシュを2つにする必要があるため、\\と入力します)または/audacity-mcp(macOS/Linux)を追加したものを、上記の"audacity-mcp"に置き換えてください。
3. 編集を始めます
Audacity を開いて音声を読み込み、AI に話しかけます。
"Clean up this podcast recording"
"Master this track for Spotify, it's EDM"
"Transcribe this and add labels at each sentence"
"Add reverb with a large room, then export as FLAC"
先に Audacity を起動しておく必要があります。 AudacityMCP は Audacity の名前付きパイプを介して通信するため、Audacity を起動することはできません。
すべてのプラットフォームと MCP クライアントでの詳しい設定については、インストールガイドを参照してください。
AudacityMCP を使う理由
AudacityMCP を使わない場合: メニューを手動で操作し、耳で確認しながらエフェクトのパラメーターを調整し、エフェクトを一つずつ適用して、ACX の仕様を調べ、納得のいく音になるまで繰り返します。
AudacityMCP を使う場合: やりたいことを自然な英語で伝えるだけで、あとは AI が処理します。適切なエフェクトを選び、業界標準のパラメーターを設定して、処理を連続して適用します。
| Audacity を手動で操作 | AudacityMCP を使用 | |
|---|---|---|
| ポッドキャストのクリーンアップ | 複数のメニューにまたがる 5 つ以上の手順。コンプレッサーの設定も手探りです | 「このポッドキャストをクリーンアップして」 — 一文で完了 |
| 音楽のマスタリング | ジャンルに適した EQ/コンプレッションを調べて、一つずつ手動で適用します | 「これを Spotify 向けにマスタリングして。ヒップホップです」 — ジャンルに合わせて調整されたプリセット |
| ノイズ除去 | エフェクト → ノイズの低減 → プロファイルを取得 → すべて選択 → 適用 | 「背景のノイズを除去して」 — プロファイルを自動作成 |
| バッチ処理 | 操作のたびにメニューを繰り返し操作します | 一連の処理を伝えるだけで、実行を確認できます |
| 文字起こし | 音声を書き出して外部ツールを使い、結果をインポートし直します | 「これを文字起こししてラベルを追加して」 — Audacity 内で完結 |
| 習得の難しさ | どのエフェクトがあるか、どのパラメーターを使うかを知っている必要があります | 望む結果を説明するだけです |
AudacityMCP は、特に次のような方に役立ちます。
- ポッドキャスター:音響エンジニアリングの知識がなくても、一貫したプロ品質のサウンドを実現したい方
- ミュージシャン:ジャンルに適した設定ですばやくマスタリングしたい方
- コンテンツクリエイター:インタビュー、ナレーション、フィールド録音を扱う方
- どなたでも:メニューをクリックして回るより、やりたいことを伝えたい方
何ができますか?
You: "Clean up this podcast recording"
AI: Runs auto_cleanup_podcast → HPF 80Hz → noise reduction → compression → safe loudness check
You: "Master this track for Spotify, it's EDM"
AI: Runs auto_master_music style=edm → HPF 30Hz → click removal → compression 2.5:1 → bass +2dB → loudness check
You: "This is a noisy live recording, fix it up"
AI: Runs auto_cleanup_live → HPF 100Hz → click removal → noise reduction 18dB → compression 5:1
You: "Transcribe this interview and add labels"
AI: Runs transcribe_to_labels → faster-whisper transcription → Audacity labels at each timestamp
You: "Add reverb to the vocals, then export as FLAC"
AI: select region → reverb effect → export to FLAC
機能
11 カテゴリーにわたる 144 個のツール
| カテゴリー | ツール数 | 主な機能 |
|---|---|---|
| エフェクト | 30 | リバーブ、エコー、ピッチシフト、テンポ変更、EQ、フェイザー、ディストーション、Paulstretch、HPF/LPF、低音と高音、トレモロ、ワウワウ |
| クリーンアップとマスタリング | 18 | ノイズ除去、コンプレッサー、リミッター、ワンクリックパイプライン 9 種類、分析ツール |
| 編集 | 13 | カット、コピー、ペースト、分割、結合、トリミング、無音化、複製、元に戻す、やり直す |
| プロジェクト | 12 | 新規作成、開く、保存、インポート/エクスポート(WAV、MP3、FLAC、OGG、AIFF) |
| トラック | 15 | モノラル/ステレオの追加、削除、プロパティの設定、ミックスとレンダリング、ミュート/ソロ、パン、音量 |
| 選択 | 12 | すべて/なし/範囲/トラックの選択、ゼロクロッシング、カーソル位置の指定 |
| 再生操作 | 7 | 再生、停止、一時停止、録音、範囲を再生、位置の取得 |
| 分析 | 6 | コントラスト、クリッピング検出、スペクトラム、ビート検出、サウンドラベリング |
| 生成 | 5 | トーン、ノイズ、チャープ、DTMF、リズムトラック |
| 文字起こし(実験的機能) | 7 | 全体/選択範囲の文字起こし、ラベルへの変換、SRT/VTT/TXT への変換、モデルの事前読み込み |
| ラベル | 19 | 一覧表示/検索/編集/削除、インデックスによるラベル付きテイク 1 件の音声削除、一括追加、ラベル付き範囲のカット/削除/無音化、マーカーのエクスポート(simple/cue/Podlove)、セグメントごとの音声エクスポート、インポート/エクスポート |
パイプライン
AudacityMCP には、よく使われる音声処理向けのワンクリックパイプラインが 9 種類用意されています。各パイプラインは、録音状態が悪い音声でも安全に処理できるように設計されています。音量を危険なレベルまで上げることはありません。パイプラインで音声をクリーンアップして改善したあと、必要に応じて音量を手動で調整できます。
パイプラインの仕組み
- AI にやりたいことを伝えます(例:「このポッドキャストをクリーンアップして」)
- AI が適切なパイプラインを選んで開始します
- パイプラインはバックグラウンドで実行され、
job_idが返されます - 進捗を確認するには、15~30 秒ごとに
check_pipeline_statusをポーリングします - 完了すると、Audacity にポップアップが表示されます
安全ルール: パイプラインは、ピークが大きすぎる場合に低減するだけです。音量を増幅することはありません。特定の LUFS 目標(例:Spotify 向けの -14)に合わせたい場合は、結果に問題がないことを確認してから
loudness_normalizeを実行するよう AI に依頼してください。
パイプラインのリファレンス
auto_analyze_audio — 処理前の分析
音声を測定して、最適なパイプラインを提案します。何をすべきか分からない場合は、最初に実行してください。
You: "Analyze this audio"
→ Returns: peak level, noise floor, clipping status, recommended pipeline
auto_cleanup_audio — 安全なクリーンアップのみ
音量をまったく変えずに、ノイズやアーティファクトを除去します。音量レベルに問題がない場合に使用してください。
You: "Just clean up the noise, don't change the volume"
→ DC offset removal → HPF 80Hz → noise reduction → click removal (optional)
auto_cleanup_podcast — ポッドキャスト/ナレーション
音声向けのプロ仕様の放送用処理です。
You: "Clean up this podcast recording"
→ DC offset → HPF 80Hz → noise reduction 12dB → compression 3:1 → safe loudness check
auto_audiobook_mastering — オーディオブック(ACX/Audible)
オーディオブックの配信に向けて、ACX の要件に合わせます。
You: "Master this for ACX / Audible"
→ DC offset → HPF 80Hz → noise reduction 12dB → compression 2.5:1 → safe loudness check → peak cap -3dB
auto_cleanup_interview — インタビュー/会話
会話向けの控えめな処理で、自然なダイナミクスを保ちます。
You: "Clean up this interview recording"
→ DC offset → HPF 80Hz → noise reduction 8dB → compression 2.5:1 → safe loudness check
auto_cleanup_vocal — 歌唱/スタジオボーカル
明瞭さを高めるプレゼンス EQ を備え、ボーカル録音に合わせて調整されています。
You: "Process this vocal recording"
→ DC offset → HPF 100Hz → noise reduction 10dB → compression 3:1 → presence EQ (+3dB treble, -1dB bass) → safe loudness check
auto_cleanup_live — ライブ/フィールド/ノイズの多い録音
ノイズの多い環境向けの強力なクリーンアップです。プロファイリングのため、最初の 0.5 秒は必ず環境ノイズにしてください。
You: "This is a noisy live recording, clean it up"
→ DC offset → HPF 100Hz → click removal → noise reduction 18dB → compression 5:1 → safe loudness check
auto_master_music — 音楽のマスタリング
ジャンルに合わせた 6 種類のプリセット(edm、hiphop、rock、pop、classical、acoustic)を使ったマスタリングです。
You: "Master this hip-hop track"
→ HPF 30Hz → click removal → compression 2:1 → bass +3dB treble +1dB → safe loudness check
You: "Master this for a classical album"
→ HPF 30Hz → click removal → compression 1.3:1 (very gentle) → no EQ → safe loudness check
| プリセット | HPF | コンプレッション | 低音域 EQ | 高音域 EQ |
|---|---|---|---|---|
| EDM | 30 Hz | 2.5:1 / 80ms | +2 dB | +1 dB |
| Hip-Hop | 30 Hz | 2:1 / 100ms | +3 dB | +1 dB |
| Rock | 40 Hz | 2:1 / 100ms | 0 dB | +1 dB |
| Pop | 35 Hz | 2:1 / 80ms | +1 dB | +1.5 dB |
| Classical | 30 Hz | 1.3:1 / 200ms | 0 dB | 0 dB |
| Acoustic | 30 Hz | 1.5:1 / 150ms | 0 dB | 0 dB |
auto_lofi_effect — クリエイティブなローファイ/ビンテージ
温かみのあるビンテージ風のローファイサウンドを適用します。プリセットは light、medium、heavy です。
You: "Give this a lo-fi vibe"
→ HPF → LPF (muffled highs) → bass/treble warmth → compression 2:1 → safe loudness check
パイプライン適用後:音量の調整
パイプラインでは意図的に音量を変更しません(ピークがクリッピングしている場合のみ低減します)。ストリーミング向けの目標値に合わせるには、次のようにします。
You: "Now normalize this to -14 LUFS for Spotify"
→ AI uses loudness_normalize tool with lufs_level=-14
You: "Normalize to -16 LUFS for podcast"
→ AI uses loudness_normalize tool with lufs_level=-16
なぜ自動で行わないのですか? LUFS 正規化では、音量が小さい録音や状態の悪い録音が 10~20 dB 増幅され、音が破綻することがあります。クリーンアップと音量調整を分けることで、最終的な音量調整の前に結果を確認できます。
ローカル文字起こし(実験的機能)
この機能は実験的であり、別途セットアップが必要です。それ以外の機能はすべて、この機能なしで動作します。
faster-whisper を利用しており、完全にオフラインで実行されます。音声が端末の外に出ることはありません。
- 5 種類のモデルサイズ:
tiny、base、small、medium、large-v3 - 音声全体または選択範囲のみを文字起こし
- SRT、VTT、プレーンテキストの字幕としてエクスポート
- 発話区間ごとに Audacity のラベルを自動追加
- 言語の自動検出、または 99 以上の言語を指定
初回使用前にセットアップが必要です: インストール手順については、文字起こしのセットアップを参照してください。
GPU アクセラレーション(10~20 倍高速)を利用しますか? audacity-mcp-setup-gpu を実行してください。ターミナルを使いたくない場合は、setup_gpu.bat/setup_gpu.sh をダウンロードしてダブルクリック/実行する方法もあります。GPU を検出し、必要なものをインストールして、実際に動作することを確認します。NVIDIA GPU のみ対応(AMD/Intel のグラフィックスおよび macOS は、文字起こしバックエンド自体がサポートしていません。NVIDIA GPU ならどのカードでも動作し、GeForce である必要はありません。NVIDIA GPU があれば利用できます)。NVIDIA GPU がなくても、CPU で問題なく動作しますが、長いファイルでは処理が遅くなります。
スクリプトでは成功と表示されるのに、文字起こしが遅いまま、または CPU で動作しますか? これは、Claude Desktop がスクリプトで確認したものとは別の Python から
audacity-mcpを起動していることを意味します。修正方法を参照してください(手動で設定を編集すれば、5 分で完了します)。
新機能 — v0.1.3
32 個の新しいツール(99 → 131)、パイプラインの調整に関する修正を追加し、Audacity で実際にテストしました。
- 新しいエフェクト:Reverse、Invert、Repair、AutoDuck、NotchFilter、VocalReduction、AdjustableFade、StudioFadeOut、CrossfadeClips、CrossfadeTracks、ClipFix、SlidingStretch、Tremolo
- 新しい編集機能:Split(その場で分割)、SplitCut、SplitDelete、Disjoin、旧来の split を
edit_split_newに名称変更 - 新しいトラック機能:StereoToMono、MixAndRenderToNew、MuteAll、UnmuteAll、Resample、AlignEndToEnd、AddLabelTrack
- 新しい選択機能:CursorToTrackStart/End、CursorToProjectStart/End、SelectCursorToTrackEnd
- 新しいプロジェクト機能:EditMetadata、ImportMIDI
- 新しいラベル機能:RegularIntervalLabels
- パイプラインの修正:ACX のピーク上限を -3.0→-3.5dB に変更、実行時の NR を 18→12dB に変更、ポッドキャスト用コンプレッサーを 10ms/1s→30ms/200ms に変更、インタビュー用リリースを 1s→200ms に変更
- バグ修正:
effect_repairが長いタイムアウトを使用するようになりました(無効な選択範囲では Audacity にポップアップが表示されます) - 検証:AutoDuck、VocalReduction、SlidingStretch、Resample に不足していた範囲チェックを追加
トラブルシューティング
mod-script-pipe が有効になっていない
インストーラーによって自動的に有効化されますが、機能しなかった場合(例:Audacity を一度も起動したことがない場合)は、手動で有効にしてください。
- Audacity を開きます
- 編集 → 環境設定(Windows/Linux)または Audacity → 環境設定(macOS)に移動します
- 左側のサイドバーで モジュール をクリックします
mod-script-pipeを 有効 に設定します- OK をクリックし、Audacity を再起動します
接続に関する問題
| 問題 | 対処方法 |
|---|---|
| "Pipe not found" | まず Audacity を開きます。mod-script-pipe が有効になっていることを確認します(上記を参照)。有効にした後、Audacity を再起動してください。 |
| "Pipe timeout" | Audacity が処理中です。少し待ってから再試行してください。遅れて届いた応答はバックグラウンドで処理され、次のコマンドは応答を待ってから実行されます(または「still busy」と表示されます)。長いファイルでは、エフェクトの処理に数分かかることがあります。 |
| 一度は接続できるが、その後失敗する | パイプの接続が切れました(Audacity のクラッシュまたは再起動)。もう一度試してください。AudacityMCP が自動的に再接続します。 |
| "Access denied"(Windows) | Audacity と AI クライアントは同じユーザーとして実行する必要があります。管理者権限ありとなしを混在させないでください。 |
パイプラインに関する問題
| 問題 | 対処方法 |
|---|---|
| パイプラインで音声が大きくなりすぎる/クリッピングが発生する | これはもう起こらないはずです。パイプラインはピークを低減するだけで、増幅することはありません。発生した場合は、元に戻し(Ctrl+Z)、問題を報告してください。 |
| "A pipeline is already running" | 一度に実行できるパイプラインは 1 つだけです。check_pipeline_status に job_id を指定して、現在実行中のパイプラインを確認してください。 |
| パイプラインは完了したが、音声が小さすぎる | これは仕様です。パイプラインでは音量を上げません。結果を確認してから、AI に「-14 LUFS にノーマライズして」と依頼してください。 |
| ノイズリダクションで金属的な音や音の揺れが生じる | プロファイル作成のため、トラックの最初の 0.5 秒は無音または部屋のノイズのみである必要があります。そうでない場合は、無音を追加するようにトリミングするか、remove_noise=False を指定して auto_cleanup_audio を使用してください。 |
| パイプラインのステップが失敗した(警告に表示される) | 個々のステップが失敗しても、パイプライン全体は停止しないことがあります。詳細は check_pipeline_status の warnings フィールドを確認してください。 |
音質に関するヒント
| 目的 | 操作 |
|---|---|
| 背景ノイズを除去する | トラックの最初の 0.5 秒が純粋な部屋の環境音(音声や音楽なし)であることを確認してください。パイプラインはこれを使ってノイズプロファイルを作成します。 |
| クリッピングを修正する | まず auto_analyze_audio を実行します。クリッピングが検出された場合は、他のパイプラインを実行する前に auto_cleanup_audio を使用してください。 |
| Spotify 向けに -14 LUFS にする | まずクリーンアップ用パイプラインを実行し、結果に問題がないことを確認してから、AI に -14 LUFS で loudness_normalize を適用するよう依頼してください。 |
| ポッドキャスト向けに -16 LUFS にする | 同じ手順です。まずクリーンアップを行い、その後に LUFS を調整します。 |
| ACX オーディオブックの準拠要件を満たす | auto_audiobook_mastering を使用してください。RMS -20 dB、ピーク上限 -3.5 dB(安全マージン)を目標にします。 |
| 音量を変えずに手早くクリーンアップする | auto_cleanup_audio を使用してください。ラウドネスを変更せず、ノイズとアーティファクトのみを除去します。 |
一般的な問題
| 問題 | 対処方法 |
|---|---|
| 「No module named faster_whisper」 | pip install faster-whisper を実行します。文字起こしはオプションのため、それ以外の機能はなくても動作します。 |
| モデルのダウンロードに失敗する | インターネット接続を確認して、再試行します。モデルは初回ダウンロード後、ローカルにキャッシュされます。 |
| /tmp にパイプがない(macOS/Linux) | Audacity が起動していて、mod-script-pipe が有効になっていることを確認します。Audacity のコンソールにエラーがないか確認します。 |
| Linux で Snap または Flatpak 版の Audacity を使用している | どちらも /tmp をサンドボックス化するため、AudacityMCP は Audacity のマウント名前空間内にある実際のパイプの場所を自動検出します。設定は不要です。自動検出に失敗する場合(コンテナー、制限の厳しい ptrace ポリシー、特殊なサンドボックス環境など)は、AUDACITY_PIPE_DIR 環境変数にパイプがあるディレクトリを設定すると、その場所が直接使われます。 |
| インストーラーに「Audacity config not found」と表示されるが、Audacity は確実に起動している | ポータブル版の Audacity(実行ファイルの隣に Portable Settings フォルダーがあるもの)を実行している場合、通常の OS ごとの場所ではなく、そのフォルダーに audacity.cfg が保存されるため、インストーラーは見つけられません。代わりに mod-script-pipe を手動で有効にします(Preferences → Modules)。 |
install.bat では Claude Desktop の設定が完了したと表示されたが、Audacity がツールとして表示されない | Microsoft Store からインストールした Claude Desktop は、設定をパッケージごとに分離されたフォルダーにリダイレクトします。古いバージョンの install.bat は、標準の %APPDATA%\Claude\ パスにのみ書き込んでいたため、Store 版では読み込まれません |
アーキテクチャ
┌──────────────┐ stdio ┌──────────────┐ named pipe ┌──────────────┐
│ MCP Client │◄──────────────►│ AudacityMCP │◄──────────────►│ Audacity │
│(AI assistant)│ (JSON-RPC) │ FastMCP │ (commands) │ │
└──────────────┘ └──────────────┘ └──────────────┘
│
├── audacity_mcp/main.py (entry point)
├── audacity_mcp/audacity_client.py (pipe I/O)
├── audacity_mcp/tool_registry.py (auto-loader)
└── audacity_mcp/tools/ (11 modules)
主な設計上の決定事項
- TCP ではなく名前付きパイプ — Audacity の
mod-script-pipeに直接 IPC 接続します。ネットワークに公開されず、ポートの競合もありません。 exec/evalは一切使用しない — すべての操作は入力検証付きの静的ハンドラーに対応します。任意のコード実行は行いません。- クロスプラットフォーム対応 — Windows では ctypes 経由で Win32 API を使用し、Unix では標準のファイル I/O を使用します。
- 全体を通じて非同期処理 — すべてのツールハンドラーは
asyncです。ブロッキングを伴うパイプ I/O は、設定可能なタイムアウトを使い、エグゼキュータープールで実行します。 - 安全なパイプライン — パイプラインはラウドネスを判断する前に音声を測定します。音量を下げることのみを行い、上げることはありません。
- 動的なツール登録 — モジュールを
audacity_mcp/tools/に配置し、register(mcp)関数をエクスポートすると、自動的に検出されます。
プロジェクト構成
AudacityMCP/
├── audacity_mcp/
│ ├── main.py # FastMCP server entry point
│ ├── audacity_client.py # Cross-platform named pipe client
│ ├── tool_registry.py # Auto-discovers and registers tool modules
│ └── tools/
│ ├── analysis_tools.py # Audio analysis (contrast, spectrum, beats)
│ ├── cleanup_tools.py # Noise reduction, mastering, 9 pipelines
│ ├── edit_tools.py # Cut, copy, paste, split, join, trim
│ ├── effects_tools.py # Reverb, echo, pitch, EQ, filters
│ ├── generate_tools.py # Tone, noise, chirp, DTMF generation
│ ├── label_tools.py # Label management
│ ├── project_tools.py # Project/file operations
│ ├── selection_tools.py # Selection and cursor control
│ ├── track_tools.py # Track management
│ ├── transcription_tools.py # Whisper-based transcription
│ └── transport_tools.py # Playback and recording control
├── audacity_mcp_shared/
│ ├── constants.py # Pipe paths, timeouts, allowed formats
│ ├── error_codes.py # Typed error codes (pipe/command/validation)
│ └── pipe_protocol.py # Command formatting and response parsing
├── tests/ # 60 tests
├── docs/
│ ├── INSTALLATION.md # Detailed setup guide
│ └── TOOLS.md # Complete tool reference
└── pyproject.toml
開発
# Install dev dependencies
pip install -e ".[dev]"
# Run tests
pytest tests/ -x -q
# Run lint (real bugs + security patterns, not style/formatting)
ruff check .
新しいツールの追加
audacity_mcp/tools/にモジュールを作成します(または既存のモジュールに追加します)register(mcp: FastMCP)関数をエクスポートします@mcp.tool()デコレーターを使ってツールを定義します- 以上です。ツールレジストリが起動時に自動検出します
# audacity_mcp/tools/my_tools.py
from mcp.server.fastmcp import FastMCP
from audacity_mcp_shared.error_codes import AudacityMCPError, ErrorCode
def register(mcp: FastMCP):
from audacity_mcp.main import client
@mcp.tool()
async def my_custom_effect(intensity: float = 0.5) -> dict:
"""Apply my custom effect to the selected audio."""
if not 0 <= intensity <= 1:
raise AudacityMCPError(ErrorCode.VALUE_OUT_OF_RANGE, "intensity must be 0-1")
return await client.execute_long("MyEffect", Intensity=intensity)
詳しいガイドラインについては、CONTRIBUTING.md を参照してください。
コミュニティ
すべての Audacity ユーザーが使いたくなるツールにするには、一人の力だけでは足りません。AudacityMCP を使っている方、試しているだけの方も、ぜひ Discord に参加してください。作ったものを共有したり、問題を報告したり、足りない機能を提案したり、AI を活用した音声編集をしている人たちと交流したりできます。コミュニティは、誰かが別の人に存在を知らせることで成長します。役に立ちそうな人を知っていたら、このリンクを送ってください。
サポート
AudacityMCP によって時間を節約できたり、音声プロジェクトに役立ったりした場合は、スポンサーとしての支援をご検討ください。
皆さまの支援によって、このプロジェクトを保守し、誰もが無料で利用できる状態を維持できます。
採用/コンサルティング
製品向けにカスタム MCP サーバー、ネイティブプラグイン/IPC 統合、またはローカル AI パイプラインの構築が必要ですか? このリポジトリと関連プロジェクト — Reaper-MCP、SongForge-MCP — は、まさにその実例として公開され、実際に動作しています。業務委託のご依頼を受け付けています:[email protected]。
ドキュメント
- インストールガイド — Windows、macOS、Linux 向けの詳細なセットアップ
- ツールリファレンス — 144 個すべてのツールのパラメーターと範囲を網羅したリファレンス
- 文字起こしベースの編集 — ポッドキャスト、インタビュー、講義向けのワークフローガイド(ラベル駆動型の編集)
- コントリビューション — ツールの追加とプロジェクトへの貢献方法
- 変更履歴 — バージョン履歴とリリースノート
謝辞
このプロジェクトの改善につながるバグ報告、アイデア、フィードバックをお寄せくださった皆さまに感謝します:
- @Harsha-Jay-S — 実際の Audacity で測定した証拠に基づいて
effect_change_pitch/effect_change_speedのバグを特定し(#15)、根本原因を正確に突き止めてくださいました。
ライセンス
Apache License 2.0 — 詳細は LICENSE をご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
