Skip to content

Patch Formats

Mauro Moreno edited this page Aug 30, 2026 · 3 revisions

Patch and Bank Formats

.sy1 reference format

Quesynth reads Synth1's own patch files directly, including the pre-1.07 upgrade path: files written at version 105 have parameters 21, 37, 52, 54 and 55 remapped, and the envelope curve for 16, 18, 26 and 28 converted, exactly as the original does when it opens an old patch.

Quesynth accepts a .zip of .sy1 files, a directory of .sy1 files, an archive containing bank archives, or Quesynth JSON. See Banks and patches.

Quesynth JSON formats

Name-keyed rather than index-keyed, so a patch file is readable and diffable:

{
  "format": "quesynth.patch",
  "version": 1,
  "name": "Strings",
  "parameters": {
    "osc1 shape": 1,
    "osc2 shape": 1,
    "filter type": 1,
    "*filter freq": 58
  }
}

Values are stored integers, not display values. The Quesynth writer emits a complete parameter map. The reader also accepts sparse documents and supplies defaults for missing parameters. An unknown parameter name is an error rather than a value to skip.

A bank is the same with a patches array — and an empty slot in it is written as null rather than skipped. That is what keeps the numbering: a patch in slot 41 has to still be 41 after a round trip, and a reader that dropped the gaps would shift every later patch down by one.


← Patch archetypes · Architecture →

Clone this wiki locally