Tonverk: SD card - about its folders and filetypes ONLY

Thought I’d provide a refreshed header topic starter summarizing what we’ve learned so far as at 3rd June 2026, as below. Will try to another refresh in maybe a few months if helpful!

SD card structure: what’s known

  • The card is FAT32 in Elektron’s factory image, with three top‑level folders: .system, Elektron, and User.
  • .system contains active_project with various project‑state files; it is visible on Windows, and on macOS it behaves like a normal dot‑folder (hidden unless you show hidden files).
  • Elektron holds the factory content, including the Tonverk Factory Library with drum sets, multisamples, single samples, and other bundled material.
  • User mirrors the factory library structure and is the default target for saving projects, presets, samples, instruments, etc. Elektron explicitly recommends putting your own content only under User to avoid collisions with factory assets.
  • Samples are not project‑local: if you move or delete samples or folders, all projects referencing them will lose those sounds and show them as missing.

Illustrative takeaway: the SD layout is essentially a shared asset pool, where projects and presets hold references into a common sample tree rather than embedding audio.


File types: format and semantics

.eldrum (Drum Set mapping)

  • .eldrum is a human‑readable TOML mapping that defines an Elektron drum set.
  • Structure is based on repeated [[key-zones]] sections, each containing a MIDI pitch, key-center, and nested velocity-layers, which in turn contain sample-slots with a sample file name.
  • The sample entries expect filenames located in the same folder as the .eldrum file.
  • Values such as velocity and strategy (e.g. Forward) define velocity mapping and playback mode per zone.

Net effect: .eldrum is a straightforward TOML version of a multi‑zone drum kit definition, conceptually similar to SFZ key/velocity mapping but in TOML syntax.

.elmulti (Multi‑sample Instrument mapping)

  • .elmulti is also TOML and structurally very similar to .eldrum, but used for melodic multisampled instruments.
  • It also uses [[key-zones]] with pitch, key-center, velocity, strategy, and per‑zone sample definitions.
  • The file includes a header with # ELEKTRON MULTI-SAMPLE MAPPING FORMAT, version, and name of the instrument.
  • Samples referenced in .elmulti live in the same folder, named with Tonverk’s autosampling convention (e.g. 4 Toys-000-060-c3.wav).

Important nuance from the thread: on‑device autosampling aggregates individual WAVs into a single “chain” file internally, but the exported .elmulti mapping still references the individual WAV files when using a PC‑based workflow. This suggests the format supports both “many files” and “single chain” backends.

.tvpst (Preset)

  • .tvpst is again structured as a TOML‑like plaintext file containing a version, category, optional tags, a huge [parameters] table, and a nested [parameters.gen_drum_mapping_slot] structure with its own key-zones mapping.
  • A preset does not embed audio; it holds references to samples or instruments on the SD card:
    • Single Player: one sample path.
    • Subtracks: up to eight separate samples collected as a drum‑style instrument.
    • Multi Player: one multisample instrument (.elmulti).
  • The preset also captures the entire track sound‑engine state: SRC machine choice, filter settings, amp envelope, two insert FX configurations, modulation, LFOs, performance mod destinations, etc.
  • If the track uses the MIDI machine, the preset contains no sample references at all.

The [parameters.gen_drum_mapping_slot] section demonstrates full absolute paths like /mnt/sdcard/Elektron/Tonverk Factory Library/..., confirming that presets can reference assets anywhere on the card, not just in a local directory.


Design inferences and practical implications

  • All three formats (.eldrum, .elmulti, .tvpst) are built on TOML and visibly borrow ideas from SFZ‑style key/velocity mapping. Posters infer Elektron used TOML rather than XML to keep the format extensible and easier to evolve without full SFZ compatibility obligations.
  • Because the formats are text and relatively regular, several participants note that simple scripts/utilities should be easy to write for:
    • Bulk editing mappings or parameters.
    • Renaming and path‑rewriting when you reorganize your sample folders.
    • Generating .elmulti mappings from a directory of chromatic samples.
    • Fixing “virtual latency” by trimming silence or adjusting mapping parameters.
  • There is an explicit interest in a browser‑based instrument maker that would take WAVs (drag‑and‑drop), generate the corresponding mapping files and folder structure, and output Tonverk‑ready content.

Mentioned in the post below: a utility that can turn pre‑existing multisample sets (e.g. “All the Samples from Mars”) into Tonverk multisamples, supporting both “individual slices” and “sample chain per velocity layer” modes.


Still‑open or partially answered questions

1. Exact behavior of .system and project internals

  • While .system/active_project is known to contain project‑related files, the thread does not fully document their individual schemas or which parts of project state live there vs in .sst project files.
  • It is not fully clarified whether users should ever manipulate .system directly, or whether doing so risks corrupting state; the practical advice is implicitly “leave it alone”.

Unanswered angle: a rigorous mapping of project‑level state across .system, .sst, and other internal files.

2. Path rules and portability constraints

  • .tvpst examples show hard‑coded absolute paths (/mnt/sdcard/...), while .eldrum and .elmulti mappings shown use local filenames only.
  • There is no definitive statement in the thread on:
    • What happens if you move a mapped instrument to another folder and then bulk‑update paths.
    • Whether paths must stay within Elektron/User or can be arbitrary.
    • How robust presets are to path changes across cards (e.g. a user‑cloned card with slightly different folder layout).

In practice, it is clear that moving or deleting files breaks references, but the exact rules for safe re‑organization plus automated rewriting remain to be systematized.

3. Performance implications: chain vs many files

  • One user notes that Tonverk internally “aggregates all the samples into a single file” for multisamples, and the utility they are building can either use individual slices (robin mode) or a sample chain per velocity layer.
  • They speculate, reasonably, that reading a single large sample buffer could be more efficient than opening many small files, especially for large, detailed multisamples with thousands of slices.
  • However, there is no benchmark data in this thread specifically comparing:
    • On‑device performance of native autosampled chain vs multi‑WAV PC‑generated .elmulti.
    • Impact on load times, polyphony, or glitch resistance in extreme cases.

So the optimal engineering pattern for massive multisample libraries (chains vs many files) remains an open performance‑tuning question.

4. Official vs community tooling for instrument creation

  • Multiple posts express a desire for:
    • An Elektron‑provided utility to create Multi Player instruments from existing WAV collections.
    • Or at least documentation and support for third‑party tool authors.
  • Elektron has not, in this thread, announced such a tool, and a respondent from “Samples From Mars” indicated they have no current plans to add .elmulti files to their libraries and are not familiar with Tonverk yet.
  • One community developer states they are actively working on a converter/utility, but the thread does not yet present a finished, widely available tool with full feature coverage.

Open area: a mature, documented, widely‑used toolchain for generating .elmulti and .eldrum programmatically from third‑party libraries.

5. Specification completeness and versioning

  • The example files show version = 0 (for .eldrum/.elmulti) and version = 2 for .tvpst, but the thread does not contain an explicit spec of what each version number implies, or which fields are optional/required.
  • There is no clear backward‑/forward‑compatibility guidance (e.g. how Tonverk behaves if it sees unknown keys, or how future OS versions might extend these formats).

Unanswered: a formal, “spec‑level” description of these formats and their evolution, which would matter if you’re building robust external tooling.


Practical “known‑good” working guidelines

