Skip to content

Elektron Tonverk Preset: the category and the tags are ones the Tonverk knows - #490

Open
douglas-carmichael wants to merge 1 commit into
git-moss:mainfrom
douglas-carmichael:fix-tonverk-preset-category-tags
Open

douglas-carmichael wants to merge 1 commit into
git-moss:mainfrom
douglas-carmichael:fix-tonverk-preset-category-tags

Conversation

@douglas-carmichael

@douglas-carmichael douglas-carmichael commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

Converted Tonverk presets did not show up in the preset menu of the device. The creator copied the category and the keywords of the source into the preset - e.g. category = 'Bell', category = 'Chromatic Percussion', tags = ['analog', 'poly'] - and left out the tags entry when there were no keywords. The Tonverk has two main categories, DRUMS and KEYS, which the CATEGORY filter of the LOAD PRESET menu uses (manual OS 1.4.0, 9.1.4 PRESET), and a fixed set of upper-case tags. The 175 presets of the factory library use only DRUMS, KEYS or no category, and only upper-case tags from that set. Across the factory library and the commercial packs I checked (Offworld Tapes, Rephazer Toneworld 1-3, EOH, Dissolve), every one of the 625 presets has a tags entry, if need be tags = []. Apart from Offworld Tapes, which also uses the tags PAD, BASS and LEAD as categories, none of them has a category other than DRUMS or KEYS.

Changes

  • New TonverkTags maps the metadata of the model onto that vocabulary:
    • Category: DRUMS when the preset is written as a drum kit or the source category is a drum category (Drum, Acoustic Drum, Kick, Snare, Hi-Hat, Clap, Percussion, or DRUMS from a Tonverk source), KEYS otherwise.
    • Tags: the source category and keywords which match one of the 28 tags of the factory library, ignoring the case, plus a few synonyms (FX as SOUND FX, Loops as LOOP, arp/arpeggiated as ARPEGGIO, atmo as ATMOSPHERIC). Everything else is left out. The tags are sorted alphabetically, as the factory presets store them.
  • TonverkPresetFile.write always writes the tags entry, tags = [] when it is empty.
  • README-FORMATS: the Tonverk preset section still described the earlier output layout (samples next to the preset, referenced by a relative name). It now describes the SD-card layout which the creator writes, and the category and tag mapping.

Verification

  • Michael Oakley's TAL-Sampler pack (32 presets), re-converted with the same settings: all 93 WAV files are byte-identical to the previous output, and the .tvpst files differ only in category and tags (now 32 × KEYS; tags BASS ×3, SOUND FX ×3, STRINGS ×2, BRASS ×1, the others tags = []). All 32 parse as TOML and read back with the Tonverk preset detector.
  • Tonverk to Tonverk round trip of 7 factory presets covering the Multi, Drum and One-Shot machines with KEYS, DRUMS and no category, with the output engine set to Multi and to Auto: the tags are kept exactly, DRUMS and KEYS are kept, and presets without a category become KEYS (DRUMS for drums).
  • Built on main 31b0f8a.
  • On the device, the re-converted presets now show up in the preset menu, which none of them did before; 24 of the 32 load. The other 8 cannot be loaded because of their loops, which Elektron Tonverk: loops are written as the Tonverk loads them #491 fixes.

…rk knows

Converted presets did not show up in the preset menu of the Tonverk.
The creator wrote the category and the keywords of the source as the
category and the tags of the preset, e.g. 'Bell' or 'Chromatic
Percussion' and 'analog', and wrote no 'tags' entry when there were no
keywords. The Tonverk knows only its two main categories DRUMS and
KEYS, by which the LOAD PRESET menu filters, and its own set of
upper-case tags, and every preset which the device saves has a 'tags'
entry, if need be an empty one.

A preset now gets the category DRUMS when it is written as a drum kit
or its source is drums and KEYS otherwise. The category and the
keywords of the source which match a tag of the Tonverk become its
tags, sorted like the device stores them (e.g. 'Bass' as BASS, 'FX' as
SOUND FX, 'dark' as DARK); the others are left out. An empty list is
written as 'tags = []'.

The format documentation described the old output layout (samples
next to the preset, referenced by a relative name); it now describes
the SD-card layout which the creator writes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant