返回市场
麦克风音质优化服务器

麦克风音质优化服务器

作者:An-313 星标更新:2025-04-14

项目介绍

Audacity MCP Server

该项目实现了一个MCP(模型上下文协议)服务器,该服务器通过Audacity的mod-script-pipe接口连接到Audacity。使用命名管道,服务器向Audacity发送命令并接收响应,允许您通过MCP端点控制Audacity(例如,开始/停止录音或播放)。该服务器可以使用uv工具启动,并与Claude Desktop客户端集成。

目录

  1. 功能
  2. 需求
  3. 安装和设置
  4. 配置Audacity
  5. 使用方法
  6. 与Claude Desktop客户端配置
  7. 故障排除
  8. 许可证

功能

  • Audacity集成: 使用命名管道通过mod-script-pipe接口与Audacity通信。
  • MCP端点: 提供MCP工具端点以:
    • 获取Audacity状态。
    • 开始和停止录音。
    • 播放和暂停播放。
  • uv集成: 使用uv工具运行MCP服务器。
  • Claude Desktop兼容性: 可以配置为使用Claude Desktop客户端启动。

需求

  • Audacity: 推荐版本3.x或更高。
  • Python: 版本3.13或更新。
  • uv工具: 运行MCP服务器。
  • mod-script-pipe: 必须启用Audacity的远程控制/脚本接口。
  • Python依赖项: 项目需要以下包:
    • httpx
    • mcp[cli]

安装和设置

  1. 克隆或下载项目:

    git clone <repository-url>
    cd mcp-audacity
    
  2. 设置虚拟环境:

  • 使用uv工具创建并激活虚拟环境:

    uv venv --python=python3.13
    source .venv/bin/activate
    
  1. 安装依赖项
  • 使用以下命令安装所需依赖项:

    uv add "mcp[cli]" httpx
    
  1. 验证项目结构 确保您的项目文件夹至少包含:
  • audacity_mcp_pipe.py(主要的MCP服务器脚本)
  • pyproject.toml(项目配置)
  • (可选)claude_desktop_config.json(用于与Claude Desktop客户端集成)

配置Audacity

为了使MCP服务器能够连接到Audacity,必须启用其mod-script-pipe接口。

步骤1:在Audacity中启用mod-script-pipe

  • 打开Audacity。
  • 打开偏好设置:
  • 在macOS上:点击Audacity > 偏好设置…
  • 在Windows上:点击编辑 > 偏好设置…
  • 导航到脚本/远程控制部分:
  • 查找类似“启用mod-script-pipe”或“启用远程控制/脚本”的选项。
  • 启用该功能。
  • 重新启动Audacity。

步骤2:验证命名管道

  • Audacity应创建两个命名管道(默认情况下在macOS/Linux上):

  • 命令管道:/tmp/audacity_script_pipe.to.%number%

  • 响应管道:/tmp/audacity_script_pipe.from.%number%

  • 在终端中运行以下命令进行验证:

    ls -l /tmp | grep audacity_script_pipe
    

如果看到额外的数字或字符(例如/tmp/audacity_script_pipe.to.1234),请相应地更新audacity_mcp_pipe.py中的管道路径。

使用方法

  • 从命令行运行MCP服务器 1. 导航到您的项目目录:

    cd /%path_to_project%/mcp-audacity
    

2. 激活虚拟环境(如果尚未激活):

source .venv/bin/activate

3. 使用uv工具启动服务器:

uv run audacity_mcp_pipe.py
  • 您应该会看到如下日志消息:

    2025-04-13 19:36:32,759 - AudacityMCPServer - INFO - Audacity MCP服务器正在启动
    2025-04-13 19:36:32,760 - AudacityMCPServer - INFO - 打开了Audacity mod-script-pipe
    2025-04-13 19:36:32,762 - AudacityMCPServer - INFO - 已连接到Audacity mod-script-pipe
    

MCP端点

  • 您的MCP服务器暴露了几个可以通过MCP客户端调用的端点。例如:

  • get_status:获取Audacity状态。

  • start_recording:开始录音。

  • stop_recording:停止录音。

  • play:开始播放。

  • pause:暂停播放。

  • 这些端点定义在audacity_mcp_pipe.py中,可以使用MCP客户端触发。

与Claude Desktop客户端配置

  • 如果您想通过Claude Desktop客户端运行服务器,请更新您的claude_desktop_config.json指向此项目。例如:

    {
      "mcpServers": {
          "audacity": {
          "command": "/%absolute_path_to_ev%/.local/bin/uv",
          "args": [
              "--directory",
              "/Users/andriiboboshko/mcp-audacity",
              "run",
              "audacity_mcp_pipe.py"
          ]
          }
      }
    }
    
  • 确保路径匹配您的项目位置,并且您的虚拟环境正确设置。

许可证

本项目根据MIT许可证提供。您可以自由修改和分发。

故障排除

错误:spawn uv ENOENT

  • 我发现当MCP服务器尝试启动uv时,尽管uv在我的PATH中,它没有创建进程。当我将绝对路径添加到uv在Claude Desktop配置claude_desktop_config.json中时,问题得到了解决。

错误 - 无法连接到Audacity:[Errno 61] 连接被拒绝

  • 我遇到这个错误是因为Audacity在/tmp文件夹中创建了带有某些数字的命令和响应管道文件:

    /tmp/audacity_script_pipe.to.501
    /tmp/audacity_script_pipe.from.501
    
  • 更新代码中的特定数字后,问题得以解决。