音频工作站控制服务器

ardour_mcp_server是一个实现Model Context Protocol (MCP)的服务器,通过Open Sound Control (OSC)消息控制Ardour数字音频工作站,支持自动化任务和功能扩展。

  • by pyroqbit
  • Rust
  • 本地部署
  • 7 星标
  • 更新于
在 GitHub 查看 pyroqbit/ardour-mcp

使用说明

Ardour MCP服务器

(正在积极开发中)

英语 | 俄罗斯

英语

概述

ardour_mcp_server 是实现模型上下文协议(MCP)以提供用于通过开放声音控制(OSC)消息控制Ardour(数字音频工作站)的接口的服务器。它允许外部应用程序或脚本与Ardour交互,自动化任务并扩展其功能。

此服务器监听MCP请求,将其转换为Ardour特定的OSC消息,并将其发送到正在运行的Ardour实例。它还包括 stdio_client_tester 用于测试服务器功能的二进制文件。

特性

  • 控制Ardour传输(播放、停止、定位、速度等)。
  • 管理曲目(静音、独奏、启用录制、增益、修剪)。
  • 通过以下方式执行Ardour菜单的常规操作 /ardour/access_action.
  • 读取Ardour状态(例如,播放状态)。
  • MCP兼容接口,易于集成。

先决条件

  • 锈:确保安装了Rust。你可以从 rust-lang.org.
  • 热情:Ardour 6.x、7.x、8.x或9.x的运行实例。
  • Ardour OSC配置:
    • 在阿杜尔,去 Edit > Preferences > Control Surfaces.
    • 启用“OSC”。
    • 确保“侦听端口(UDP)”设置为 3819 (如果使用其他端口,请更新服务器配置)。
    • 服务器向发送消息 127.0.0.1:3819 默认情况下。

构建服务器

  1. 导航到 MCP/ardour_mcp_server 目录:
    cd MCP/ardour_mcp_server
    
  2. 构建服务器和测试仪:
    cargo build
    
    您还可以在发布模式下构建以获得更好的性能:
    cargo build --release
    
    二进制文件将位于 target/debug/ 或 target/release/.

运行服务器

您可以直接使用以下命令运行服务器:

cargo run --bin ardour_mcp_server

或者,在构建之后,运行可执行文件:

./target/debug/ardour_mcp_server 
# or ./target/release/ardour_mcp_server

服务器将启动并等待MCP连接(例如,从 stdio_client_tester).

运行客户端测试程序

这 stdio_client_tester 通过标准输入/输出与服务器通信。这是测试服务器是否与Ardour正确交互的好方法。

  1. 确保Ardour正在运行并配置了OSC。
  2. 确保 ardour_mcp_server 是 不 单独运行,因为测试人员将作为子进程启动它。
  3. 运行测试仪:
    cargo run --bin stdio-client-tester
    
    测试仪的日志将在 MCP/ardour_mcp_server/logs/stdio_client_tester.log. 服务器的日志(由测试人员运行时)将位于 MCP/ardour_mcp_server/logs/ardour_mcp_server.log.

已执行OSC命令

有关已实现的OSC命令及其相应MCP工具的列表,请参阅 doc/os_ardour_list.md.

文件 doc/index.html 包含从Ardour官方手册中提取的Ardour通用OSC功能的参考。请注意,并非中列出的所有命令 index.html 在该服务器中直接实现为不同的工具;许多可以使用泛型访问 access_action 工具。


俄罗斯

概述

ardour_mcp_server 它是一个实现Model Context Protocol(MCP)的服务器,通过Open Sound Control(OSC)消息为Ardour数字音频工作站提供控制接口。它允许外部应用程序或脚本与Ardour通信,自动化任务并扩展其功能。

服务器接收MCP请求,将其转换为特定于Ardour的OSC消息,并将其发送到正在运行的Ardour实例。项目还包括一个可执行文件 stdio_client_tester 测试服务器功能。

机会

  • 控制Ardour传输(播放、停止、倒带、速度等)。
  • 轨道管理(静音、独奏、写入、放大、级别调整)。
  • 通过Ardour菜单执行常规操作 /ardour/access_action.
  • 读取Ardour状态(例如播放状态)。
  • 与MCP兼容的接口,易于集成。

要求

  • 锈请确保您安装了Rust。可以从 rust-lang.org.
  • 热情:正在运行的Ardour 6.x、7.x、8.x或9.x实例。
  • 在Ardour中配置OSC:
    • 进入Ardour Edit > Preferences > Control Surfaces (或) Правка > Параметры > Управляющие устройства).
    • 打开OSC。
    • 验证是否安装了“侦听端口(UDP)”(UDP接收端口) 3819 (或者,如果您使用不同的端口,请更新服务器配置)。
    • 默认情况下,服务器将消息发送到 127.0.0.1:3819.

服务器构建

  1. 转到目录 MCP/ardour_mcp_server:
    cd MCP/ardour_mcp_server
    
  2. 组装服务器和测试仪:
    cargo build
    
    您还可以在发布模式下进行构建,以获得更好的性能:
    cargo build --release
    
    可执行文件将在 target/debug/ 或者 target/release/.

启动服务器

您可以通过以下方式直接启动服务器:

cargo run --bin ardour_mcp_server

或者,在构建后,运行可执行文件:

./target/debug/ardour_mcp_server 
# или ./target/release/ardour_mcp_server

服务器将启动并等待MCP连接(例如,来自 stdio_client_tester).

启动客户端测试程序

stdio_client_tester 通过标准I/O线程与服务器通信。这是一个很好的方法来检查服务器是否正确地与Ardour交互。

  1. 确保Ardour已启动并为OSC配置。
  2. 确保 ardour_mcp_server не 单独运行,因为测试程序将其作为子进程运行。
  3. 运行测试仪:
    cargo run --bin stdio-client-tester
    
    测试人员的日志将在 MCP/ardour_mcp_server/logs/stdio_client_tester.log. 服务器日志(通过测试仪启动时)将位于 MCP/ardour_mcp_server/logs/ardour_mcp_server.log.

实现的OSC命令

有关已实现的OSC命令和相应的MCP工具的列表,请参阅文件 doc/os_ardour_list.md.

文件 doc/index.html 包含从官方Ardour手册中提取的OSC在Ardour中的一般功能的参考信息。请注意,并非所有列出的命令 index.html,直接实现为此服务器上的独立工具;其中许多都可以通过通用工具获得。 access_action.