动态

介绍DAW鼓机交互组件的JSON schema与参数

介绍DAW鼓机交互组件的JSON schema与参数
宝玉
ecosystem_demo.daw_drums — 完整描述和参数

功能:
将最小数字音频工作站(DAW)渲染为交互式小部件,可创作和播放音乐。你必须提供至少一个鼓轨道。
关键行为:

小部件自动显示给用户,并完整表示工具结果 — 你不需要自己渲染任何内容。

预期输入/结构化输出(示例)

{
"meta": {
"bpm": 128,
"bars": 4
},
"tracks": [
{
"id": "d_kick",
"type": "drum",
"drum": "kick",
"steps": [
1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0,
1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0,
1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0,
1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0
],
"adsr": {
"attack": 0.001,
"decay": 0.08,
"sustain": 0.0,
"release": 0.03
}
},
{
"id": "d_snare",
"type": "drum",
"drum": "snare",
"steps": [
0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0
],
"adsr": {
"attack": 0.001,
"decay": 0.06,
"sustain": 0.0,
"release": 0.03
}
},
{
"id": "d_hihat",
"type": "drum",
"drum": "hihat",
"steps": [
0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0,
0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0,
0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0,
0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0
],
"adsr": {
"attack": 0.001,
"decay": 0.05,
"sustain": 0.0,
"release": 0.02
}
},
{
"id": "d_ohat",
"type": "drum",
"drum": "open_hat",
"steps": [
0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
1.0, 0.0, 0.0, 0.0
],
"adsr": {
"attack": 0.001,
"decay": 0.1,
"sustain": 0.0,
"release": 0.08
}
}
]
}

输入 schema

根对象
meta(对象,必需)
bpm(整数,≥1)— 每分钟节拍数。
bars(整数,≥1)— 循环的小节数。
tracks(数组,必需;minItems:1)— 鼓轨道数组。
轨道对象(tracks 中的每一项)
id(字符串,必需)— 轨道的唯一标识符。
type(字符串,默认:"drum")— 必须为 "drum"。
drum(枚举,必需)— 枚举值之一:
kick | snare | hihat | open_hat | ride | cowbell | triangle | clap | tom
steps(数字数组,必需)— 步进序列器模式,数字数组(例如 1.0 表示开,0.0 表示关)。
adsr(对象,必需)— 幅度包络:
attack(数字 ≥ 0.0)
decay(数字 ≥ 0.0)
sustain(数字 0..1)
release(数字 ≥ 0.0)
如果需要,我可以为特定风格(boom-bap、house、DnB 等)生成完整注释的 JSON,方便你直接调整。
动态宝玉2025-08-08原文

相关内容