Token导航 LogoToken导航TokenDH.com
rappa (Nexis Yamamoto) logo
音视频stdio官方级别未说明来源级核验

rappa (Nexis Yamamoto)

MCP Server

一个使用Python编写的程序,能够通过MIDI输出端口播放ABC记法的文本,支持MIDI文件和LilyPond格式的转换和播放。

工具数

4

提示词数

0

GitHub Stars

0

资源数

0
PythonClaude语音音频Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

nexis-yamamoto

提供方

nexis-yamamoto

最后核验

2026/5/17 20:23

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python rappa.py "C D E F G A B c"

详细介绍

拉帕

播放ABC记法文本的python程序

使用MIDI输出端口播放。OS上的MIDI输出设备(虚拟MIDI驱动程序、DAW、硬件音源等)。

前提条件

  • Python 3.10以上
  • MIDI输出设备(虚拟MIDI驱动程序或DAW)可用

- 视窗: loopMIDI、virtualMIDI、或DAW虚拟端口 - macOS:IAC驱动程序或DAW虚拟端口 - Linux:ALSA MIDI设备或FluidSynth

正常使用

用ABC记法演奏

python rappa.py "C D E F G A B c"
python rappa.py "C2 D2 E2 F2"
python rappa.py "C D E z E F G z"
python rappa.py "C ^C D _E E"  # 臨時記号付き

演奏MIDI文件

python rappa.py song.mid
uv run rappa.py music.midi

演奏LilyPond(.ly)

python rappa.py score.ly
python rappa.py "\\relative c' { c4 d e f }"
初始安装仅支持音高、音效和节奏(忽略动力学和艺术)。

支持LilyPond打击乐器部分

LilyPond的\drummode以及\DrumStaff支持打击乐器记谱。打击乐器事件输出到MIDI通道10(符合通用MIDI标准的打击通道)。

对应的鼓名(LilyPond名→GM打击乐器):

|LilyPond名称|GM打击乐器|MIDI笔记本编号| |-----------|---------|--------------| | bd |原声低音鼓|36| | sn |声学蜗牛|38| | hh |封闭式帽子|42| | hhc |封闭式帽子|42| | hho |打开Hi Hat | 46| | cymc |撞击钹1|49| | toml |低汤姆|45| | tomm |嗨,汤姆,48岁| | tomh |高汤姆|50|

使用例:

# 単純なドラムパターン
python rappa.py "\drummode { bd4 hh sn hh bd hh sn hh }"

# 同時打撃(コード記法)
python rappa.py "\drummode { 4 4 }"

# メロディとドラムの並行パート
python rappa.py ">"

制限事项:

  • 不包含在上述列表中的鼓名将输出警告并跳过(不会出错)
  • 音阶/重音当前为固定值(64)
  • 忽略动态和角色等装饰

将ABC标记保存为MIDI文件

python rappa.py "C D E F G A B c" --save output.mid
python rappa.py "C _E F G" -s blues.mid
uv run rappa.py "C D E F G A B c" --save scale.mid

保存的MIDI文件可以在其他DAW软件和音乐播放器中播放和编辑。

用作MCP服务器

可以将rappa用作MCP服务器。

新电脑的安装步骤

前提条件

  • 安装Python3.10以上
  • 紫外线已安装(建议)

手顺

  1. 克隆存储库:
git clone https://github.com/nexis-yamamoto/rappa.git
cd rappa
  1. 使用uv时(推荐):
# 依存関係をインストール
uv add mcp mido python-rtmidi python-ly

# 動作確認
uv run rappa_mcp_server.py
  1. 使用pip时:
# 依存関係をインストール
pip install -e .

# 動作確認
python rappa_mcp_server.py

在VS代码中设置

VSCode的MCP设置文件(%APPDATA%\Code\User\mcp.json)中添加以下内容:

{
  "servers": {
    "rappa": {
      "command": "uv",
      "args": [
        "--directory",
        "C:\\gits\\rappa",
        "run",
        "rappa_mcp_server.py"
      ],
      "type": "stdio"
    }
  }
}

注意: C:\\gits\\rappa的部分请更改为在您的环境中克隆的实际路径。

设置后,在VSCode的命令调色板(Ctrl+Shift+P)中运行“MCP:Restart Server”以启动服务器。

启动MCP服务器(手动测试)

python rappa_mcp_server.py
# または
uv run rappa_mcp_server.py

可用工具

  1. play_abc_notation -播放ABC记法音乐

- 引数: abc_notation (字符串)-ABC符号字符串 - 例: "C D E F G A B c"

  1. play_lilypool -将LilyPond文本转换为MIDI并播放

- 引数: lilypond_content (字符串)-LilyPond源 - 例: "\\relative c' { c4 d e f }"

  1. parse_abc_note -分析ABC符号的音符

- 引数: note (字符串)-要分析的音符 - 例: "C2", "D/2", "z"

  1. get_note_频率 -获取可用音符和频率列表

在Claude桌面应用程序中设置

%APPDATA%\Claude\claude_desktop_config.json 添加:

{
  "mcpServers": {
    "rappa": {
      "command": "uv",
      "args": [
        "--directory",
        "C:\\gits\\rappa",
        "run",
        "rappa_mcp_server.py"
      ]
    }
  }
}

注意: C:\\gits\\rappa的部分请更改为在您的环境中克隆的实际路径。

设置后,请重新启动Claude桌面应用程序。

关于ABC记法

  • 音符:C,D,E,F,G,A,B(低八度),c,d,e,f,g,a,b(高八度)
  • 休符z
  • 长度:后面加上数字会变长(例如:C2是2倍)
  • 短的:/数字变短(例如:C/2为一半)
  • 临时记号:

- ^:锐化示例: ^F是F# - _:平坦(降低半音)示例: _B是B♭ - =:自然(取消临时符号)示例: =A

关于MIDI再生

主要功能

  1. 播放MIDI文件:将现有MIDI文件发送到MIDI输出端口并演奏
  2. MIDI保存:将ABC记法作曲的音乐保存为MIDI文件

所需MIDI输出设备

rappa需要系统有MIDI输出端口才能发出声音。如果没有MIDI输出端口,则显示错误。

设置虚拟MIDI驱动程序

  • 视窗: loopMIDI安装
  • macOS:系统设置>MIDI设置>启用IAC驱动程序
  • Linux:安装流体系统(sudo apt install fluidsynth

或者,也可以使用“数字审计工作station”中的虚拟MIDI输入。

技术细节

  • MIDI珀斯: mido在库中分析MIDI事件
  • MIDI出力: python-rtmidi将条目添加到文档注册表
  • 周波数变换:MIDI备注编号⇔频率的相互转换

- A4(440Hz)=基于MIDI注释编号69 - 12平均律: freq = 440 * 2^((note-69)/12)

使用例

# ブルースを作曲してMIDI保存
uv run rappa.py "C _E F G F _E D C2" --save blues.mid

# 保存したMIDIを再生
uv run rappa.py blues.mid

# 複雑な曲をMIDI保存
uv run rappa.py "C E G c G E C2 D F A d A F D2" -s arpeggio.mid

目录标签

目录标签

PythonClaude语音音频音乐播放本地部署MIDI转换ABC记法LilyPond支持Python程序

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

4

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP