mcpField
A
Audacitymcp

Audacitymcp

本地服务
github.com/xDarkzx媒体与设计1225 天前更新

关于 Audacitymcp

AudacityMCP 是一个将兼容 MCP 的 AI 助手连接到 Audacity 的服务,可通过大量工具和流水线完成音频编辑、降噪、母带处理和转录等任务。它通过 Audacity 的命名管道在本地运行,不需要云端服务或音频处理 API 密钥。项目主要支持 Audacity 3.x,Audacity 4 不受支持。

主要功能

  1. 01通过命名管道在本地控制 Audacity
  2. 02提供 144 个工具覆盖效果、剪辑、导入导出等
  3. 039 个一键流水线用于播客、音乐和有声书处理
  4. 04支持转录生成标签与字幕文件
  5. 05内置音频分析并推荐合适的流水线

适用场景

  1. 01用自然语言让 AI 清理播客或访谈录音
  2. 02按照 ACX 要求处理有声书音频
  3. 03为音频添加标签并导出为 SRT 或 VTT 字幕

MCP 相关

该项目是 MCP 服务,向 Claude Desktop、Claude Code、Cursor 等 MCP 客户端暴露 Audacity 编辑工具与流水线。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

AudacityMCP

通过 Model Context Protocol 在 Audacity 中进行 AI 驱动的音频编辑

CI Python 3.10+ 许可证 发布版本 兼容 MCP Discord 赞助

快速入门 • 为什么选择 AudacityMCP? • 管线 • 工具参考 • 故障排查


AudacityMCP 可将任何兼容 MCP 的 AI 助手连接到 Audacity,让它能够通过 144 种工具全面控制音频编辑,涵盖效果处理、清理、母带制作、转录等功能。与 AI 助手对话,它就会实时编辑你的音频。

无需云服务。音频处理无需 API 密钥。一切都通过 Audacity 的命名管道接口在本地运行。

如果这个项目对你有用,点个星标可以帮助更多人发现它——这就是本项目全部的推广预算。想帮忙维护项目?点击上方的 赞助徽章。

演示

观看演示

兼容性: AudacityMCP 适用于 Audacity 3.x。Audacity 4 移除了 mod-script-pipe——本服务所驱动的脚本接口——且没有提供替代方案,因此 AudacityMCP 无法控制 Audacity 4。

正在运行 Audacity 4? 这里有一个配套项目:Audacity4-MCP——通过 TCP JSON-RPC 桥接提供 159 种工具,涵盖编辑、选区、标签、破坏性和实时效果,以及 VST3 参数实时控制。

该项目目前仍处于早期 Alpha 阶段,且需要说明其配置要求:由于 Audacity 4 目前没有远程控制接口,因此需要使用从源代码构建的 Audacity 4 配套分支(Visual Studio、Qt 6.10、CMake、Ninja)。因此目前它更适合开发者,而非一般用户。Audacity 维护者已确认,内部迁移完成后将规划官方命令和 MCP 接口;届时应该不再需要该分支。

兼容产品

AudacityMCP 适用于任何支持 Model Context Protocol 的 AI 客户端:


快速入门

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,也不会自动更改系统设置——分三步,全程手动完成:

  1. 在 Audacity 中启用 mod-script-pipe:选择“编辑”→“首选项”(Windows/Linux),或“Audacity”→“首选项”(macOS)→“模块”→将 mod-script-pipe 设为 Enabled →“确定”→重启 Audacity。

  2. 安装软件包:打开终端(Windows 上为命令提示符/PowerShell,macOS/Linux 上为终端),运行 pip install audacity-mcp-server——这是常规的 PyPI 安装,无需克隆仓库。

  3. 配置 Claude Desktop:打开 Claude Desktop →“设置”(齿轮图标)→“开发者”选项卡 →“编辑配置”——这会在文本编辑器中打开 claude_desktop_config.json。在 "mcpServers" 块中添加以下内容,并保留你已有的其他服务:

    {
      "mcpServers": {
        "audacity": {
          "command": "audacity-mcp"
        }
      }
    }
    

    保存文件,然后完全重启 Claude Desktop(从系统托盘退出,而不只是关闭窗口)。