Based on the thread, the following practices are safe and supported:

  • Keep user content under User and do not edit .system or factory content unless you really know what you are doing.
  • When designing libraries, treat .eldrum and .elmulti as TOML mapping layers over 48 kHz mono/stereo WAVs or AIFFs; other sample rates will play but with some quality degradation.
  • If you plan to re‑organize samples, expect to update paths in .tvpst (and potentially .elmulti/.eldrum) or accept broken references.
  • Building small utilities in Python or similar to:
    • Generate mapping files from directory listings.
    • Rewrite paths.
    • Apply systematic parameter tweaks.
      is entirely feasible and aligns with how the formats are structured.
1 Like
1 Like

Is system a hidden folder? I’m on a Mac. Just trying to figure out the best way to transfer everything properly over to a new sd card.

Not on Windows … but when I enable ‘hidden files’ on Windows I also see a ‘.Trashes’ folder at the root

1 Like

.eldrum filetype for Drum Sets
It sets out, for each of 8 samples:

  • pitch e.g 60
  • key-center e.g 60
  • velocity e.g 0.24705882
  • strategy e.g ‘Forward’
  • sample file name (in the same folder)

Tonverk can load and play WAV and AIFF audio files (samples) with 16/24/32-bit depth (floating and fixed point) and a sample rate of 48 kHz (mono and stereo interleaved). Files with other sample rates (44.1 kHz/88.2 kHz/ 96 kHz) can also be loaded, but they will gracefully degrade in quality when played back

File contents in the Summary below:

Summary

ELEKTRON DRUM SET MAPPING FORMAT

version = 0
name = “Bit box”

[[key-zones]]
pitch = 60
key-center = 60.0

[[key-zones.velocity-layers]]
velocity = 0.24705882
strategy = ‘Forward’

[[key-zones.velocity-layers.sample-slots]]
sample = “Bitbox-000-060-c3.wav”

[[key-zones]]
pitch = 62
key-center = 62.0

[[key-zones.velocity-layers]]
velocity = 0.24705882
strategy = ‘Forward’

[[key-zones.velocity-layers.sample-slots]]
sample = “Bitbox-000-062-d3.wav”

[[key-zones]]
pitch = 64
key-center = 64.0

[[key-zones.velocity-layers]]
velocity = 0.24705882
strategy = ‘Forward’

[[key-zones.velocity-layers.sample-slots]]
sample = “Bitbox-000-064-e3.wav”

[[key-zones]]
pitch = 65
key-center = 65.0

[[key-zones.velocity-layers]]
velocity = 0.24705882
strategy = ‘Forward’

[[key-zones.velocity-layers.sample-slots]]
sample = “Bitbox-000-065-f3.wav”

[[key-zones]]
pitch = 67
key-center = 67.0

[[key-zones.velocity-layers]]
velocity = 0.24705882
strategy = ‘Forward’

[[key-zones.velocity-layers.sample-slots]]
sample = “Bitbox-000-067-g3.wav”

[[key-zones]]
pitch = 69
key-center = 69.0

[[key-zones.velocity-layers]]
velocity = 0.24705882
strategy = ‘Forward’

[[key-zones.velocity-layers.sample-slots]]
sample = “Bitbox-000-069-a3.wav”

[[key-zones]]
pitch = 71
key-center = 71.0

[[key-zones.velocity-layers]]
velocity = 0.24705882
strategy = ‘Forward’

[[key-zones.velocity-layers.sample-slots]]
sample = “Bitbox-000-071-h3.wav”

[[key-zones]]
pitch = 72
key-center = 72.0

[[key-zones.velocity-layers]]
velocity = 0.24705882
strategy = ‘Forward’

[[key-zones.velocity-layers.sample-slots]]
sample = “Bitbox-000-072-c4.wav”

1 Like

.elmulti filetype for Multi-samples
Very similar to the .eldrum format, it sets out, for each of however many samples in the folder are in your multi-sample:

  • pitch e.g 60
  • key-center e.g 60
  • velocity e.g 0.24705882
  • strategy e.g ‘Forward’
  • sample file name (in the same folder)

File contents in the Summary below:

Summary

ELEKTRON MULTI-SAMPLE MAPPING FORMAT

version = 0
name = ‘4 Toys’

[[key-zones]]
pitch = 36
key-center = 38.0

[[key-zones.velocity-layers]]
velocity = 0.24313726
strategy = ‘Forward’

[[key-zones.velocity-layers.sample-slots]]
sample = “4 Toys-000-038-d1.wav”

[[key-zones]]
pitch = 38
key-center = 38.0

[[key-zones.velocity-layers]]
velocity = 0.24313726
strategy = ‘Forward’

[[key-zones.velocity-layers.sample-slots]]
sample = “4 Toys-000-038-d1.wav”

[[key-zones]]
pitch = 40
key-center = 40.0

[[key-zones.velocity-layers]]
velocity = 0.24313726
strategy = ‘Forward’

[[key-zones.velocity-layers.sample-slots]]
sample = “4 Toys-000-040-e1.wav”

[[key-zones]]
pitch = 42
key-center = 42.0

[[key-zones.velocity-layers]]
velocity = 0.24313726
strategy = ‘Forward’

[[key-zones.velocity-layers.sample-slots]]
sample = “4 Toys-000-042-f#1.wav”

[[key-zones]]
pitch = 44
key-center = 44.0

[[key-zones.velocity-layers]]
velocity = 0.24313726
strategy = ‘Forward’

[[key-zones.velocity-layers.sample-slots]]
sample = “4 Toys-000-044-g#1.wav”

[[key-zones]]
pitch = 46
key-center = 46.0

[[key-zones.velocity-layers]]
velocity = 0.24313726
strategy = ‘Forward’

[[key-zones.velocity-layers.sample-slots]]
sample = “4 Toys-000-046-a#1.wav”

[[key-zones]]
pitch = 48
key-center = 48.0

[[key-zones.velocity-layers]]
velocity = 0.24313726
strategy = ‘Forward’

[[key-zones.velocity-layers.sample-slots]]
sample = “4 Toys-000-048-c2.wav”

[[key-zones]]
pitch = 50
key-center = 50.0

[[key-zones.velocity-layers]]
velocity = 0.24313726
strategy = ‘Forward’

[[key-zones.velocity-layers.sample-slots]]
sample = “4 Toys-000-050-d2.wav”

[[key-zones]]
pitch = 52
key-center = 52.0

[[key-zones.velocity-layers]]
velocity = 0.24313726
strategy = ‘Forward’

[[key-zones.velocity-layers.sample-slots]]
sample = “4 Toys-000-052-e2.wav”

[[key-zones]]
pitch = 54
key-center = 54.0

[[key-zones.velocity-layers]]
velocity = 0.24313726
strategy = ‘Forward’

[[key-zones.velocity-layers.sample-slots]]
sample = “4 Toys-000-054-f#2.wav”

[[key-zones]]
pitch = 56
key-center = 56.0

[[key-zones.velocity-layers]]
velocity = 0.24313726
strategy = ‘Forward’

[[key-zones.velocity-layers.sample-slots]]
sample = “4 Toys-000-056-g#2.wav”

[[key-zones]]
pitch = 58
key-center = 58.0

[[key-zones.velocity-layers]]
velocity = 0.24313726
strategy = ‘Forward’

[[key-zones.velocity-layers.sample-slots]]
sample = “4 Toys-000-058-a#2.wav”

[[key-zones]]
pitch = 60
key-center = 60.0

