JSON Schema Draft 2020-12 meta-schema (schemas/schema.json) plus 8 per-mode schemas authored against the firmware sources: - paf_synth (33 params, 7 voice spaces) - channel_strip (24 params, 6 voice spaces) - xiasri (24 params, direct mapping) - verb_fx (47 params, 12 voice spaces) - memlcelium (56 params, sequencer + dual PAF) - breakor (56 params, 8-track ratio sequencer) - elysiamorf (40 params, 8-track FM/CC sequencer) - sound_analysis_midi (8 params, audio-feature -> MIDI CC) schemas/modes/params_notes.md captures provenance and judgement calls for each mode.
79 lines
8.2 KiB
JSON
79 lines
8.2 KiB
JSON
{
|
|
"$schema": "../schema.json",
|
|
"_note": "56-param drum-machine sequencer (NSEQUENCES=8, 7 ratio-seq params each: 3 ratios + phasor mul + phase offset + 2 amp ratios). No audio engine — emits MIDI notes (kick=36, snare=37, etc.) and i2c triggers. BPM and clock-mode handled outside ML control. No voice spaces.",
|
|
"mode_id": "breakor",
|
|
"engine_id": "breakor",
|
|
"ml": {
|
|
"input_channels": ["joy_x", "joy_y", "joy_z", "joy_w"],
|
|
"input_size": 4,
|
|
"hidden_layers": [10, 14, 18],
|
|
"output_size": 56,
|
|
"default_spread": 0.6,
|
|
"default_learning_rate": 1.0,
|
|
"default_max_iterations": 1000
|
|
},
|
|
"params": [
|
|
{ "name": "kick_ratio0", "label": "Kick Ratio 0", "min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "kick" },
|
|
{ "name": "kick_ratio1", "label": "Kick Ratio 1", "min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "kick" },
|
|
{ "name": "kick_ratio2", "label": "Kick Ratio 2", "min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "kick" },
|
|
{ "name": "kick_pmul", "label": "Kick Phasor Mul","min": 0.0, "max": 1.0, "default": 0.0, "curve": "linear", "group": "kick" },
|
|
{ "name": "kick_poff", "label": "Kick Phase Off", "min": 0.0, "max": 1.0, "default": 0.0, "curve": "linear", "group": "kick" },
|
|
{ "name": "kick_amp0", "label": "Kick Amp 0", "min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "kick" },
|
|
{ "name": "kick_amp1", "label": "Kick Amp 1", "min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "kick" },
|
|
{ "name": "snare_ratio0", "label": "Snare Ratio 0", "min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "snare" },
|
|
{ "name": "snare_ratio1", "label": "Snare Ratio 1", "min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "snare" },
|
|
{ "name": "snare_ratio2", "label": "Snare Ratio 2", "min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "snare" },
|
|
{ "name": "snare_pmul", "label": "Snare Phasor Mul","min": 0.0, "max": 1.0, "default": 0.0, "curve": "linear", "group": "snare" },
|
|
{ "name": "snare_poff", "label": "Snare Phase Off","min": 0.0, "max": 1.0, "default": 0.0, "curve": "linear", "group": "snare" },
|
|
{ "name": "snare_amp0", "label": "Snare Amp 0", "min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "snare" },
|
|
{ "name": "snare_amp1", "label": "Snare Amp 1", "min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "snare" },
|
|
{ "name": "tom_ratio0", "label": "Tom Ratio 0", "min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "tom" },
|
|
{ "name": "tom_ratio1", "label": "Tom Ratio 1", "min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "tom" },
|
|
{ "name": "tom_ratio2", "label": "Tom Ratio 2", "min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "tom" },
|
|
{ "name": "tom_pmul", "label": "Tom Phasor Mul", "min": 0.0, "max": 1.0, "default": 0.0, "curve": "linear", "group": "tom" },
|
|
{ "name": "tom_poff", "label": "Tom Phase Off", "min": 0.0, "max": 1.0, "default": 0.0, "curve": "linear", "group": "tom" },
|
|
{ "name": "tom_amp0", "label": "Tom Amp 0", "min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "tom" },
|
|
{ "name": "tom_amp1", "label": "Tom Amp 1", "min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "tom" },
|
|
{ "name": "lowtom_ratio0", "label": "LowTom Ratio 0", "min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "lowtom" },
|
|
{ "name": "lowtom_ratio1", "label": "LowTom Ratio 1", "min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "lowtom" },
|
|
{ "name": "lowtom_ratio2", "label": "LowTom Ratio 2", "min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "lowtom" },
|
|
{ "name": "lowtom_pmul", "label": "LowTom Phasor Mul","min": 0.0, "max": 1.0, "default": 0.0, "curve": "linear", "group": "lowtom" },
|
|
{ "name": "lowtom_poff", "label": "LowTom Phase Off","min": 0.0, "max": 1.0, "default": 0.0, "curve": "linear", "group": "lowtom" },
|
|
{ "name": "lowtom_amp0", "label": "LowTom Amp 0", "min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "lowtom" },
|
|
{ "name": "lowtom_amp1", "label": "LowTom Amp 1", "min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "lowtom" },
|
|
{ "name": "rim_ratio0", "label": "Rim Ratio 0", "min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "rim" },
|
|
{ "name": "rim_ratio1", "label": "Rim Ratio 1", "min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "rim" },
|
|
{ "name": "rim_ratio2", "label": "Rim Ratio 2", "min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "rim" },
|
|
{ "name": "rim_pmul", "label": "Rim Phasor Mul", "min": 0.0, "max": 1.0, "default": 0.0, "curve": "linear", "group": "rim" },
|
|
{ "name": "rim_poff", "label": "Rim Phase Off", "min": 0.0, "max": 1.0, "default": 0.0, "curve": "linear", "group": "rim" },
|
|
{ "name": "rim_amp0", "label": "Rim Amp 0", "min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "rim" },
|
|
{ "name": "rim_amp1", "label": "Rim Amp 1", "min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "rim" },
|
|
{ "name": "hat_ratio0", "label": "Hat Ratio 0", "min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "hat" },
|
|
{ "name": "hat_ratio1", "label": "Hat Ratio 1", "min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "hat" },
|
|
{ "name": "hat_ratio2", "label": "Hat Ratio 2", "min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "hat" },
|
|
{ "name": "hat_pmul", "label": "Hat Phasor Mul", "min": 0.0, "max": 1.0, "default": 0.0, "curve": "linear", "group": "hat" },
|
|
{ "name": "hat_poff", "label": "Hat Phase Off", "min": 0.0, "max": 1.0, "default": 0.0, "curve": "linear", "group": "hat" },
|
|
{ "name": "hat_amp0", "label": "Hat Amp 0", "min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "hat" },
|
|
{ "name": "hat_amp1", "label": "Hat Amp 1", "min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "hat" },
|
|
{ "name": "ophat_ratio0", "label": "OpenHat Ratio 0","min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "openhat" },
|
|
{ "name": "ophat_ratio1", "label": "OpenHat Ratio 1","min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "openhat" },
|
|
{ "name": "ophat_ratio2", "label": "OpenHat Ratio 2","min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "openhat" },
|
|
{ "name": "ophat_pmul", "label": "OpenHat Phasor Mul","min": 0.0, "max": 1.0, "default": 0.0, "curve": "linear", "group": "openhat" },
|
|
{ "name": "ophat_poff", "label": "OpenHat Phase Off","min": 0.0, "max": 1.0, "default": 0.0, "curve": "linear", "group": "openhat" },
|
|
{ "name": "ophat_amp0", "label": "OpenHat Amp 0", "min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "openhat" },
|
|
{ "name": "ophat_amp1", "label": "OpenHat Amp 1", "min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "openhat" },
|
|
{ "name": "perc_ratio0", "label": "Perc Ratio 0", "min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "perc" },
|
|
{ "name": "perc_ratio1", "label": "Perc Ratio 1", "min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "perc" },
|
|
{ "name": "perc_ratio2", "label": "Perc Ratio 2", "min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "perc" },
|
|
{ "name": "perc_pmul", "label": "Perc Phasor Mul","min": 0.0, "max": 1.0, "default": 0.0, "curve": "linear", "group": "perc" },
|
|
{ "name": "perc_poff", "label": "Perc Phase Off", "min": 0.0, "max": 1.0, "default": 0.0, "curve": "linear", "group": "perc" },
|
|
{ "name": "perc_amp0", "label": "Perc Amp 0", "min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "perc" },
|
|
{ "name": "perc_amp1", "label": "Perc Amp 1", "min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "perc" }
|
|
],
|
|
"voice_spaces": [],
|
|
"ui": {
|
|
"primary_input": "xy_pad",
|
|
"show_voice_space_selector": false,
|
|
"show_synth_visualizer": false
|
|
}
|
|
}
|