安装至此全部完成——请参阅安装指南,了解相同步骤的详细说明和各操作系统的注意事项。

重启后没有看到 "audacity" 工具? 上面的 "command": "audacity-mcp" 只有在 Claude Desktop 自己使用的 PATH 中包含该命令时才有效,但情况并非总是如此(尤其是安装 Python 时 Claude Desktop 已经打开的情况下)。如果无法连接,请在终端中运行以下命令,查找实际的安装位置:python -c "import sysconfig; print(sysconfig.get_path('scripts'))"——然后将上面的 "audacity-mcp" 替换为它输出的完整路径,并加上 \audacity-mcp.exe(Windows,注意每个反斜杠都要写两次:\\)或 /audacity-mcp(macOS/Linux)。

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 步以上,还得猜测压缩器设置“清理这段播客”——只需一句话
音乐母带处理研究适合曲风的均衡器/压缩器设置,并逐项手动应用“为 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混响、回声、变调、速度变化、均衡器、移相器、失真、paulstretch、HPF/LPF、低音与高音、颤音、哇音
清理与母带处理18降噪、压缩器、限制器、9 个一键处理流程、分析工具
编辑13剪切、复制、粘贴、拆分、合并、修剪、静音、复制、撤销、重做
项目12新建、打开、保存、导入/导出(WAV、MP3、FLAC、OGG、AIFF)
音轨15添加单声道/立体声音轨、移除、设置属性、混音并渲染、静音/独奏、声像、音量
选区12选择全部/无/区域/音轨、零交叉点、光标定位
传输控制7播放、停止、暂停、录音、播放选区、获取位置
分析6对比度、削波检测、频谱、节拍查找、声音标记
生成5音调、噪声、啁啾、DTMF、节奏音轨
转录(实验性)7转录全部内容/选区、转为标签、转为 SRT/VTT/TXT、预加载模型
标签19列出/查找/编辑/删除、按索引删除一个已标记片段的音频、批量添加、剪切/删除/静音已标记区域、标记导出(simple/cue/Podlove)、逐段导出音频、导入/导出

处理流程

AudacityMCP 为常见音频任务提供 9 个一键处理流程。每个流程都针对录音质量不佳的音频设计,确保安全——绝不会以危险的方式提高音量。处理流程会清理并改善音频;如果需要,你可以之后再手动调整响度。

处理流程的工作方式
  1. 告诉 AI 你的需求(例如:“清理这段播客”)
  2. AI 选择合适的处理流程并启动
  3. 处理流程在后台运行——你会收到一个 job_id
  4. 每隔 15–30 秒调用 check_pipeline_status 以查看进度
  5. 完成后,Audacity 中会弹出提示

安全规则: 如果峰值过高,处理流程只会降低峰值,绝不会提高响度。如果你想达到指定的 LUFS 目标(例如 Spotify 的 -14),请先确认结果符合要求,再让 AI 运行 loudness_normalize。

处理流程参考
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 — 演唱 / 录音室人声

针对人声录音进行调校,通过增强存在感的均衡处理提升清晰度。

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压缩低音均衡高音均衡
EDM30 Hz2.5:1 / 80ms+2 dB+1 dB
Hip-Hop30 Hz2:1 / 100ms+3 dB+1 dB
Rock40 Hz2:1 / 100ms0 dB+1 dB
Pop35 Hz2:1 / 80ms+1 dB+1.5 dB
Classical30 Hz1.3:1 / 200ms0 dB0 dB
Acoustic30 Hz1.5:1 / 150ms0 dB0 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 显卡均可,不要求是 GeForce,只要有 NVIDIA GPU 即可)。没有 NVIDIA GPU?CPU 也能正常工作,只是处理较长文件时速度较慢。

脚本显示运行成功,但转录仍然很慢/仍在使用 CPU?这意味着 Claude Desktop 启动 audacity-mcp 时使用的 Python 环境与脚本刚验证的环境不同 — 请参阅解决方法(手动编辑配置,耗时五分钟)。


新增内容 — 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.5 dB;实时降噪从 18 调整为 12 dB;播客压缩器参数从 10 ms/1 s 调整为 30 ms/200 ms;访谈释放时间从 1 s 调整为 200 ms
  • 错误修复:effect_repair 现在会使用较长的超时时间(Audacity 在选区无效时会显示弹窗)
  • 验证:为 AutoDuck、VocalReduction、SlidingStretch、Resample 补充了缺失的范围检查

