Plugins that save plain text (human readable) presets?

VST, AU, AAX, CLAP, etc. Plugin Virtual Instruments Discussion
RELATED
PRODUCTS

Post

Hi,

I'm considering a crazy project using machine learning to help in sound design.
Do you know of any plugins that save plain text (human readable) presets?
I know Helm does (JSON no less).

Any others?

I know that .fxp (which is somewhat of an standard) is not easy to read outside the plugin that generated it, so that's a bit of a show stopper. Most other plugins I have save in proprietary formats.

Thanks!

Post

All of the Valhalla reverbs presets can be shared as a block of text, not exactly helpful for what you're trying to do, though.

Post

The Valhalla presets themselves are also saved as xml, which I assume is readable enough for your purposes. The Madronalabs presets use the same xml system. So... At least Aalto and Kaivo are usable :)
On second thought, Kaivo uses samples, which may not be a good fit after all.

Post

u-he's h2p format kicks off with a text section that contains a list of parameters and settings, but there's an "ugly compressed section, do not touch" section at the end – I have no idea if this contains information that isn't in the first section or whether it's simply a compressed copy.

TokyoDawn's recent plugins use an XML-style format as well for sharing presets.

Post

One option is FM synths that handle DX7 sysex. It ain't text but the format is well documented. And FM is the kind of synthesis that lends itself to some kind of machine analysis.

Post

Thanks! Keep them coming.
VSTi is what I'm interested in, not effect as such.

Post

Aalto and Kaivo

It looks like this:

{
"delay_input": 0,
"seq_trig": 0,
"key_voices": 1,
"key_mod": 1,
"key_bend": 7,
"key_unison": 0,
"key_glide": 0.010000,
"seq_wave": 0,
"seq_local": 1,
"seq_host": 0,
"seq_loop": 1,
"seq_rate": 0.250000,
"seq_ratio": 1,
"seq_rate_p": 0,
"seq_steps": 16,
"seq_steps_p": 0,
"seq_offset": 0,
"seq_offset_p": 0,
"seq_range": 12,
"seq_quantize": 1,
"seq_glide": 0,
"seq_pw": 50,
"seq_value_delay": 0.662030,
"seq_pulse_delay": 0,
"seq_value0": 0,
"seq_value1": 0,
"seq_value2": 0.177778,
"seq_value3": 0,
"seq_value4": 0,
"seq_value5": 0,
"seq_value6": 0,
"seq_value7": 0.344444,
"seq_value8": 0,
"seq_value9": 0,
"seq_value10": 0,
"seq_value11": 0,
"seq_value12": 0.233333,
"seq_value13": 0.644444,
"seq_value14": 0,
"seq_value15": 0,
"seq_pulse0": 1,
"seq_pulse1": 0,
"seq_pulse2": 1,
"seq_pulse3": 1,
"seq_pulse4": 0,
"seq_pulse5": 0,
"seq_pulse6": 1,
"seq_pulse7": 1,
"seq_pulse8": 0,
"seq_pulse9": 0,
"seq_pulse10": 0,
"seq_pulse11": 0,
"seq_pulse12": 1,
"seq_pulse13": 1,
"seq_pulse14": 0,
"seq_pulse15": 0,
"lfo_freq": 1,
"lfo_noise": 0,
"lfo_level": 0,
"lfo_level_p": 0,
"lfo_freq_p": 0,
"env1_attack": 0.005000,
"env1_decay": 1,
"env1_sustain": 0.500000,
"env1_release": 1.490000,
"env1_level": 1,
"env1_xvel": 1,
"env1_trig_select": 2,
"env1_attack_p": 0,
"env1_decay_p": 0,
"env1_release_p": 0,
"env2_repeat": 0.429688,
"env2_delay": 0,
"env2_attack": 0.001000,
"env2_sustain": 0,
"env2_release": 0.010000,
"env2_xvel": 0,
"env2_trig_select": 1,
"env2_xenv1": 1,
"env2_delay_p": 0,
"env2_attack_p": 0,
"env2_repeat_p": 1,
"osc_noise": 0,
"osc_ratio": 1,
"osc_offset": 0,
"osc_index": 0,
"osc_timbre": 0,
"osc_pitch": 220,
"osc_waveshape": 0,
"osc_noise_p": 0,
"osc_ratio_p": 0,
"osc_offset_p": 0,
"osc_index_p": 0,
"osc_timbre_p": 0,
"osc_pitch_exp_p": 1,
"osc_pitch_lin_p": 20000,
"osc_waveshape_p": 0,
"osc_carrier_out": 0.500000,
"osc_mod_out": 0,
"gate_level": 0,
"gate_mode": 0,
"gate_decay": 1,
"gate_level_p": 1,
"delay_peakfreq": 1000,
"delay_drive": 0.500000,
"delay_peakres": 0,
"delay_feedback": 0.520000,
"delay_freq": 110,
"delay_input_p": 0.500000,
"delay_peakfreq_p": 1,
"delay_drive_p": 0,
"delay_peakres_p": 0,
"delay_feedback_p": 0,
"delay_freq_p": 1,
"delay_output_wet": 2,
"delay_output_dry": 1,
"filter_cutoff": 20000,
"filter_q": 0,
"filter_mix": -1,
"filter_cutoff_p": 1,
"filter_q_p": 0,
"filter_mix_p": 0,
"output_input_gain": 1,
"output_reverb": 0,
"output_pan": 0,
"output_reverb_p": 0,
"output_pan_p": 0,
"patcher_matrix": {
"type": "signal",
"width": 14,
"height": 31,
"depth": 1,
"data": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
},
"key_scale": "12-equal",
"preset": "Ego_Aalto_Presets_from Default/low high Blip_1",
"maker_name": "Madrona Labs",
"app_name": "Aalto",
"app_version": 67328
}
Last edited by sbj on Tue Aug 04, 2015 9:12 pm, edited 3 times in total.
Sound C loud
Band C amp
Clicks and pops is all I get

