用纯文本谱写多乐器乐曲并渲染成 WAV 播放
29.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/23 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add ipqnkhkssnh/vibe-music该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · tool
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 13 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件
查看扫描证据(共 16 处,展示前 16 条)
- 读取本地文件cli/src/cli.js:34
return JSON.parse(readFileSync(pkgUrl, 'utf8')).version || '1.0.0'; - 读取本地文件cli/src/cli.js:224
return { text: readFileSync(0, 'utf8'), sourceName: 'stdin', path: null }; - 读取本地文件cli/src/cli.js:227
if (!existsSync(absolute)) throw new CliError(`找不到歌曲文件:${songPath}`, 'IO'); - 读取本地文件cli/src/cli.js:230
text = readFileSync(absolute, 'utf8'); - 读取本地文件cli/src/cli.js:249
isDirectory = existsSync(target) && statSync(target).isDirectory(); - 读取本地文件cli/src/cli.js:249
isDirectory = existsSync(target) && statSync(target).isDirectory(); - 写入本地文件cli/src/cli.js:259
mkdirSync(dirname(target), { recursive: true }); - 写入本地文件cli/src/cli.js:384
writeFileSync(output.path, wavBuffer); - 删除本地文件cli/src/cli.js:412
unlinkSync(tempPath); - 写入本地文件cli/src/cli.js:559
writeFileSync(output.path, wavBuffer); - 删除本地文件cli/src/cli.js:579
try { unlinkSync(tempPath); } catch (err) { } - 读取本地文件cli/src/demo.js:46
text: readFileSync(path, 'utf8') - 执行外部命令固定命令cli/src/player.js:16
? spawnSync('where', [command], { stdio: 'ignore' }) - 执行外部命令固定命令cli/src/player.js:17
: spawnSync('which', [command], { stdio: 'ignore' }); - 执行外部命令来自配置/变量cli/src/player.js:88
child = spawn(descriptor.cmd, descriptor.args(file), { stdio: 'ignore' }); - 写入本地文件cli/src/wav.js:39
writeFileSync(filePath, buffer);
扫描于 2026/11/4(0 天前) · 范围 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
智能体技能加零依赖命令行,用纯文本乐谱作曲、编曲、演奏多乐器音乐。26 种乐器,输出 WAV。
README
由 DeepSeek 最新模型翻译生成vibe-music
仓库:ipqnkhkssnh/vibe-music
面向智能体的多乐器编曲技能与零依赖命令行。用文本写谱,按场景选 2–4 件合适的乐器,校验、渲染 WAV 并播放。
.piano 只是歌曲脚本的惯用扩展名,不是「只能写钢琴」;也可以命名为 .vibe,内容格式不变。
为什么是 vibe-music
- 少而准:26 种音色是调色板,不是菜单;一首曲子默认 2–4 件乐器,最多 5 件。
- 每件有角色:主旋律、和声铺底、低音、节奏点缀;没有角色的轨道应该删掉。
- 对智能体友好:文本 DSL 或 JSON,--json 输出固定契约,check 不渲染,适合流水线。
- 自包含:命令行就在技能目录的 cli/ 下,零运行时依赖,不需要额外安装服务。
- 跨平台:macOS / Linux 用 vibe.sh,Windows 用 vibe.ps1 或 vibe.cmd。
展开完整文档(README 剩余 1 节)
vibe-music
仓库:ipqnkhkssnh/vibe-music
面向智能体的多乐器编曲技能与零依赖命令行。用文本写谱,按场景选 2–4 件合适的乐器,校验、渲染 WAV 并播放。
.piano 只是歌曲脚本的惯用扩展名,不是「只能写钢琴」;也可以命名为 .vibe,内容格式不变。
为什么是 vibe-music
- 少而准:26 种音色是调色板,不是菜单;一首曲子默认 2–4 件乐器,最多 5 件。
- 每件有角色:主旋律、和声铺底、低音、节奏点缀;没有角色的轨道应该删掉。
- 对智能体友好:文本 DSL 或 JSON,--json 输出固定契约,check 不渲染,适合流水线。
- 自包含:命令行就在技能目录的 cli/ 下,零运行时依赖,不需要额外安装服务。
- 跨平台:macOS / Linux 用 vibe.sh,Windows 用 vibe.ps1 或 vibe.cmd。
特性
- 26 种离线合成音色,覆盖钢琴、电钢、风琴、弦乐、吉他、贝斯、鼓组、管弦、中国风等
- 鼓组 16 种击打别名,含拉丁打击
- 逐音演奏法:bend、grace、trill;轨道级 vibrato、slide
- 吉他 / 钢弦吉他 / 电吉他 strum 扫弦;电吉他 drive 失真
- 16-bit / 44.1kHz 立体声 WAV,Freeverb 混响,峰值归一化
- Node.js ≥ 18,零运行时依赖
快速开始
环境
- Node.js ≥ 18
- 播放依赖系统播放器:macOS 用 afplay,Linux 常见 ffplay,Windows 用 PowerShell SoundPlayer
- 即使没有播放器,render 仍能生成 WAV
运行
git clone https://github.com/ipqnkhkssnh/vibe-music.git vibe-music
或使用 SSH
git clone git@github.com:ipqnkhkssnh/vibe-music.git vibe-music
cd vibe-music
查看版本和乐器 ./scripts/vibe.sh version ./scripts/vibe.sh instruments
播放内置示例 ./scripts/vibe.sh demo jiangnan
校验 / 渲染 / 播放 ./scripts/vibe.sh check song.piano --json ./scripts/vibe.sh render song.piano --out /tmp/song.wav --json ./scripts/vibe.sh play song.piano --out song.wav --json
也可以直接调用命令行:
node cli/bin/vibe.js demo dome
node cli/bin/vibe.js check song.piano --json
想把命令装到 PATH:
cd cli
npm link
vibe instruments
Windows
PowerShell
.\scripts\vibe.ps1 version
.\scripts\vibe.ps1 demo jiangnan
.\scripts\vibe.ps1 check song.piano --json
REM CMD
scripts\vibe.cmd version
scripts\vibe.cmd demo jiangnan
安装到 DSH
macOS / Linux:
mkdir -p "$HOME/.agents/skills"
ln -sfn "$PWD" "$HOME/.agents/skills/vibe-music"
或复制:
cp -R "$PWD" "$HOME/.agents/skills/vibe-music"
Windows PowerShell:
$target = Join-Path $HOME ".agents\skills\vibe-music"
New-Item -ItemType Directory -Force (Split-Path $target) | Out-Null
Copy-Item -Recurse -Force ".\*" $target
安装后,DSH 技能目录会识别 vibe-music,按「写歌 / 编曲 / 配器 / 中国风 / lofi」等触发词自动匹配。
写一首歌
title: 江南 tempo: 66 meter: 4/4 reverb: 0.40 volume: 0.70
主旋律:二胡,带装饰音和弯音 track erhu instrument=erhu vibrato=0.65 slide=0.12 volume=0.52
A3:2{grace=B3} C4:2 | D4:4{bend=-2,time=0.4} |
E4:2 G4:2{bend=+2,time=0.2} | A4:4{trill=+2} |
和声/织体:古筝分解 track zheng instrument=guzheng volume=0.46 A2:0.5 E3:0.5 A3:0.5 C4:0.5 E4:0.5 A4:0.5 C4:0.5 A3:0.5 |
高音点缀:笛子,从第 5 拍进入 track dizi instrument=dizi vibrato=0.4 slide=0.05 volume=0.42 start=4 E5:4 | A5:4 |
配器原则
- 默认 2–4 件,最多 5 件;第 5 件只能是节奏/点缀。
- 主旋律、低音、和声铺底各只留一件。
- 如果删掉一件听不出区别,就删掉它。
- 不要两件乐器同时主旋律,或三件乐器挤在同一频段。
| 场景 | 推荐配器 | 不要 |
| 助眠/摇篮 | musicbox 或 piano + pad + 低音 | 鼓、失真吉他、密集跑动 |
| lofi/夜曲 | epiano + bass + drums(可加 musicbox) | 双主旋律、多件高频 |
| 电影感/氛围 | pad + piano/strings + timpani 或 tubularbells | 全套管弦乐堆叠 |
| 民谣/旧照片 | steelguitar/guitar + upright/bass + violin/accordion + 轻鼓 | 三件吉他、过载吉他 |
| rock/lofi | eguitar + bass + drums + epiano/pad | 同时用 3 件吉他 |
| 爵士/咖啡馆 | harpsichord/epiano + upright + drums + steelguitar | 低音三件叠一起 |
| 中国风 | guzheng + erhu + dizi + pad | 26 件全上、双二胡主旋律 |
26 种音色
- 键盘:piano、epiano、organ、pad、harpsichord
- 拨弦:harp、guitar、steelguitar、eguitar、bass、upright、guzheng
- 弓弦/管乐/人声:strings、cello、violin、erhu、flute、dizi、choir
- 键盘打击/管弦打击:musicbox、marimba、vibraphone、tubularbells、timpani、drums
- 簧片:accordion
drums 是 16 种击打别名:BD/SD/CH/OH/CP/LT/MT/HT/RD/CR/SH/TB/CG/BG/CL/CB。
完整音域、别名和音色说明见 cli/README.md,或运行:
./scripts/vibe.sh instruments --json
常用命令
校验(最快,不渲染) ./scripts/vibe.sh check song.piano --json
渲染 WAV ./scripts/vibe.sh render song.piano --out song.wav --json
渲染并播放(阻塞到播放结束) ./scripts/vibe.sh play song.piano --out song.wav --json
内置示例 ./scripts/vibe.sh demo --list ./scripts/vibe.sh demo dome ./scripts/vibe.sh demo cafe
音高表 / 乐器表 ./scripts/vibe.sh notes --json ./scripts/vibe.sh instruments --json
目录结构
vibe-music/
├── README.md # 中文说明(本文件) ├── README.en.md # English ├── SKILL.md # Agent 工作流、配器表、写谱规则 ├── cli/ # 自包含 CLI │ ├── bin/vibe.js # CLI 入口(vibe / vibe-music) │ ├── src/ # 解析、编译、合成、混响、WAV、播放器 │ ├── examples/ # 内置示例曲 │ ├── test/ # node:test 测试 │ ├── README.md # CLI 完整文档 │ └── AGENTS.md # CLI Agent 速查 ├── references/ │ ├── dsl.md # 谱面语法 / JSON / 输出契约 │ └── composition.md # 情绪配方 / 和声 / 曲式 / 配器 ├── templates/ # 可运行的 2–5 件乐器模板 └── scripts/ ├── vibe.sh # macOS / Linux ├── vibe.ps1 # Windows PowerShell └── vibe.cmd # Windows CMD
开发与测试
cd cli
npm test
当前 37 项测试通过,覆盖解析、编译、26 种乐器、鼓组、演奏法、WAV 输出和 CLI 契约。
文档
- SKILL.md:Agent 工作流与配器原则
- cli/README.md:CLI 完整文档
- references/dsl.md:谱面语法
- references/composition.md:作曲与配器参考
- templates/:可复制模板
- Issues:问题与建议
说明
- 音色是离线物理建模/合成,不是采样;追求录音级真实度时请使用采样音源。
- 不生成 MIDI,输出是 WAV。
- 鼓组没有音高;timpani 有音高,走音名。
- choir 是风格化 formant 合唱,不是真人歌词。
License
MIT © 2026 ipqnkhkssnh
详见 LICENSE。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
ipqnkhkssnh/vibe-music
用纯文本谱写多乐器乐曲并渲染成 WAV 播放
相关插件 · 工具 / 效率
破甲管控台kingcharleslzy-ai/dsh-purge
dsh-purge Community · DeepSeek Harness 社区维护版:宿主兼容、状态诊断、提示词管理、更新与本机备份回滚。基于小杨 / YuJunZhiXue 的 dsh-purge。
★ 4,330已汉化DeepSeek 客户端
74.5
网文长卷lingfengQAQ/webnovel-writer
基于 Claude Code 的长篇网文辅助创作系统,解决 AI 写作中的「遗忘」和「幻觉」问题,支持 200…
★ 7,826已汉化DSH
72.2
花束设计alchaincyf/huashu-design
一句话生成网页、原型、PPT 与信息图等可交付设计
★ 28,638已汉化DSH
71.7
多智能体协作HKUDS/AutoSwarm
AutoSwarm: Unify Your Agents. Unify Your Context (Codex · Claude Code · DeepSeek Harness · Muse · Grok · WorkBuddy· nanobot · and more)
★ 2,349已汉化DSH
71.6
Vox 拼贴视频生成Alisa0808/vox-director
🎬 Vox Director拼贴动效导演
★ 2,129已汉化DSH
71.4
Agent 演化引擎Q00/ouroboros
智能体 OS:智能体自己变聪明,我们只守住底线:面试准入、分阶段评估、带预算的进化循环。MCP 服务器,14 种运行时:Claude Code、Codex CLI、Gemini CLI、OpenCode、Copilot、Kiro 等。
★ 6,311已汉化DSH
71.4
这是你的仓库?认领条目