[[key-zones.velocity-layers]]
velocity = 0.24313726
strategy = ‘Forward’

[[key-zones.velocity-layers.sample-slots]]
sample = “4 Toys-000-060-c3.wav”

[[key-zones]]
pitch = 62
key-center = 62.0

[[key-zones.velocity-layers]]
velocity = 0.24313726
strategy = ‘Forward’

[[key-zones.velocity-layers.sample-slots]]
sample = “4 Toys-000-062-d3.wav”

[[key-zones]]
pitch = 64
key-center = 64.0

[[key-zones.velocity-layers]]
velocity = 0.24313726
strategy = ‘Forward’

[[key-zones.velocity-layers.sample-slots]]
sample = “4 Toys-000-064-e3.wav”

[[key-zones]]
pitch = 66
key-center = 66.0

[[key-zones.velocity-layers]]
velocity = 0.24313726
strategy = ‘Forward’

[[key-zones.velocity-layers.sample-slots]]
sample = “4 Toys-000-066-f#3.wav”

[[key-zones]]
pitch = 68
key-center = 68.0

[[key-zones.velocity-layers]]
velocity = 0.24313726
strategy = ‘Forward’

[[key-zones.velocity-layers.sample-slots]]
sample = “4 Toys-000-068-g#3.wav”

[[key-zones]]
pitch = 70
key-center = 70.0

[[key-zones.velocity-layers]]
velocity = 0.24313726
strategy = ‘Forward’

[[key-zones.velocity-layers.sample-slots]]
sample = “4 Toys-000-070-a#3.wav”

[[key-zones]]
pitch = 72
key-center = 72.0

[[key-zones.velocity-layers]]
velocity = 0.24313726
strategy = ‘Forward’

[[key-zones.velocity-layers.sample-slots]]
sample = “4 Toys-000-072-c4.wav”

[[key-zones]]
pitch = 74
key-center = 74.0

[[key-zones.velocity-layers]]
velocity = 0.24313726
strategy = ‘Forward’

[[key-zones.velocity-layers.sample-slots]]
sample = “4 Toys-000-074-d4.wav”

[[key-zones]]
pitch = 76
key-center = 76.0

[[key-zones.velocity-layers]]
velocity = 0.24313726
strategy = ‘Forward’

[[key-zones.velocity-layers.sample-slots]]
sample = “4 Toys-000-076-e4.wav”

[[key-zones]]
pitch = 78
key-center = 78.0

[[key-zones.velocity-layers]]
velocity = 0.24313726
strategy = ‘Forward’

[[key-zones.velocity-layers.sample-slots]]
sample = “4 Toys-000-078-f#4.wav”

[[key-zones]]
pitch = 80
key-center = 80.0

[[key-zones.velocity-layers]]
velocity = 0.24313726
strategy = ‘Forward’

[[key-zones.velocity-layers.sample-slots]]
sample = “4 Toys-000-080-g#4.wav”

[[key-zones]]
pitch = 82
key-center = 82.0

[[key-zones.velocity-layers]]
velocity = 0.24313726
strategy = ‘Forward’

[[key-zones.velocity-layers.sample-slots]]
sample = “4 Toys-000-082-a#4.wav”

[[key-zones]]
pitch = 84
key-center = 84.0

[[key-zones.velocity-layers]]
velocity = 0.24313726
strategy = ‘Forward’

[[key-zones.velocity-layers.sample-slots]]
sample = “4 Toys-000-084-c5.wav”

[[key-zones]]
pitch = 86
key-center = 86.0

[[key-zones.velocity-layers]]
velocity = 0.24313726
strategy = ‘Forward’

[[key-zones.velocity-layers.sample-slots]]
sample = “4 Toys-000-086-d5.wav”

[[key-zones]]
pitch = 88
key-center = 88.0

[[key-zones.velocity-layers]]
velocity = 0.24313726
strategy = ‘Forward’

[[key-zones.velocity-layers.sample-slots]]
sample = “4 Toys-000-088-e5.wav”

[[key-zones]]
pitch = 90
key-center = 90.0

[[key-zones.velocity-layers]]
velocity = 0.24313726
strategy = ‘Forward’

[[key-zones.velocity-layers.sample-slots]]
sample = “4 Toys-000-090-f#5.wav”

[[key-zones]]
pitch = 92
key-center = 92.0

[[key-zones.velocity-layers]]
velocity = 0.24313726
strategy = ‘Forward’

[[key-zones.velocity-layers.sample-slots]]
sample = “4 Toys-000-092-g#5.wav”

[[key-zones]]
pitch = 94
key-center = 94.0

[[key-zones.velocity-layers]]
velocity = 0.24313726
strategy = ‘Forward’

[[key-zones.velocity-layers.sample-slots]]
sample = “4 Toys-000-094-a#5.wav”

[[key-zones]]
pitch = 96
key-center = 96.0

[[key-zones.velocity-layers]]
velocity = 0.24313726
strategy = ‘Forward’

[[key-zones.velocity-layers.sample-slots]]
sample = “4 Toys-000-096-c6.wav”

2 Likes

.tvpst filetype for Presets

A .tvpst preset contains REFERENCES TO OTHER SD CARD LOCATIONS to

  • a sample (for the Single Player machine),
  • eight separate samples collected in an Instrument (for the Subtracks machine)
  • a multi-sample Instrument (for the Multi Player machine)

plus all the track settings in the SRC, FLTR, AMP, FX (only the settings for the two insert effects), and MOD parameter pages.

If you have selected the MIDI machine as a SRC machine, the preset will not contain any samples.

File contents in the Summary below:

Summary

version = 2
category = ‘DRUMS’
tags =

