XSXB-Band skill
A local studio plus skill: the agent writes the score and real instrument recordings play it, with no music-generation model.
- 110 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- The studio runs a local server, downloads files from the authors' repositories and writes projects to disk, and the agent drives all of this through the API.
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add skills/xsxb-bandDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- The studio runs a local server, downloads files from the authors' repositories and writes projects to disk, and the agent drives all of this through the API.
This is third-party code. Review the repository files before installing.
What it does
XSXB-Band is a local arranging studio with a skill for it. The user describes music in chat, the agent writes an editable score as JSON, and the studio plays it with recordings of real instruments and exports WAV, MIDI and separate tracks. No music-generation model or API key is needed. The library holds 71 instruments: upright piano, strings, winds, percussion, Chinese folk instruments and a drum machine. For each note the engine picks the nearest recording, switches it by velocity, rotates repeats and adds humanization and reverb. The agent reads the render report with levels and clipping and balances the mix itself. Tweaks happen in the browser: piano roll, drum grid, volume, pan and reverb per track.
Who it is for. Video and game makers who need background music from a description, and musicians who want to edit notes after the agent.
Good fit when
- A video needs a 30-second piece in a given style: folk, jazz or cinematic.
- A part must change on the fly: move the erhu back or make it one minute.
- Background music should come from CC0-licensed recordings with no generative model.
- A user records their own voice as a set of 45 notes and uses it in an arrangement.
Not a fit when
- You need song lyrics: the skill does not write them.
- You need glides on the 808 bass or guitar bends: the library lacks them.
- Disk space is short: downloading every recording takes about 1.5 GB.
Example request
Make thirty seconds of tense trap-style music and show the render report.Limitations
Node.js 22.12 or newer is required and the studio runs locally on port 4318. The repository holds no audio files: when needed the studio downloads recordings from the authors' repositories and verifies them by SHA-256, and the full set takes about 1.5 GB. NAM amp head models are distributed under GPL-3.0. The sampler does not sing words, and some instruments, such as the guzheng and suona, are built from public recordings or replaced with similar timbres. A person has to judge the quality by ear.
How to disable. Stop the studio (`npm start` or `start.bat`) and delete `skills/xsxb-band/` from the agent skills directory. Downloaded recordings sit in `data/samples/` inside the studio.
FAQ
How do I install the studio?
Give the agent the repository link: it reads `AGENTS.md`, installs dependencies, builds, starts the server and sets up the skill. Manually run `npm ci`, `npm run build` and `npm start`.
Are API keys required?
No. The skill calls no music-generation model, the agent writes the score and instrument recordings play it.
How do I open the editor?
Start the studio and open `http://127.0.0.1:4318`. It has a piano roll, a drum machine and per-track settings.
Can I add my own voice?
Yes. Record 45 notes at `/voice-kit/` and run `python voice-kit/slice_voice.py` to get a personal voice instrument. The recording stays in the local `data/` folder.
What can I export?
WAV, MIDI and separate tracks. The project with its score is saved to the studio song library and stays editable.
Discussion
No questions or reviews yet.
Related
SkillsOriginal instrumental music written as notes, with no audio generator: the agent composes, the skill reviews and mixes.
A skill that turns a song recording into a five-piece school band arrangement: MIDI, PDF and an editable MuseScore file
29 skills for composing and arranging pop music: from a brief the agent fills in a spec sheet for Suno, YuE2 or MIDI
A MiniMax skill that turns a short song description and tagged lyrics into a detailed prompt for the MiniMax Music 3 generator
MCP Music Studio: music in chat with an agent
mcp-music-studio
An MCP server where an agent writes ABC sheet music or a Strudel live beat and the player with an editor opens in chat
A local sound studio with an MCP server: an agent makes effects, music, songs and speech on open-weight models
README in short
The repository holds a Node.js studio, the `skills/xsxb-band/` skill, agent API documentation, nine sample projects and a catalog of recording sources with licenses. The README is kept in Chinese and English.
README badge
Original SKILL.md
---
name: xsxb-band
description: "用 XSXB-Band(小宝乐队)本地工作室为用户作曲、编曲、修改音符、调音色,并用真实采样导出 WAV / MIDI。用户想要一段配乐、背景音乐、某种风格的曲子,或要修改工作室里的乐谱和音色时使用;不用于写歌词,也不调用音乐生成模型。"
---
# XSXB-Band · 小宝乐队
你负责写谱和编曲;工作室用真实录音的乐器演奏、混音、保存和导出。乐谱是可编辑的 JSON,用户之后可以在网页钢琴卷帘里继续改。不调用任何音乐生成模型。
## 找到工作室
- 工作室根目录按顺序确定:`--studio` 参数 → 环境变量 `XSXB_BAND_HOME` → 本 skill 目录下 `studio-path.txt` 的第一行 → 本 skill 所在仓库(skill 位于仓库 `skills/xsxb-band/` 时)。都没有时询问用户。
- 默认服务 `http://127.0.0.1:4318`,可用 `--url` 或 `KLEIN_URL` 覆盖。
- 先读工作室的 `AGENTS.md`、`docs/AGENT-API.md`,再获取 `/api/health`、`/api/state`、`/api/library`。以实时服务和清单为准,不沿用聊天里的版本号、曲名或音色数量。
- 服务未运行时在工作室目录启动:首次 `npm ci` 和 `npm run build`,之后 `npm start`(Windows 可双击 `start.bat`;后台启动用 `Start-Process -WindowStyle Hidden`)。服务已可用就复用,不为编曲重启。
- Windows PowerShell 读写中文文档 / JSON 时显式使用 UTF-8。
工作室 CLI(在工作室目录运行):
```text
node scripts/agent.mjs state | library
node scripts/agent.mjs install <工程JSON> 下载工程用到的全部音源
node scripts/agent.mjs apply <{revision,project} JSON>
node scripts/agent.mjs song list | song save <{project} JSON> | song open <ID>
node scripts/agent.mjs request list | request complete <ID>
```
没有 CLI 的 Agent 直接调用同一 REST API,写请求用 `Content-Type: application/json`。
## 开工前先问
收到需求后,先拿实时音色清单和这种风格的常见编制比一比,看缺什么。然后用**一条消息**问 1–3 个会改变结果的问题,每个问题都带上你打算的默认做法,用户回一句"按默认"就能开工。优先问这几类:
- **编制缺口和新乐器**:库里最近加的乐器,见 references 的乐器表,风格对得上时要列为可选项。这种风格常用的乐器,清单里没有,或者只有替代品时,问用户:先补 CC0 音源,用相近的乐器代替,还是不用?例:spiritual jazz 缺叮叮镲、手鼓、风铃;民乐缺箫、唢呐;嘻哈缺采样 loop。
- **用途和长度**:视频配乐、游戏循环还是独立作品;时长多少;要不要能无缝循环;有没有对白需要避让。
- **参照和版权**:用户提到具体的歌或艺术家时,问清楚是"风格致敬"(原创旋律),还是"翻奏原曲"。翻奏要说明版权情况,公有领域的作品可以放心用。
- **人声**:采样器唱不了歌词。需要人声时,说明能做到的范围:哼鸣、无词元音、beatbox。
- **速度、调性、情绪**:只在需求里完全没有线索时才问。
不要问的:
- 清单内容、服务状态这类自己查得到的事;
- 用户已经说清楚的事;
- 纯实现细节。