Martenot Radio — Technical Submission Guidelines

Martenot Radio interprets music in generative format. Each submitted work must be a JSON configuration file compatible with the Martenot synthesis engine. This file defines instruments, scales, envelopes, patterns and structure — everything needed for the system to perform your piece in real time.

1. File format

• Submit one `.json` file.
• The file must be UTF-8 encoded and valid JSON (check it at jsonlint.com).
• Upload it to a public link (Google Drive, Dropbox, GitHub Gist) and paste that URL in the submission form.

2. Basic structure

This is the minimal structure that the Martenot engine can read and interpret:

{
  "bpm": 60,
  "tracks": [
    {
      "instrument": "pad_strings",
      "mode": "random",
      "rootNote": "C",
      "scale": "minor",
      "volume": 0.8
    }
  ],
  "reverb": { "mix": 0.25 },
  "delay": { "time": 0.4, "feedback": 0.3, "mix": 0.2 }
}
💡 Tip: each instrument is an autonomous agent. The radio interprets and performs your configuration in real time — no two executions sound exactly the same.

3. Extended example with patterns & loops

This example shows how to combine random, sequenced and generative tracks, using patterns and arrangement blocks.

{
  "title": "Stillform in C minor",
  "bpm": 58,
  "reverb": { "mix": 0.3 },
  "delay": { "time": 0.45, "feedback": 0.28, "mix": 0.25 },
  "mastering": {
    "compressor": { "threshold": -14, "ratio": 2.5, "attack": 0.005, "release": 0.2 }
  },
  "tracks": [
    {
      "instrument": "pad_strings",
      "mode": "random",
      "rootNote": "C",
      "scale": "minor",
      "volume": 0.8,
      "noteProbability": 0.4,
      "timingRandomness": 0.25,
      "envelope": { "attack": 1.5, "release": 4 },
      "filter": { "type": "lowpass", "frequency": 1800, "q": 0.8 },
      "automation": {
        "type": "filter_frequency",
        "waveform": "sine",
        "period": 16,
        "min": 500,
        "max": 4000
      }
    },
    {
      "instrument": "harp",
      "mode": "sequence",
      "rootNote": "C",
      "scale": "minor",
      "volume": 0.7,
      "patternLength": 8,
      "sequences": [
        ["C4", "Eb4"], ["G4"], ["Bb4", "C5"], [],
        ["G4"], ["Eb4"], ["C4"], []
      ],
      "envelope": { "attack": 0.2, "release": 1.8 }
    },
    {
      "instrument": "bass_contrabass",
      "mode": "generative_solo",
      "rootNote": "C",
      "scale": "minor",
      "volume": 0.6,
      "noteProbability": 0.2,
      "timingRandomness": 0.4,
      "octaveRange": 1,
      "envelope": { "attack": 3, "release": 6 }
    }
  ]
}

4. Instruments & samples

Use only the instruments and sample identifiers available in the current Martenot engine:

  • pad_strings — sustained string pad texture
  • harp — plucked harmonic texture
  • piano — upright piano tone
  • cello_section — ensemble cello sustain
  • violin_solo — solo violin arco vibrato
  • bass_contrabass — deep orchestral bass
  • flute, oboe, horn_french, tuba
  • recorder_baroque, sax_tenor
  • marimba, xylophone
  • background_rain, background_fire
  • synth_desdibujado, synth_celestial, synth_fractal

Each instrument corresponds to an internal sample or synthesis layer stored in the Martenot engine. You can preview or study the structure of these sources at: 🔗 Martenot Samples Reference

© Martenot Radio · Generative Broadcast · 2025