[parameters]
arp_enabled = ‘0’
arp_speed = ‘13’
arp_note_length = ‘14’
arp_mode = ‘0’
arp_range = ‘1’
lfo1_speed = ‘32’
lfo1_multiplier = ‘1’
lfo1_destination = ‘’
lfo1_depth = ‘0’
lfo1_waveform = ‘Sine’
lfo1_start_phase = ‘0’
lfo1_trig_mode = ‘Free’
lfo1_smoothing = ‘0’
lfo2_speed = ‘32’
lfo2_multiplier = ‘1’
lfo2_destination = ‘’
lfo2_depth = ‘0’
lfo2_waveform = ‘Random’
lfo2_start_phase = ‘0’
lfo2_trig_mode = ‘Hold’
lfo2_fade = ‘0’
lfo2_smoothing = ‘0’
pitchbend_value = ‘0’
pitchbend_mod1_destination = ‘’
pitchbend_mod2_destination = ‘’
pitchbend_mod3_destination = ‘’
pitchbend_mod4_destination = ‘’
pitchbend_mod1_depth = ‘0’
pitchbend_mod2_depth = ‘0’
pitchbend_mod3_depth = ‘0’
pitchbend_mod4_depth = ‘0’
aftertouch_value = ‘0’
aftertouch_mod1_destination = ‘’
aftertouch_mod2_destination = ‘’
aftertouch_mod3_destination = ‘’
aftertouch_mod4_destination = ‘’
aftertouch_mod1_depth = ‘0’
aftertouch_mod2_depth = ‘0’
aftertouch_mod3_depth = ‘0’
aftertouch_mod4_depth = ‘0’
modwheel_value = ‘0’
modwheel_mod1_destination = ‘’
modwheel_mod2_destination = ‘’
modwheel_mod3_destination = ‘’
modwheel_mod4_destination = ‘’
modwheel_mod1_depth = ‘0’
modwheel_mod2_depth = ‘0’
modwheel_mod3_depth = ‘0’
modwheel_mod4_depth = ‘0’
breath_control_value = ‘0’
breath_control_mod1_destination = ‘’
breath_control_mod2_destination = ‘’
breath_control_mod3_destination = ‘’
breath_control_mod4_destination = ‘’
breath_control_mod1_depth = ‘0’
breath_control_mod2_depth = ‘0’
breath_control_mod3_depth = ‘0’
breath_control_mod4_depth = ‘0’
fx1_machine = ‘13’
fx1_dirtshaper_drive = ‘0’
fx1_dirtshaper_rectify = ‘0.015748031’
fx1_dirtshaper_hpf = ‘0.503937’
fx1_dirtshaper_lpf = ‘1’
fx1_dirtshaper_xnoise = ‘0.1023622’
fx1_dirtshaper_noise_freq = ‘0.503937’
fx1_dirtshaper_noise_reso = ‘0’
fx1_dirtshaper_mix = ‘1’
fx2_machine = ‘3’
fx2_comb_frequency = ‘0.75’
fx2_comb_feedback = ‘0.6640625’
fx2_comb_damping = ‘1’
fx2_comb_mod_start_phase = ‘-0.0027855153’
fx2_comb_detune = ‘0.44085938’
fx2_comb_mod_rate = ‘0.27559054’
fx2_comb_mod_depth = ‘0.48818898’
fx2_comb_mix = ‘0.89’
midi_machine = ‘0’
gen_machine = ‘2’
gen_drum_note_priority = ‘0’
gen_drum_note_reuse_voices = ‘1’
gen_drum_velocity_curve = ‘3’
gen_drum_tune = ‘0.5’
gen_drum_gain = ‘1’
gen_drum_filter_routing = ‘5’
gen_drum_voice0_tune = ‘0.5’
gen_drum_voice0_play_mode = ‘1’
gen_drum_voice0_sample_start = ‘0’
gen_drum_voice0_play_length = ‘1’
gen_drum_voice0_loop_point = ‘-0.00008333333’
gen_drum_voice0_overdrive = ‘0.24409449’
gen_drum_voice0_base = ‘0’
gen_drum_voice0_width = ‘1’
gen_drum_voice0_filter_type = ‘0.9448819’
gen_drum_voice0_filter_frequency = ‘0.19669291’
gen_drum_voice0_filter_resonance = ‘0.53543305’
gen_drum_voice0_filter_env_delay = ‘0’
gen_drum_voice0_filter_env_attack = ‘0’
gen_drum_voice0_filter_env_decay = ‘0.42519686’
gen_drum_voice0_filter_env_sustain = ‘0’
gen_drum_voice0_filter_env_release = ‘0.503937’
gen_drum_voice0_filter_env_depth = ‘0.5’
gen_drum_voice0_filter_env_reset = ‘0’
gen_drum_voice0_stereo_spread = ‘0.5’
gen_drum_voice0_amp_mode = ‘1’
gen_drum_voice0_amp_env_attack = ‘0.031496063’
gen_drum_voice0_amp_env_hold = ‘0.2913386’
gen_drum_voice0_amp_env_decay = ‘0.31496063’
gen_drum_voice0_amp_env_sustain = ‘1’
gen_drum_voice0_amp_env_release = ‘0.2519685’
gen_drum_voice0_amp_env_reset = ‘1’
gen_drum_voice0_volume = ‘0.78740156’
gen_drum_voice0_pan = ‘0.5’
gen_drum_voice0_lfo1_speed = ‘0.75’
gen_drum_voice0_lfo1_multiplier = ‘1’
gen_drum_voice0_lfo1_fade = ‘0.5’
gen_drum_voice0_lfo1_wave = ‘Sine’
gen_drum_voice0_lfo1_start_phase = ‘0’
gen_drum_voice0_lfo1_smoothing = ‘0’
gen_drum_voice0_lfo1_trig_mode = ‘Free’
gen_drum_voice0_lfo1_destination = ‘0’
gen_drum_voice0_lfo1_depth = ‘0.5’
gen_drum_voice0_lfo2_speed = ‘0.75’
gen_drum_voice0_lfo2_multiplier = ‘3’
gen_drum_voice0_lfo2_fade = ‘0.5’
gen_drum_voice0_lfo2_wave = ‘Triangle’
gen_drum_voice0_lfo2_start_phase = ‘0’
gen_drum_voice0_lfo2_smoothing = ‘0’
gen_drum_voice0_lfo2_trig_mode = ‘Free’
gen_drum_voice0_lfo2_destination = ‘0’
gen_drum_voice0_lfo2_depth = ‘0.5’
gen_drum_voice0_mod_env_delay = ‘0’
gen_drum_voice0_mod_env_attack = ‘0’
gen_drum_voice0_mod_env_decay = ‘0.503937’
gen_drum_voice0_mod_env_sustain = ‘0’
gen_drum_voice0_mod_env_release = ‘0.503937’
gen_drum_voice0_mod_env_reset = ‘0’
gen_drum_voice0_mod_env_destination = ‘0’
gen_drum_voice0_mod_env_depth = ‘0.5’
gen_drum_voice1_tune = ‘0.5’
gen_drum_voice1_play_mode = ‘1’
gen_drum_voice1_sample_start = ‘0’
gen_drum_voice1_play_length = ‘1’
gen_drum_voice1_loop_point = ‘-0.00008333333’
gen_drum_voice1_overdrive = ‘0.08661418’
gen_drum_voice1_base = ‘0’
gen_drum_voice1_width = ‘1’
gen_drum_voice1_filter_type = ‘0’
gen_drum_voice1_filter_frequency = ‘0.91322833’
gen_drum_voice1_filter_resonance = ‘0’
gen_drum_voice1_filter_env_delay = ‘0’
gen_drum_voice1_filter_env_attack = ‘0’
gen_drum_voice1_filter_env_decay = ‘0.503937’
gen_drum_voice1_filter_env_sustain = ‘0’
gen_drum_voice1_filter_env_release = ‘0.503937’
gen_drum_voice1_filter_env_depth = ‘0.5’
gen_drum_voice1_filter_env_reset = ‘0’
gen_drum_voice1_stereo_spread = ‘0.5’
gen_drum_voice1_amp_mode = ‘1’
gen_drum_voice1_amp_env_attack = ‘0’
gen_drum_voice1_amp_env_hold = ‘0’
gen_drum_voice1_amp_env_decay = ‘1’
gen_drum_voice1_amp_env_sustain = ‘1’
gen_drum_voice1_amp_env_release = ‘0.2519685’
gen_drum_voice1_amp_env_reset = ‘1’
gen_drum_voice1_volume = ‘0.8267717’
gen_drum_voice1_pan = ‘0.5’
gen_drum_voice1_lfo1_speed = ‘0.75’
gen_drum_voice1_lfo1_multiplier = ‘1’
gen_drum_voice1_lfo1_fade = ‘0.5’
gen_drum_voice1_lfo1_wave = ‘Random’
gen_drum_voice1_lfo1_start_phase = ‘0’
gen_drum_voice1_lfo1_smoothing = ‘0’
gen_drum_voice1_lfo1_trig_mode = ‘Hold’
gen_drum_voice1_lfo1_destination = ‘0’
gen_drum_voice1_lfo1_depth = ‘0.50003904’
gen_drum_voice1_lfo2_speed = ‘0.75’
gen_drum_voice1_lfo2_multiplier = ‘3’
gen_drum_voice1_lfo2_fade = ‘0.5’
gen_drum_voice1_lfo2_wave = ‘Triangle’
gen_drum_voice1_lfo2_start_phase = ‘0’
gen_drum_voice1_lfo2_smoothing = ‘0’
gen_drum_voice1_lfo2_trig_mode = ‘Free’
gen_drum_voice1_lfo2_destination = ‘0’
gen_drum_voice1_lfo2_depth = ‘0.5’
gen_drum_voice1_mod_env_delay = ‘0’
gen_drum_voice1_mod_env_attack = ‘0’
gen_drum_voice1_mod_env_decay = ‘0.503937’
gen_drum_voice1_mod_env_sustain = ‘0’
gen_drum_voice1_mod_env_release = ‘0.503937’
gen_drum_voice1_mod_env_reset = ‘0’
gen_drum_voice1_mod_env_destination = ‘0’
gen_drum_voice1_mod_env_depth = ‘0.5’
gen_drum_voice2_tune = ‘0.5’
gen_drum_voice2_play_mode = ‘1’
gen_drum_voice2_sample_start = ‘0.00066666666’
gen_drum_voice2_play_length = ‘1’
gen_drum_voice2_loop_point = ‘-0.00008333333’
gen_drum_voice2_overdrive = ‘0.87401575’
gen_drum_voice2_base = ‘0.46456692’
gen_drum_voice2_width = ‘1’
gen_drum_voice2_filter_type = ‘0’
gen_drum_voice2_filter_frequency = ‘1’
gen_drum_voice2_filter_resonance = ‘0’
gen_drum_voice2_filter_env_delay = ‘0’
gen_drum_voice2_filter_env_attack = ‘0’
gen_drum_voice2_filter_env_decay = ‘0.503937’
gen_drum_voice2_filter_env_sustain = ‘0’
gen_drum_voice2_filter_env_release = ‘0.503937’
gen_drum_voice2_filter_env_depth = ‘0.5’
gen_drum_voice2_filter_env_reset = ‘0’
gen_drum_voice2_stereo_spread = ‘0.6796875’
gen_drum_voice2_amp_mode = ‘1’
gen_drum_voice2_amp_env_attack = ‘0’
gen_drum_voice2_amp_env_hold = ‘1’
gen_drum_voice2_amp_env_decay = ‘0.3464567’
gen_drum_voice2_amp_env_sustain = ‘1’
gen_drum_voice2_amp_env_release = ‘0.2519685’
gen_drum_voice2_amp_env_reset = ‘1’
gen_drum_voice2_volume = ‘0.72440946’
gen_drum_voice2_pan = ‘0.515625’
gen_drum_voice2_lfo1_speed = ‘0.75’
gen_drum_voice2_lfo1_multiplier = ‘1’
gen_drum_voice2_lfo1_fade = ‘0.5’
gen_drum_voice2_lfo1_wave = ‘Sine’
gen_drum_voice2_lfo1_start_phase = ‘0’
gen_drum_voice2_lfo1_smoothing = ‘0’
gen_drum_voice2_lfo1_trig_mode = ‘Free’
gen_drum_voice2_lfo1_destination = ‘0’
gen_drum_voice2_lfo1_depth = ‘0.5’
gen_drum_voice2_lfo2_speed = ‘0.75’
gen_drum_voice2_lfo2_multiplier = ‘3’
gen_drum_voice2_lfo2_fade = ‘0.5’
gen_drum_voice2_lfo2_wave = ‘Triangle’
gen_drum_voice2_lfo2_start_phase = ‘0’
gen_drum_voice2_lfo2_smoothing = ‘0’
gen_drum_voice2_lfo2_trig_mode = ‘Free’
gen_drum_voice2_lfo2_destination = ‘0’
gen_drum_voice2_lfo2_depth = ‘0.5’
gen_drum_voice2_mod_env_delay = ‘0’
gen_drum_voice2_mod_env_attack = ‘0’
gen_drum_voice2_mod_env_decay = ‘0.503937’
gen_drum_voice2_mod_env_sustain = ‘0’
gen_drum_voice2_mod_env_release = ‘0.503937’
gen_drum_voice2_mod_env_reset = ‘0’
gen_drum_voice2_mod_env_destination = ‘0’
gen_drum_voice2_mod_env_depth = ‘0.5’
gen_drum_voice3_tune = ‘0.5’
gen_drum_voice3_play_mode = ‘1’
gen_drum_voice3_sample_start = ‘0’
gen_drum_voice3_play_length = ‘1’
gen_drum_voice3_loop_point = ‘-0.00008333333’
gen_drum_voice3_overdrive = ‘0’
gen_drum_voice3_base = ‘0’
gen_drum_voice3_width = ‘1’
gen_drum_voice3_filter_type = ‘0’
gen_drum_voice3_filter_frequency = ‘1’
gen_drum_voice3_filter_resonance = ‘0’
gen_drum_voice3_filter_env_delay = ‘0’
gen_drum_voice3_filter_env_attack = ‘0’
gen_drum_voice3_filter_env_decay = ‘0.503937’
gen_drum_voice3_filter_env_sustain = ‘0’
gen_drum_voice3_filter_env_release = ‘0.503937’
gen_drum_voice3_filter_env_depth = ‘0.5’
gen_drum_voice3_filter_env_reset = ‘0’
gen_drum_voice3_stereo_spread = ‘0.5’
gen_drum_voice3_amp_mode = ‘1’
gen_drum_voice3_amp_env_attack = ‘0’
gen_drum_voice3_amp_env_hold = ‘0.03937008’
gen_drum_voice3_amp_env_decay = ‘0.1496063’
gen_drum_voice3_amp_env_sustain = ‘1’
gen_drum_voice3_amp_env_release = ‘0.2519685’
gen_drum_voice3_amp_env_reset = ‘1’
gen_drum_voice3_volume = ‘0.86614174’
gen_drum_voice3_pan = ‘0.5’
gen_drum_voice3_lfo1_speed = ‘0.75’
gen_drum_voice3_lfo1_multiplier = ‘1’
gen_drum_voice3_lfo1_fade = ‘0.5’
gen_drum_voice3_lfo1_wave = ‘Sine’
gen_drum_voice3_lfo1_start_phase = ‘0’
gen_drum_voice3_lfo1_smoothing = ‘0’
gen_drum_voice3_lfo1_trig_mode = ‘Free’
gen_drum_voice3_lfo1_destination = ‘0’
gen_drum_voice3_lfo1_depth = ‘0.5’
gen_drum_voice3_lfo2_speed = ‘0.75’
gen_drum_voice3_lfo2_multiplier = ‘3’
gen_drum_voice3_lfo2_fade = ‘0.5’
gen_drum_voice3_lfo2_wave = ‘Triangle’
gen_drum_voice3_lfo2_start_phase = ‘0’
gen_drum_voice3_lfo2_smoothing = ‘0’
gen_drum_voice3_lfo2_trig_mode = ‘Free’
gen_drum_voice3_lfo2_destination = ‘0’
gen_drum_voice3_lfo2_depth = ‘0.5’
gen_drum_voice3_mod_env_delay = ‘0’
gen_drum_voice3_mod_env_attack = ‘0’
gen_drum_voice3_mod_env_decay = ‘0.503937’
gen_drum_voice3_mod_env_sustain = ‘0’
gen_drum_voice3_mod_env_release = ‘0.503937’
gen_drum_voice3_mod_env_reset = ‘0’
gen_drum_voice3_mod_env_destination = ‘0’
gen_drum_voice3_mod_env_depth = ‘0.5’
gen_drum_voice4_tune = ‘0.50275’
gen_drum_voice4_play_mode = ‘1’
gen_drum_voice4_sample_start = ‘0.17074999’
gen_drum_voice4_play_length = ‘1’
gen_drum_voice4_loop_point = ‘0.66791666’
gen_drum_voice4_overdrive = ‘0.7007874’
gen_drum_voice4_base = ‘0.43307087’
gen_drum_voice4_width = ‘1’
gen_drum_voice4_filter_type = ‘0’
gen_drum_voice4_filter_frequency = ‘1’
gen_drum_voice4_filter_resonance = ‘0’
gen_drum_voice4_filter_env_delay = ‘0’
gen_drum_voice4_filter_env_attack = ‘0’
gen_drum_voice4_filter_env_decay = ‘0.503937’
gen_drum_voice4_filter_env_sustain = ‘0’
gen_drum_voice4_filter_env_release = ‘0.503937’
gen_drum_voice4_filter_env_depth = ‘0.5’
gen_drum_voice4_filter_env_reset = ‘0’
gen_drum_voice4_stereo_spread = ‘0.4921875’
gen_drum_voice4_amp_mode = ‘1’
gen_drum_voice4_amp_env_attack = ‘0’
gen_drum_voice4_amp_env_hold = ‘1’
gen_drum_voice4_amp_env_decay = ‘0.68503934’
gen_drum_voice4_amp_env_sustain = ‘1’
gen_drum_voice4_amp_env_release = ‘0.2519685’
gen_drum_voice4_amp_env_reset = ‘1’
gen_drum_voice4_volume = ‘0.77952754’
gen_drum_voice4_pan = ‘0.5’
gen_drum_voice4_lfo1_speed = ‘0.75’
gen_drum_voice4_lfo1_multiplier = ‘1’
gen_drum_voice4_lfo1_fade = ‘0.5’
gen_drum_voice4_lfo1_wave = ‘Triangle’
gen_drum_voice4_lfo1_start_phase = ‘0’
gen_drum_voice4_lfo1_smoothing = ‘0’
gen_drum_voice4_lfo1_trig_mode = ‘Free’
gen_drum_voice4_lfo1_destination = ‘19’
gen_drum_voice4_lfo1_depth = ‘0.7293359’
gen_drum_voice4_lfo2_speed = ‘0.6735156’
gen_drum_voice4_lfo2_multiplier = ‘3’
gen_drum_voice4_lfo2_fade = ‘0.5’
gen_drum_voice4_lfo2_wave = ‘Sine’
gen_drum_voice4_lfo2_start_phase = ‘0’
gen_drum_voice4_lfo2_smoothing = ‘0’
gen_drum_voice4_lfo2_trig_mode = ‘Free’
gen_drum_voice4_lfo2_destination = ‘3’
gen_drum_voice4_lfo2_depth = ‘0.71304685’
gen_drum_voice4_mod_env_delay = ‘0’
gen_drum_voice4_mod_env_attack = ‘0’
gen_drum_voice4_mod_env_decay = ‘0.503937’
gen_drum_voice4_mod_env_sustain = ‘0’
gen_drum_voice4_mod_env_release = ‘0.503937’
gen_drum_voice4_mod_env_reset = ‘0’
gen_drum_voice4_mod_env_destination = ‘0’
gen_drum_voice4_mod_env_depth = ‘0.5’
gen_drum_voice5_tune = ‘0.5’
gen_drum_voice5_play_mode = ‘1’
gen_drum_voice5_sample_start = ‘0’
gen_drum_voice5_play_length = ‘1’
gen_drum_voice5_loop_point = ‘-0.00008333333’
gen_drum_voice5_overdrive = ‘0’
gen_drum_voice5_base = ‘0’
gen_drum_voice5_width = ‘1’
gen_drum_voice5_filter_type = ‘0’
gen_drum_voice5_filter_frequency = ‘1’
gen_drum_voice5_filter_resonance = ‘0’
gen_drum_voice5_filter_env_delay = ‘0’
gen_drum_voice5_filter_env_attack = ‘0’
gen_drum_voice5_filter_env_decay = ‘0.503937’
gen_drum_voice5_filter_env_sustain = ‘0’
gen_drum_voice5_filter_env_release = ‘0.503937’
gen_drum_voice5_filter_env_depth = ‘0.5’
gen_drum_voice5_filter_env_reset = ‘0’
gen_drum_voice5_stereo_spread = ‘0.5’
gen_drum_voice5_amp_mode = ‘1’
gen_drum_voice5_amp_env_attack = ‘0’
gen_drum_voice5_amp_env_hold = ‘0’
gen_drum_voice5_amp_env_decay = ‘1’
gen_drum_voice5_amp_env_sustain = ‘1’
gen_drum_voice5_amp_env_release = ‘0.2519685’
gen_drum_voice5_amp_env_reset = ‘1’
gen_drum_voice5_volume = ‘0.78740156’
gen_drum_voice5_pan = ‘0.5’
gen_drum_voice5_lfo1_speed = ‘0.75’
gen_drum_voice5_lfo1_multiplier = ‘1’
gen_drum_voice5_lfo1_fade = ‘0.5’
gen_drum_voice5_lfo1_wave = ‘Sine’
gen_drum_voice5_lfo1_start_phase = ‘0’
gen_drum_voice5_lfo1_smoothing = ‘0’
gen_drum_voice5_lfo1_trig_mode = ‘Free’
gen_drum_voice5_lfo1_destination = ‘0’
gen_drum_voice5_lfo1_depth = ‘0.5’
gen_drum_voice5_lfo2_speed = ‘0.75’
gen_drum_voice5_lfo2_multiplier = ‘3’
gen_drum_voice5_lfo2_fade = ‘0.5’
gen_drum_voice5_lfo2_wave = ‘Triangle’
gen_drum_voice5_lfo2_start_phase = ‘0’
gen_drum_voice5_lfo2_smoothing = ‘0’
gen_drum_voice5_lfo2_trig_mode = ‘Free’
gen_drum_voice5_lfo2_destination = ‘0’
gen_drum_voice5_lfo2_depth = ‘0.5’
gen_drum_voice5_mod_env_delay = ‘0’
gen_drum_voice5_mod_env_attack = ‘0’
gen_drum_voice5_mod_env_decay = ‘0.503937’
gen_drum_voice5_mod_env_sustain = ‘0’
gen_drum_voice5_mod_env_release = ‘0.503937’
gen_drum_voice5_mod_env_reset = ‘0’
gen_drum_voice5_mod_env_destination = ‘0’
gen_drum_voice5_mod_env_depth = ‘0.5’
gen_drum_voice6_tune = ‘0.5’
gen_drum_voice6_play_mode = ‘1’
gen_drum_voice6_sample_start = ‘0’
gen_drum_voice6_play_length = ‘1’
gen_drum_voice6_loop_point = ‘-0.00008333333’
gen_drum_voice6_overdrive = ‘0.08661418’
gen_drum_voice6_base = ‘0’
gen_drum_voice6_width = ‘1’
gen_drum_voice6_filter_type = ‘0’
gen_drum_voice6_filter_frequency = ‘1’
gen_drum_voice6_filter_resonance = ‘0’
gen_drum_voice6_filter_env_delay = ‘0’
gen_drum_voice6_filter_env_attack = ‘0’
gen_drum_voice6_filter_env_decay = ‘0.503937’
gen_drum_voice6_filter_env_sustain = ‘0’
gen_drum_voice6_filter_env_release = ‘0.503937’
gen_drum_voice6_filter_env_depth = ‘0.5’
gen_drum_voice6_filter_env_reset = ‘0’
gen_drum_voice6_stereo_spread = ‘0.5’
gen_drum_voice6_amp_mode = ‘1’
gen_drum_voice6_amp_env_attack = ‘0’
gen_drum_voice6_amp_env_hold = ‘0.062992126’
gen_drum_voice6_amp_env_decay = ‘0.18897638’
gen_drum_voice6_amp_env_sustain = ‘1’
gen_drum_voice6_amp_env_release = ‘0.2519685’
gen_drum_voice6_amp_env_reset = ‘1’
gen_drum_voice6_volume = ‘0.7559055’
gen_drum_voice6_pan = ‘0.5’
gen_drum_voice6_lfo1_speed = ‘0.625’
gen_drum_voice6_lfo1_multiplier = ‘2’
gen_drum_voice6_lfo1_fade = ‘0.5’
gen_drum_voice6_lfo1_wave = ‘Triangle’
gen_drum_voice6_lfo1_start_phase = ‘0’
gen_drum_voice6_lfo1_smoothing = ‘0’
gen_drum_voice6_lfo1_trig_mode = ‘Free’
gen_drum_voice6_lfo1_destination = ‘26’
gen_drum_voice6_lfo1_depth = ‘0.712539’
gen_drum_voice6_lfo2_speed = ‘0.75’
gen_drum_voice6_lfo2_multiplier = ‘3’
gen_drum_voice6_lfo2_fade = ‘0.5’
gen_drum_voice6_lfo2_wave = ‘Triangle’
gen_drum_voice6_lfo2_start_phase = ‘0’
gen_drum_voice6_lfo2_smoothing = ‘0’
gen_drum_voice6_lfo2_trig_mode = ‘Free’
gen_drum_voice6_lfo2_destination = ‘23’
gen_drum_voice6_lfo2_depth = ‘0.54359376’
gen_drum_voice6_mod_env_delay = ‘0’
gen_drum_voice6_mod_env_attack = ‘0’
gen_drum_voice6_mod_env_decay = ‘0.503937’
gen_drum_voice6_mod_env_sustain = ‘0’
gen_drum_voice6_mod_env_release = ‘0.503937’
gen_drum_voice6_mod_env_reset = ‘0’
gen_drum_voice6_mod_env_destination = ‘0’
gen_drum_voice6_mod_env_depth = ‘0.5’
gen_drum_voice7_tune = ‘0.5’
gen_drum_voice7_play_mode = ‘1’
gen_drum_voice7_sample_start = ‘0’
gen_drum_voice7_play_length = ‘1’
gen_drum_voice7_loop_point = ‘-0.00008333333’
gen_drum_voice7_overdrive = ‘0.14173228’
gen_drum_voice7_base = ‘0.6692913’
gen_drum_voice7_width = ‘1’
gen_drum_voice7_filter_type = ‘0’
gen_drum_voice7_filter_frequency = ‘1’
gen_drum_voice7_filter_resonance = ‘0’
gen_drum_voice7_filter_env_delay = ‘0’
gen_drum_voice7_filter_env_attack = ‘0’
gen_drum_voice7_filter_env_decay = ‘0.503937’
gen_drum_voice7_filter_env_sustain = ‘0’
gen_drum_voice7_filter_env_release = ‘0.503937’
gen_drum_voice7_filter_env_depth = ‘0.5’
gen_drum_voice7_filter_env_reset = ‘0’
gen_drum_voice7_stereo_spread = ‘0.5’
gen_drum_voice7_amp_mode = ‘1’
gen_drum_voice7_amp_env_attack = ‘0’
gen_drum_voice7_amp_env_hold = ‘0’
gen_drum_voice7_amp_env_decay = ‘1’
gen_drum_voice7_amp_env_sustain = ‘1’
gen_drum_voice7_amp_env_release = ‘0.2519685’
gen_drum_voice7_amp_env_reset = ‘1’
gen_drum_voice7_volume = ‘0.7480315’
gen_drum_voice7_pan = ‘0.359375’
gen_drum_voice7_lfo1_speed = ‘0.75’
gen_drum_voice7_lfo1_multiplier = ‘1’
gen_drum_voice7_lfo1_fade = ‘0.5’
gen_drum_voice7_lfo1_wave = ‘Sine’
gen_drum_voice7_lfo1_start_phase = ‘0’
gen_drum_voice7_lfo1_smoothing = ‘0’
gen_drum_voice7_lfo1_trig_mode = ‘Free’
gen_drum_voice7_lfo1_destination = ‘0’
gen_drum_voice7_lfo1_depth = ‘0.5’
gen_drum_voice7_lfo2_speed = ‘0.75’
gen_drum_voice7_lfo2_multiplier = ‘3’
gen_drum_voice7_lfo2_fade = ‘0.5’
gen_drum_voice7_lfo2_wave = ‘Triangle’
gen_drum_voice7_lfo2_start_phase = ‘0’
gen_drum_voice7_lfo2_smoothing = ‘0’
gen_drum_voice7_lfo2_trig_mode = ‘Free’
gen_drum_voice7_lfo2_destination = ‘0’
gen_drum_voice7_lfo2_depth = ‘0.5’
gen_drum_voice7_mod_env_delay = ‘0’
gen_drum_voice7_mod_env_attack = ‘0’
gen_drum_voice7_mod_env_decay = ‘0.503937’
gen_drum_voice7_mod_env_sustain = ‘0’
gen_drum_voice7_mod_env_release = ‘0.503937’
gen_drum_voice7_mod_env_reset = ‘0’
gen_drum_voice7_mod_env_destination = ‘0’
gen_drum_voice7_mod_env_depth = ‘0.5’