Post

all ableton live presets are stored as gzip'd XML (the .adg files).
I haven't looked at these much to know if it would help you or not, but there it is.

https://www.ableton.com/answers/how-to- ... ext-editor

SFZ files are text files... there are several instruments that can play those.

and the late great Camel Alchemy stored all kinds of things, including presets, in text format AFAIK.

Post

Just checked the U-he h2p format for tyrell. it has only ~10 params then the ugly binary 'don't touch this'. I don't think the text part represents all parameters, so that one is a no go.

Post

Synth1 is plain text, although it lists only the CC number (I suspect). Not much fun to inspect visually:

--LEADS--
color=red
ver=108
0,0
45,0
76,0
1,3
2,64
3,81
4,1
5,64
6,0
7,0
8,64
9,0
10,0
11,64
12,0
13,0
71,0
72,64
14,1
15,0
16,64
17,32
18,64
19,81
20,14
21,128
22,64
23,0
24,1
25,0
26,0
27,127
28,0
29,107
30,64
59,0
31,1
32,0
33,11
34,64
65,0
82,0
35,8
83,66
36,40
37,20
66,0
64,2
52,64
53,64
54,50
55,64
56,40
60,64
61,64
62,64
63,64
90,64
77,0
78,0
79,64
80,64
81,64
38,0
39,0
74,0
40,2
73,0
75,22
84,64
85,24
50,20
51,20
57,0
41,2
42,1
43,64
44,0
67,0
68,0
58,0
46,5
47,1
48,64
49,64
69,0
70,0

Post

Our, synth miniBit, and all our recent effects store the presets as XML.
Something like that:

Code: Select all

OscWave="0.11999999731779098511" OscFineTune="0.52999997138977050781" OscTune="1" OscVol="1" SubOscVol="0" Attack="0.0099999997764825820923" Decay="0.54000002145767211914" Sustain="0" Release="0.5" Cutoff="0.79000002145767211914" Resonance="0.28000000119209289551" MonoPoly="1" Glide="0" Velocity="1" DelayTime="0.5" DelayFeedback="0.34000000357627868652" DelayWet="0.11999999731779098511" DelaySync="1" Bits="0.73799997568130493164" SampleRate="0.18000000715255737305" LFORate="0.5" LFOWave="0" LFODestination="0" LFOAmount="0" LFOSync="0" Bypass="0" StepperRate="0.25"
AudioThing (VST, AU, AAX, CLAP Plugins)
Instagram | Twitter | Discord Server

Post

urlwolf wrote:Just checked the U-he h2p format for tyrell. it has only ~10 params then the ugly binary 'don't touch this'. I don't think the text part represents all parameters, so that one is a no go.
Not sure what you've checked, but all of TyrellN6' parameters are listed in human-readable form in h2p files. It's not just 10, it's merely a hundred.

The "Section for ugly compressed binary Data" contains information about the preset location (important when stored in host project), possibly a microtuning scale and maybe some text labels that may or may not be used by the software. In some of our plug-ins it also contains the order of modules to process, colours and order of patch cables, the names of module presets, curves and waveforms. It's generally stuff that's not really suited for humans to figure out :clown:

Post

Great to hear Urs.
I found some presets online that only had 10 or so entries in the plain text sound file. But I see that the ones that come with TyrellN6 have all of them. Nice.

TyrellN6 fails to load on FLstudio, both 32 and 64 bits. Any idea why this could be? It crashes the FI wrapper, with a very serious looking error.

Post

urlwolf wrote:Great to hear Urs.
I found some presets online that only had 10 or so entries in the plain text sound file. But I see that the ones that come with TyrellN6 have all of them. Nice.

TyrellN6 fails to load on FLstudio, both 32 and 64 bits. Any idea why this could be? It crashes the FI wrapper, with a very serious looking error.
I have no idea. It's probably a permissions thing (check the FAQ on our website) or maybe contact our support. They can usually help quickly with those kinds of things.

Post

What exactly do you intend to do with that information? Associate certain parameter value ranges with corresponding sound characteristics?

Post Reply

Return to “Instruments”