memlnaut-nisps/schemas/modes/elysiamorf.json
w1n5t0n 1bb0ec5eed Add mode schemas + meta-schema (Stream 5 / meml-7k6)
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.
2026-04-29 15:28:49 +03:00

63 lines
6.2 KiB
JSON

{
"$schema": "../schema.json",
"_note": "8-track FM/CC sequencer that emits MIDI CCs. Each track exposes 5 NN-controlled params (carrier freq, mod freq, mod index, phasor mul, phase offset). The firmware class is templated to NPARAMS=56 but only 40 are consumed in ProcessParams (fbLevel is hard-zero, comment in code); the schema follows actual usage at 40. CC numbers: {1,2,3,4,5,9,11,12}. No voice spaces.",
"mode_id": "elysiamorf",
"engine_id": "elysiamorf",
"ml": {
"input_channels": ["joy_x", "joy_y", "joy_z", "joy_w"],
"input_size": 4,
"hidden_layers": [10, 14, 18],
"output_size": 40,
"default_spread": 0.6,
"default_learning_rate": 1.0,
"default_max_iterations": 1000
},
"params": [
{ "name": "fm0_carrier", "label": "FM0 Carrier", "min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "fm0" },
{ "name": "fm0_mod_freq", "label": "FM0 Mod Freq", "min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "fm0" },
{ "name": "fm0_mod_index", "label": "FM0 Mod Index", "min": 0.0, "max": 1.0, "default": 0.0, "curve": "linear", "group": "fm0" },
{ "name": "fm0_phasor_mul", "label": "FM0 Phasor Mul", "min": 0.0, "max": 1.0, "default": 0.0, "curve": "linear", "group": "fm0" },
{ "name": "fm0_phase_off", "label": "FM0 Phase Off", "min": 0.0, "max": 1.0, "default": 0.0, "curve": "linear", "group": "fm0" },
{ "name": "fm1_carrier", "label": "FM1 Carrier", "min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "fm1" },
{ "name": "fm1_mod_freq", "label": "FM1 Mod Freq", "min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "fm1" },
{ "name": "fm1_mod_index", "label": "FM1 Mod Index", "min": 0.0, "max": 1.0, "default": 0.0, "curve": "linear", "group": "fm1" },
{ "name": "fm1_phasor_mul", "label": "FM1 Phasor Mul", "min": 0.0, "max": 1.0, "default": 0.0, "curve": "linear", "group": "fm1" },
{ "name": "fm1_phase_off", "label": "FM1 Phase Off", "min": 0.0, "max": 1.0, "default": 0.0, "curve": "linear", "group": "fm1" },
{ "name": "fm2_carrier", "label": "FM2 Carrier", "min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "fm2" },
{ "name": "fm2_mod_freq", "label": "FM2 Mod Freq", "min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "fm2" },
{ "name": "fm2_mod_index", "label": "FM2 Mod Index", "min": 0.0, "max": 1.0, "default": 0.0, "curve": "linear", "group": "fm2" },
{ "name": "fm2_phasor_mul", "label": "FM2 Phasor Mul", "min": 0.0, "max": 1.0, "default": 0.0, "curve": "linear", "group": "fm2" },
{ "name": "fm2_phase_off", "label": "FM2 Phase Off", "min": 0.0, "max": 1.0, "default": 0.0, "curve": "linear", "group": "fm2" },
{ "name": "fm3_carrier", "label": "FM3 Carrier", "min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "fm3" },
{ "name": "fm3_mod_freq", "label": "FM3 Mod Freq", "min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "fm3" },
{ "name": "fm3_mod_index", "label": "FM3 Mod Index", "min": 0.0, "max": 1.0, "default": 0.0, "curve": "linear", "group": "fm3" },
{ "name": "fm3_phasor_mul", "label": "FM3 Phasor Mul", "min": 0.0, "max": 1.0, "default": 0.0, "curve": "linear", "group": "fm3" },
{ "name": "fm3_phase_off", "label": "FM3 Phase Off", "min": 0.0, "max": 1.0, "default": 0.0, "curve": "linear", "group": "fm3" },
{ "name": "fm4_carrier", "label": "FM4 Carrier", "min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "fm4" },
{ "name": "fm4_mod_freq", "label": "FM4 Mod Freq", "min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "fm4" },
{ "name": "fm4_mod_index", "label": "FM4 Mod Index", "min": 0.0, "max": 1.0, "default": 0.0, "curve": "linear", "group": "fm4" },
{ "name": "fm4_phasor_mul", "label": "FM4 Phasor Mul", "min": 0.0, "max": 1.0, "default": 0.0, "curve": "linear", "group": "fm4" },
{ "name": "fm4_phase_off", "label": "FM4 Phase Off", "min": 0.0, "max": 1.0, "default": 0.0, "curve": "linear", "group": "fm4" },
{ "name": "fm5_carrier", "label": "FM5 Carrier", "min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "fm5" },
{ "name": "fm5_mod_freq", "label": "FM5 Mod Freq", "min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "fm5" },
{ "name": "fm5_mod_index", "label": "FM5 Mod Index", "min": 0.0, "max": 1.0, "default": 0.0, "curve": "linear", "group": "fm5" },
{ "name": "fm5_phasor_mul", "label": "FM5 Phasor Mul", "min": 0.0, "max": 1.0, "default": 0.0, "curve": "linear", "group": "fm5" },
{ "name": "fm5_phase_off", "label": "FM5 Phase Off", "min": 0.0, "max": 1.0, "default": 0.0, "curve": "linear", "group": "fm5" },
{ "name": "fm6_carrier", "label": "FM6 Carrier", "min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "fm6" },
{ "name": "fm6_mod_freq", "label": "FM6 Mod Freq", "min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "fm6" },
{ "name": "fm6_mod_index", "label": "FM6 Mod Index", "min": 0.0, "max": 1.0, "default": 0.0, "curve": "linear", "group": "fm6" },
{ "name": "fm6_phasor_mul", "label": "FM6 Phasor Mul", "min": 0.0, "max": 1.0, "default": 0.0, "curve": "linear", "group": "fm6" },
{ "name": "fm6_phase_off", "label": "FM6 Phase Off", "min": 0.0, "max": 1.0, "default": 0.0, "curve": "linear", "group": "fm6" },
{ "name": "fm7_carrier", "label": "FM7 Carrier", "min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "fm7" },
{ "name": "fm7_mod_freq", "label": "FM7 Mod Freq", "min": 0.0, "max": 1.0, "default": 0.5, "curve": "linear", "group": "fm7" },
{ "name": "fm7_mod_index", "label": "FM7 Mod Index", "min": 0.0, "max": 1.0, "default": 0.0, "curve": "linear", "group": "fm7" },
{ "name": "fm7_phasor_mul", "label": "FM7 Phasor Mul", "min": 0.0, "max": 1.0, "default": 0.0, "curve": "linear", "group": "fm7" },
{ "name": "fm7_phase_off", "label": "FM7 Phase Off", "min": 0.0, "max": 1.0, "default": 0.0, "curve": "linear", "group": "fm7" }
],
"voice_spaces": [],
"ui": {
"primary_input": "xy_pad",
"show_voice_space_selector": false,
"show_synth_visualizer": false
}
}