[parameters.gen_drum_mapping_slot]
version = 0
name = ‘Royalty’

[[parameters.gen_drum_mapping_slot.key-zones]]
pitch = 60
key-center = 60.0

[[parameters.gen_drum_mapping_slot.key-zones.velocity-layers]]
velocity = 0.24313727021217346
strategy = ‘Forward’

[[parameters.gen_drum_mapping_slot.key-zones.velocity-layers.sample-slots]]
sample = ‘/mnt/sdcard/Elektron/Tonverk Factory Library/2-Drum Sets/1-Synthetic Drums/Royalty/1_Kick_Royalty.wav’

[[parameters.gen_drum_mapping_slot.key-zones]]
pitch = 62
key-center = 62.0

[[parameters.gen_drum_mapping_slot.key-zones.velocity-layers]]
velocity = 0.24313727021217346
strategy = ‘Forward’

[[parameters.gen_drum_mapping_slot.key-zones.velocity-layers.sample-slots]]
sample = ‘/mnt/sdcard/Elektron/Tonverk Factory Library/2-Drum Sets/1-Synthetic Drums/Royalty/2_Snare_Royalty1.wav’

[[parameters.gen_drum_mapping_slot.key-zones]]
pitch = 64
key-center = 64.0

[[parameters.gen_drum_mapping_slot.key-zones.velocity-layers]]
velocity = 1.0
strategy = ‘Forward’