故障排除

未启用 mod-script-pipe

安装程序会自动启用该功能,但如果没有生效(例如之前从未打开过 Audacity),请手动启用:

  1. 打开 Audacity
  2. 前往 Edit → Preferences(Windows/Linux)或 Audacity → Preferences(macOS)
  3. 点击左侧边栏中的 Modules
  4. 将 mod-script-pipe 设置为 Enabled
  5. 点击 OK,然后重启 Audacity

在 Audacity 的 Preferences → Modules 中启用 mod-script-pipe

连接问题
问题解决方法
“Pipe not found”先打开 Audacity。确保已启用 mod-script-pipe(见上文)。启用后重启 Audacity。
“Pipe timeout”Audacity 正忙。请稍候再试——后台会处理迟到的回复,下一个命令会等待它完成(或报告“仍在忙碌”)。处理较长的文件时,某些效果可能需要几分钟。
连接成功一次后就失败管道已断开(Audacity 崩溃或重启)。重试即可——AudacityMCP 会自动重新连接。
“Access denied”(Windows)Audacity 和 AI 客户端必须以同一用户身份运行。不要混用管理员和非管理员身份。
管线问题
问题解决方法
管线导致音频过载/削波这种情况现在不应该再发生——管线只会降低峰值,绝不会增大峰值。如果发生了,请撤销(Ctrl+Z)并报告问题。
“A pipeline is already running”一次只能运行一个管线。使用 check_pipeline_status 和你的 job_id 监控当前管线。
管线完成后音量太低这是有意为之——管线不会增大音量。检查结果后,请让 AI 执行:“Normalize to -14 LUFS”。
降噪后听起来有金属感/颤振轨道开头的 0.5 秒必须是纯静音/房间底噪,供系统建立噪声配置文件。如果不是,请裁剪并添加静音,或使用 auto_cleanup_audio 并设置 remove_noise=False。
管线步骤失败(出现在警告中)个别步骤失败不会中止管线。查看 check_pipeline_status 中的 warnings 字段了解详情。
音频质量提示
目标操作
去除背景噪声确保轨道开头的 0.5 秒是纯房间底噪(没有语音/音乐)。管线会使用这段音频建立噪声配置文件。
修复削波先运行 auto_analyze_audio。如果检测到削波,请在运行其他管线前使用 auto_cleanup_audio。
达到 Spotify 的 -14 LUFS先运行清理管线,并确认结果良好,然后让 AI 将 loudness_normalize 应用于 -14 LUFS。
达到播客的 -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 配置”,但 Audacity 确实正在运行如果你运行的是便携版 Audacity(可执行文件旁有一个 Portable Settings 文件夹),它会将 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 .
添加新工具
  1. 在 audacity_mcp/tools/ 中创建模块(或添加到现有模块)
  2. 导出 register(mcp: FastMCP) 函数
  3. 使用 @mcp.tool() 装饰器定义工具
  4. 完成——工具注册表会在启动时自动发现该工具
# 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 驱动音频编辑的人交流。社区的发展始于一个人告诉另一个人这里的存在。如果你认识可能从中受益的人,请把链接发给他们。

加入 Discord


支持

如果 AudacityMCP 为你节省了时间,或帮助你完成音频项目,请考虑赞助:

GitHub 赞助者

你的支持有助于维护本项目,并让所有人都能免费使用。


招聘 / 咨询

需要为你的产品定制 MCP 服务、原生插件 / IPC 集成,或本地 AI 流水线吗?本仓库及其相关项目——Reaper-MCP、SongForge-MCP——都是此类方案的公开可运行示例。承接合同项目:[email protected]。


文档

致谢

感谢以下用户报告错误、提出想法并提供反馈,帮助改进本项目:

  • @Harsha-Jay-S — 通过对照真实 Audacity 进行测量验证,诊断出 effect_change_pitch/effect_change_speed 错误(#15),并精准找到了根本原因。

许可证

Apache License 2.0 — 详情请见 LICENSE。

由 Daniel Hodgetts 构建 • 𝕏 @daehonz1

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。