#N struct 1113-symarray float x array symbols 1113-sym;
#N struct 1113-sym symbol name float on;
#N canvas 34 60 877 510 10;
#X declare -path .;
#X declare -path .;
#N canvas 91 50 1081 586 detailed_help 0;
#X obj 719 26 declare -path .;
#X obj 22 306 soundoutput;
#X msg 186 132 save;
#X obj 575 9 r \$0-GUI;
#X obj 21 132 m_majorscale 50;
#X obj 21 78 metro 500;
#X obj 21 54 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1
;
#X obj 21 211 pack;
#N canvas 0 58 1013 367 midi-control 0;
#X obj 37 214 m_symbolarray;
#X obj 21 110 ctlin;
#X obj 21 186 / 127;
#X obj 125 65 loadbang;
#X obj 21 297 s \$0-GUI;
#X text 124 31 add your midi controller mappings here. Format: <ctl-num>
<method name>;
#X floatatom 47 144 5 0 0 0 - - -;
#X floatatom 88 145 5 0 0 0 - - -;
#X obj 21 260 list prepend;
#X text 119 259 swap;
#X msg 558 66 env1a \, env1d \, env1r \, env1s \, env2a \, env2d \,
env2r \, env2s \, env3a \, env3d \, env3r \, env3s \, mod1a \, mod1b
\, mod1c \, mod1d \, mod2a \, mod2b \, mod2c \, mod2d \, mod3a \, mod3b
\, mod3c \, mod3d \, osc1a \, osc1b \, osc1c \, osc1d \, osc2a \, osc2b
\, osc2c \, osc2d \, osc3a \, osc3b \, osc3c \, osc3d \,;
#X msg 201 222 dump;
#X symbolatom 37 241 10 0 0 0 - - -;
#X obj 201 276 print;
#X obj 201 244 u_dumpfile controls.txt cr;
#X text 552 32 Control Template - These are the methods \, that s_czz_synth
accepts. They all expect values in a range of 0-1.;
#X text 241 220 You can also keep your settings in a file.;
#X obj 201 336 declare -path .;
#X text 317 339 let me find "controls.txt" here.;
#X msg 125 91 74 osc1a \, 71 osc1b \, 81 osc1c;
#X connect 0 0 8 1;
#X connect 0 0 12 0;
#X connect 1 0 6 0;
#X connect 1 0 2 0;
#X connect 1 1 7 0;
#X connect 1 1 0 0;
#X connect 2 0 8 0;
#X connect 3 0 19 0;
#X connect 8 0 4 0;
#X connect 11 0 14 0;
#X connect 14 0 0 1;
#X connect 14 0 13 0;
#X connect 19 0 0 1;
#X restore 356 103 pd midi-control;
#X obj 27 174 notein;
#X text 346 84 Set controllers here:;
#X obj 144 272 u_cocollect;
#X obj 186 193 t a b;
#X obj 186 59 bng 64 250 50 0 empty empty empty 17 7 0 10 -4034 -1
-1;
#X obj 144 465 s \$0-GUI;
#X obj 125 240 r \$0-control;
#X obj 575 528 s \$0-control;
#X symbolatom 350 271 20 0 0 0 - - -;
#X obj 452 251 s \$0-GUI;
#X obj 350 200 nbx 3 20 0 256 0 0 empty empty empty 0 -8 0 16 -260097
-262144 -1 3 256;
#X obj 350 177 pgmin 1;
#X obj 21 154 makenote 127 300;
#X floatatom 112 62 5 0 0 0 - - -;
#X obj 307 157 hradio 15 1 0 4 empty empty empty 0 -8 0 10 -262144
-1 -1 3;
#X msg 144 318 name tremstring \, mod3b 0.133858 \, mod3a 0.0629921
\, mod2d 0.503937 \, mod2c 0.448819 \, mod2b 0.259843 \, mod2a 0.866142
\, mod1c 0.0472441 \, mod1b 0.015748 \, mod1a 0.425197 \, osc3c 0.708661
\, osc3b 0.346457 \, osc3a 0.76378 \, osc2d 0.811024 \, osc2c 0.00787402
\, osc2b 0.708661 \, osc2a 0.472441 \, osc1d 0.748031 \, osc1c 0.346457
\, osc1b 0.0472441 \, osc1a 0.614173 \, env3r 0.00787402 \, env3s 0.0551181
\, env3d 0.015748 \, env3a 0.0866142 \, env2r 0.023622 \, env2s 0.708661
\, env2d 0.133858 \, env2a 0.299213 \, env1r 0.00858268 \, env1s 0.503937
\, env1d 0.0393701 \, env1a 0.19685 \,;
#X obj 575 69 g_synthcontrol;
#N canvas 0 0 1163 675 hstr_presets 0;
#X obj 91 26 inlet;
#X obj 134 647 outlet name;
#X obj 118 611 symbol;
#X obj 217 646 outlet parms;
#X obj 151 566 route name;
#X obj 681 209 loadbang;
#X text 676 155 set up the interface to be human readable and show
which controls are actually used;
#X text 678 185 Requires modified [g-hsl];
#X obj 90 52 sel 0 1 2 3 4 5 6 7 8 9 10 11 12;
#X msg 676 239 env1a color 128 \, env1a label AMP-ATTACK \, env1d color
128 \, env1d label AMP-DECAY \, env1r color 128 \, env1r label AMP-REL
\, env1s color 128 \, env1s label AMP-SUS \, env2a color 128 \, env2a
label MOD-ATTACK \, env2d color 128 \, env2d label MOD-DECAY \, env2r
color 128 \, env2r label MOD-REL \, env2s color 128 \, env2s label
MOD-SUS \, env3a color 128 \, env3a label NOISE-ATTACK \, env3d color
128 \, env3d label NOISE-DECAY \, env3r color 128 \, env3r label NOISE-REL
\, env3s color 128 \, env3s label NOISE-SUS \, mod1a color 128 \, mod1a
label LFO-FREQ \, mod1b color 128 \, mod1b label VIB-AMT \, mod1c color
128 \, mod1c label VIB-ONSET \, mod1d color 2 \, mod1d label _ \, mod2a
color 128 \, mod2a label FORMANTRES \, mod2b color 128 \, mod2b label
FORM1 \, mod2c color 128 \, mod2c label FORM2 \, mod2d color 128 \,
mod2d label FORM3 \, mod3a color 128 \, mod3a label HIGHPASS \, mod3b
color 128 \, mod3b label VOLUME \, mod3c color 2 \, mod3c label _ \,
mod3d color 2 \, mod3d label _ \, osc1a color 128 \, osc1a label DETUNE-FREQ
\, osc1b color 128 \, osc1b label DET-AMT \, osc1c color 128 \, osc1c
label XMIX-FREQ \, osc1d color 128 \, osc1d label XMIX-AMNT \, osc2a
color 128 \, osc2a label OSC-COARSE \, osc2b color 128 \, osc2b label
NOISE-F osc2c color 128 \, osc2c label NOISE-AMT \, osc2d color 128
\, osc2d label FMMIX \, osc3a color 128 \, osc3a label MODENV \, osc3b
color 128 \, osc3b label WAVE1 \, osc3c color 128 \, osc3c label WAVE2
\, osc3d color 2 \, osc3d label _;
#X msg 92 299 name string1 \, mod3b 0.291339 \, mod3a 0.0472441 \,
mod2d 0.700787 \, mod2c 0.409449 \, mod2b 0.181102 \, mod2a 0.472441
\, mod1c 0.519685 \, mod1b 0.0472441 \, mod1a 0.574803 \, osc3c 0.755906
\, osc3b 0.661417 \, osc3a 0.606299 \, osc2d 0.464567 \, osc2c 0.023622
\, osc2b 0.708661 \, osc2a 0.968504 \, osc1d 0.212598 \, osc1c 0.346457
\, osc1b 0.291339 \, osc1a 0.795276 \, env3r 0.00787402 \, env3s 0.133858
\, env3d 0.023622 \, env3a 0.015748 \, env2r 0.023622 \, env2s 0.889764
\, env2d 0.102362 \, env2a 0.850394 \, env1r 0.0322047 \, env1s 0.503937
\, env1d 0.0866142 \, env1a 0.0866142 \,;
#X msg 109 302 name string2 \, mod3b 0.291339 \, mod3a 0.0944882 \,
mod2d 0.811024 \, mod2c 0.574803 \, mod2b 0.456693 \, mod2a 0.598425
\, mod1c 0.0472441 \, mod1b 0.291339 \, mod1a 0.574803 \, osc3c 0.755906
\, osc3b 0.661417 \, osc3a 0.606299 \, osc2d 0.826772 \, osc2c 0.015748
\, osc2b 0.708661 \, osc2a 0.811024 \, osc1d 0.212598 \, osc1c 0.346457
\, osc1b 0.291339 \, osc1a 0.795276 \, env3r 0.00787402 \, env3s 0.133858
\, env3d 0.023622 \, env3a 0.015748 \, env2r 0.023622 \, env2s 0.889764
\, env2d 0.133858 \, env2a 0.598425 \, env1r 0.00858268 \, env1s 0.503937
\, env1d 0.0393701 \, env1a 0.0866142 \,;
#X msg 128 300 name lowstring \, mod3b 0.181102 \, mod3a 0.0393701
\, mod2d 0.15748 \, mod2c 0.267717 \, mod2b 0.582677 \, mod2a 0.259843
\, mod1c 0.0472441 \, mod1b 0.015748 \, mod1a 0.425197 \, osc3c 0.968504
\, osc3b 0.92126 \, osc3a 0.393701 \, osc2d 0.811024 \, osc2c 0.00787402
\, osc2b 0.708661 \, osc2a 0 \, osc1d 0.141732 \, osc1c 0.204724 \,
osc1b 0.0314961 \, osc1a 0.511811 \, env3r 0.00787402 \, env3s 0.0551181
\, env3d 0.015748 \, env3a 0.0866142 \, env2r 0.023622 \, env2s 0.889764
\, env2d 0.133858 \, env2a 0.598425 \, env1r 0.00858268 \, env1s 0.503937
\, env1d 0.0393701 \, env1a 0.19685 \,;
#X msg 144 297 name tremstring \, mod3b 0.133858 \, mod3a 0.0629921
\, mod2d 0.503937 \, mod2c 0.448819 \, mod2b 0.259843 \, mod2a 0.866142
\, mod1c 0.0472441 \, mod1b 0.015748 \, mod1a 0.425197 \, osc3c 0.708661
\, osc3b 0.346457 \, osc3a 0.76378 \, osc2d 0.811024 \, osc2c 0.00787402
\, osc2b 0.708661 \, osc2a 0.472441 \, osc1d 0.748031 \, osc1c 0.346457
\, osc1b 0.0472441 \, osc1a 0.614173 \, env3r 0.00787402 \, env3s 0.0551181
\, env3d 0.015748 \, env3a 0.0866142 \, env2r 0.023622 \, env2s 0.708661
\, env2d 0.133858 \, env2a 0.299213 \, env1r 0.00858268 \, env1s 0.503937
\, env1d 0.0393701 \, env1a 0.19685 \,;
#X connect 0 0 8 0;
#X connect 2 0 1 0;
#X connect 4 0 2 0;
#X connect 4 1 3 0;
#X connect 5 0 9 0;
#X connect 8 0 10 0;
#X connect 8 1 11 0;
#X connect 8 2 12 0;
#X connect 8 3 13 0;
#X connect 9 0 3 0;
#X connect 10 0 4 0;
#X connect 11 0 4 0;
#X connect 12 0 4 0;
#X connect 13 0 4 0;
#X restore 350 230 pd hstr_presets;
#X obj 21 105 random 10;
#X obj 21 242 s_hstr \$0-TAG;
#X connect 2 0 12 0;
#X connect 3 0 25 0;
#X connect 4 0 21 0;
#X connect 5 0 27 0;
#X connect 6 0 5 0;
#X connect 7 0 28 0;
#X connect 9 0 7 0;
#X connect 9 1 7 1;
#X connect 11 0 24 0;
#X connect 12 0 28 1;
#X connect 12 1 11 1;
#X connect 13 0 2 0;
#X connect 15 0 28 1;
#X connect 19 0 26 0;
#X connect 20 0 19 0;
#X connect 21 0 7 0;
#X connect 21 1 7 1;
#X connect 22 0 27 1;
#X connect 23 0 19 0;
#X connect 24 0 14 0;
#X connect 25 0 16 0;
#X connect 26 0 17 0;
#X connect 26 1 18 0;
#X connect 27 0 4 0;
#X connect 28 0 1 0;
#X connect 28 0 1 1;
#X connect 28 1 11 0;
#X restore 565 253 pd detailed_help;
#N canvas 175 0 827 680 REFERENCE 0;
#X text 114 174 Argument 0: name for state saving (required);
#X text 114 214 Inlet 0: pitch/velocity pairs.;
#X text 114 357 Outlet 0: synth audio signal.;
#X text 114 374 Outlet 1: will report internal settings when receiving
"save" message to second inlet.;
#X text 114 234 Inlet 1: control inlet to set parameters. See example
help for details. Possible message are (in alphabetical order): env1a
\, env1d \, env1r \, env1s \, env2a \, env2d \, env2r \, env2s \, env3a
\, env3d \, env3r \, env3s \, mod1a \, mod1b \, mod1c \, mod1d \, mod2a
\, mod2b \, mod2c \, mod2d \, mod3a \, mod3b \, mod3c \, mod3d \, osc1a
\, osc1b \, osc1c \, osc1d \, osc2a \, osc2b \, osc2c \, osc2d \, osc3a
\, osc3b \, osc3c \, osc3d. They all accept a float in the range 0-1
;
#X text 113 140 Summary: string synthesiser;
#X text 121 529 Tags: synthesizer \, string \, formant \, scrape \,
high;
#X text 113 411 Description: A twin saw and formant based synth optimised
for synthesising string sounds. ajf2010;
#X text 114 121 Name: s_hstr;
#X coords 0 -1 1 1 450 450 1 100 100;
#X restore 4 48 pd REFERENCE;
#X text 498 230 Please see inside for help and an example.;
#X text 658 97 control inlet;
#X text 657 143 preset outlet;
#X text 7 14 s_hstr high string and viloin synthesier;
#X obj 571 181 soundoutput;
#X obj 570 86 pack;
#X obj 570 49 notein;
#X obj 570 117 s_hstr \$0-TAG;
#X connect 7 0 9 0;
#X connect 8 0 7 0;
#X connect 8 1 7 1;
#X connect 9 0 6 0;
#X connect 9 0 6 1;