[[parameters.gen_drum_mapping_slot.key-zones.velocity-layers.sample-slots]]
sample = ‘/mnt/sdcard/Elektron/Tonverk Factory Library/3-Single Samples/1-Drum hits/5-Toms/2-Synthetic/HT Dammnark.wav’

[[parameters.gen_drum_mapping_slot.key-zones]]
pitch = 65
key-center = 65.0

[[parameters.gen_drum_mapping_slot.key-zones.velocity-layers]]
velocity = 0.24313727021217346
strategy = ‘Forward’

[[parameters.gen_drum_mapping_slot.key-zones.velocity-layers.sample-slots]]
sample = ‘/mnt/sdcard/Elektron/Tonverk Factory Library/2-Drum Sets/1-Synthetic Drums/Royalty/4_Clap_Royalty.wav’

[[parameters.gen_drum_mapping_slot.key-zones]]
pitch = 67
key-center = 67.0

[[parameters.gen_drum_mapping_slot.key-zones.velocity-layers]]
velocity = 1.0
strategy = ‘Forward’

[[parameters.gen_drum_mapping_slot.key-zones.velocity-layers.sample-slots]]
sample = ‘/mnt/sdcard/Elektron/Tonverk Factory Library/3-Single Samples/3-Textures/Soundscapes/Argilla.wav’

