Skip to content

MCMIDI JSON 结构(适用于GQ音乐编辑器)

完整结构

json
{
  "format": "mcmidi",
  "version": 1,

  "title": "Twinkle Star",
  "author": "traditional",

  "tps": 30,
  "bpm": 120,

  "settings": {
    "loop": false,
    "default_target": "@a",
    "default_position": [0, 0, 0]
  },

  "tracks": [
    {
      "id": "melody",
      "name": "主旋律",
      "instrument": "note.harp",
      "volume": 1.0,
      "enabled": true
    }
  ],

  "notes": [
    {
      "tick": 0,
      "track": "melody",
      "midi": 60,
      "pitch": 1.0,
      "volume": 1.0
    }
  ],

  "total_ticks": 690,
  "total_seconds": 23
}

顶层字段

字段类型作用
formatstring固定格式标识
versionnumberMCMIDI 版本
titlestring乐曲名称
authorstring作者
tpsnumber每秒 Tick 数
bpmnumber乐曲 BPM
settingsobject播放设置
tracksarray轨道列表
notesarray音符列表
total_ticksnumber总 Tick
total_secondsnumber总时长(秒)

settings(暂未启用,后续基本用命令参数替代)

json
{
  "loop": false,
  "default_target": "@a",
  "default_position": [0, 0, 0]
}
字段类型作用
loopboolean是否循环
default_targetstring默认播放目标
default_positionarray默认播放位置

tracks

json
{
  "id": "melody",
  "name": "主旋律",
  "instrument": "note.harp",
  "volume": 1.0,
  "enabled": true
}
字段类型作用
idstring轨道唯一 ID
namestring轨道名称
instrumentstring默认乐器
volumenumber轨道音量
enabledboolean是否启用

notes

json
{
  "tick": 0,
  "track": "melody",
  "midi": 60,
  "pitch": 1.0,
  "volume": 1.0
}
字段类型作用
ticknumber播放 Tick
trackstring所属轨道
midinumberMIDI 音高
pitchnumberMC 音高倍率
volumenumber音量

Tick 示例

json
{
  "tick": 30
}

表示:

txt
第 30 Tick 播放

当:

json
"tps": 30

则:

txt
30 Tick = 1 秒

Pitch 示例

json
{
  "pitch": 1.498
}

对应:

txt
较高音高

常用值:

pitch
C1.000
D1.122
E1.260
F1.335
G1.498
A1.682

Instrument 示例

json
{
  "instrument": "note.harp"
}

常用乐器:

乐器
note.harp
note.bass
note.pling
note.snare
note.hat

Position 示例(暂未启用)

json
"default_position": [0, 64, 0]

表示:

txt
世界坐标 x=0 y=64 z=0

最小示例

json
{
  "format": "mcmidi",
  "version": 1,
  "tps": 30,

  "tracks": [
    {
      "id": "main",
      "instrument": "note.harp"
    }
  ],

  "notes": [
    {
      "tick": 0,
      "track": "main",
      "pitch": 1.0
    }
  ]
}

在线编辑器

MCMIDI 可视化编辑器