[[parameters.gen_drum_mapping_slot.key-zones]]
pitch = 69
key-center = 69.0

[[parameters.gen_drum_mapping_slot.key-zones.velocity-layers]]
velocity = 0.24313727021217346
strategy = ‘Forward’

[[parameters.gen_drum_mapping_slot.key-zones.velocity-layers.sample-slots]]
sample = ‘/mnt/sdcard/Elektron/Tonverk Factory Library/2-Drum Sets/1-Synthetic Drums/Royalty/6_ClosedHat_Royalty.wav’

[[parameters.gen_drum_mapping_slot.key-zones]]
pitch = 71
key-center = 71.0

[[parameters.gen_drum_mapping_slot.key-zones.velocity-layers]]
velocity = 0.24313727021217346
strategy = ‘Forward’

[[parameters.gen_drum_mapping_slot.key-zones.velocity-layers.sample-slots]]
sample = ‘/mnt/sdcard/Elektron/Tonverk Factory Library/2-Drum Sets/1-Synthetic Drums/Royalty/7_Shaker_Royalty.wav’

[[parameters.gen_drum_mapping_slot.key-zones]]
pitch = 72
key-center = 72.0

[[parameters.gen_drum_mapping_slot.key-zones.velocity-layers]]
velocity = 1.0
strategy = ‘Forward’

[[parameters.gen_drum_mapping_slot.key-zones.velocity-layers.sample-slots]]
sample = ‘/mnt/sdcard/Elektron/Tonverk Factory Library/3-Single Samples/1-Drum hits/4-Cymbals/1-Universal/CY Fluffy Dirt.wav’

Does look like simple utilities could be built for various care-taking tasks if the TV itself doesn’t offer them in the future etc

I’ll wait until we see some TV firmware updates, but a simple python script could also be useful for various tasks

  • trim silence from any multisamples that cause ‘virtual latency’ (surely to be fixed though)
  • reassign samples/locations (maybe they don’t have to be in the same folder, need to experiment)
  • mass parameter adjustments
  • renaming tasks

more advanced (and beyond my skills) definitely looks like someone with the chops to code it could make a nice ‘instrument maker’ that creates the folder, filetypes & samples through a browser drag n drop tool … which would be very handy

4 Likes

For the TOML configs, yes - they are fairly straightforward to create, and look to use the open sfz format for the majority of their structure, I imagine loosely basing it on sfz and using TOML instead of XML allows them to customize it as they like in the future without having to be beholden to maintaining support for sfz.

1 Like

Great to have a thread for this.
May I suggest you update the longer post with the “Hide Details” functionality, so it can be expanded/folded up for better readability?

Like this

In the text editor click the settings icon (cog wheel) and select “Hide Details”. Then move the text to hide in between the opening and closing tags.

4 Likes

great call, didn’t know about that! much better, thanks

1 Like

Just adding a link to this cool discovery on the .eldrum file

Please do NOT do this.

Reason: there are already too many SD card threads, with the tech details hidden it is very difficult to tell which thread is which by scrolling. You have to find the post and expand it to locate the details.

This makes usability much worse.

1 Like

I’ve tried to make the focus of this thread clear in the title and first message. get your point on proliferation of card threads, but most others seem to be about card specs/hardware.

I think hiding the copy paste of file contents works so as to keep this thread neater, more compact

2 Likes

I’ve never done it before but I’m tempted to see if I can use an AI model to code a program that will let you upload a folder of WAV files and create an .elmulti file to load into Tonverk.

I have the whole All the Samples from Mars library and pretty much all the packs have a collection of chromatic samples that could potentially be converted into Multi Player instruments. But it seem like the only way to do this currently is to either hand write the .elmulti text file (and I’m not about to do that for dozens of instruments) or load the SFM instruments into a DAW and autosample (risking latency issues).

I reached out to SFM to see if they had any plans to add .elmulti files to their libraries, since I know they’ve collaborated with Elektron in the past and they include multi-sampled instrument formats for popular DAWs and samplers in their sample packs.

Unfortunately the person who responded said he’s not aware of any plans to do that and their team is not familiar with the Tonverk at all yet.

It would be nice if Elektron would release a utility to let us make Multi Player instruments out of a pre-recorded collection of WAVs, but they clearly have more pressing matters to deal with at the moment.

2 Likes

Hey @mokomo @thesimplemachine i’m on it !

Transfering SFM multisamples is pretty straightforward : drag and drop all samples, set first note, export and transfer to TV

1 Like

cheers nds - I read somewhere else that the native elektron TV multisample method creates a single file containing the multisamples. (a ‘chain’)

Will be interesting to see if there is any real difference between a natively recorded multisample on the TV vs this export-from-pc multi-file method.

Or does your utility send that single file chain?

You’re right TV aggregates all the samples into a single file

Regarding the utility:
in robin mode it uses individual slices
in multi mode it uses a sample chain per velocity layer

I’m no expert but I think it is more computationally expensive to open and read multiple files than it is to work in a constantly open single buffer and move within it
Possibly some optimization tricks can be done by using equally sized buffers

What I’m saying is that at a low slice count, I don’t think it matters much to use either method, but with detailed multi-samples with thousands of slices, the single sample method might be more efficient

No idea how/if this applies to the TV tho

1 Like

I saw that in the other threads but I didn’t realize you could drag and drop multiple wav files into it so I kind of overlooked it. Just tried it and works like a charm. Thanks for mentioning this, and thanks for making it!

1 Like

TV loads all the project samples into RAM, so they only get loaded the one time - as such, using a chain vs using individual files should only slow the initial project load; exFAT does favor larger files though, with concurrent loading of many smaller files being slower to seek and read.

TL;DR → Probably doesn’t matter unless you’re switching large projects often.