Definition: TÖÖRÖ synth (wavetable, analog filters, MPE) & some questions

i managed now to make one myself, let me know if you find mistakes thanks!

highly recommended - such a great synth now double the fun when modulated from the HAPPAX!

1 Like

its not code and is easy to figure out. got a midi implementation chart? you have everything you need.

i will try but have a few q’s:

  • why do some only include name, channel and CCs and others - like the OB6 - a lot more information?

  • what does PC mean there?

  • what are automation CC’s vs normal CC there?

  • why are NRPN numbers extra and why do they look so different? For the TÖÖRÖ there only is a CC list

  • it can do MPE - how is this shown in the definition?

thank you

i did one now which seems to work (by copying and editing another :wink: )

still it would be great if you could help me with the questions from my previous post
thanks

############# Freds Lab TÖRÖÖ  #############
VERSION 1 # Currently, this should only be 1.

###### DEFINITIONS

# Supports all alphanumeric ASCII, and ' ', '_', '-', '+' - can also be NULL
TRACKNAME TOROO

# Can be POLY, DRUM, MPE, or NULL
TYPE POLY

# Can be A, B, C, D, USBD, USBH, CVGx (x between 1&4), CVx, Gx, or NULL
OUTPORT NULL

# Can be x (between 1-16), or NULL -- this is ignored if output port is not MIDI
OUTCHAN NULL

# Can be NONE, ALLACTIVE, A, B, USBH, USBD, CVG, or NULL
INPORT NULL

# Can be x (between 1-16), ALL, or NULL. This definition will be ignored if INPORT is NONE, ALLACTIVE or CVG
INCHAN ALL

# DRUMLANES
# Syntax: ROW:TRIG:CHAN:NOTENUMBER NAME
# ROW must be between 1 and 8
# TRIG can be between 0 and 127, or NULL
# CHAN can be a number between 1 and 16, Gx, CVx, CVGx (x between 1 and 4), or NULL
# NOTENUMBER can be between 0 and 127, or NULL
# NAME supports all alphanumeric ASCII, and ' ', '_', '-', '+' - can also be NULL
# Please note this section will be discarded for tracks which are not DRUM tracks
[DRUMLANES]
[/DRUMLANES]


# PC
# Syntax: NUMBER NAME
# number must be either:
#   - A number (for simple PC)
#   - Three numbers, delimited by ':', which represent PC:MSB:LSB. You can put 'NULL' to not set the MSB/LSB.
# PC must be between 1...128
# MSB/LSB must be between 0...127
[PC]
1 INIT
1:1:NULL B01
[/PC]

# CC
# Syntax: CC_NUMBER NAME or CC_NUMBER:DEFAULT=xx NAME
# DEFAULT_VALUE must be a valid number between 0 and 127

[CC]

01 CC_MODWHEEL			
64 CC_HOLD					
07 CC_MULTI_LEVEL			
10 CC_MULTI_BALANCE		
91 CC_FX_MIX				
12 CC_FX_FEEDBACK		
14 CC_FX_LENGTH			
93 CC_FX_DEPTH			
13 CC_FX_STYLE			
15 CC_FX_SPEED			
70 CC_OSC1_WAVE			
21 CC_OSC1_COARSE		
22 CC_OSC1_FMAMT			
23 CC_OSC1_LEVEL			
24 CC_OSC1_TABLE			
25 CC_OSC1_FINE			
26 CC_OSC1_FMRATE		
27 CC_OSC1_SYNC			
77 CC_OSC2_WAVE			
31 CC_OSC2_COARSE		
32 CC_OSC2_FMAMT			
33 CC_OSC2_LEVEL			
34 CC_OSC2_TABLE			
35 CC_OSC2_FINE			
36 CC_OSC2_FMRATE		
37 CC_OSC2_SYNC			
78 CC_EXTRA_NOISE		
79 CC_EXTRA_RING			
73 CC_ENVA_ATTACK		
40 CC_ENVA_DECAY			
41 CC_ENVA_SUSTAIN		
72 CC_ENVA_RELEASE		
43 CC_ENVA_VELO			
42 CC_ENVA_HOLD			
44 CC_ENVA_AFTER			
45 CC_ENVA_TRIGGER		
46 CC_ENVF_ATTACK		
47 CC_ENVF_DECAY			
48 CC_ENVF_SUSTAIN		
49 CC_ENVF_RELEASE		
51 CC_ENVF_VELO			
50 CC_ENVF_HOLD			
52 CC_ENVF_AFTER			
53 CC_ENVF_TRIGGER		
71 CC_FILTER_RESO		
74 CC_FILTER_CUTOFF		
54 CC_FILTER_EFAMT		
55 CC_FILTER_TRACK		
56 CC_FILTER_AFTER		
57 CC_FILTER_L1AMT		
75 CC_SHAPER_CENTER		
76 CC_SHAPER_GAIN		
58 CC_SHAPER_EAAMT		
59 CC_SHAPER_TRACK		
60 CC_SHAPER_MODEL		
61 CC_SHAPER_L2AMT		
102 CC_LFO1_SHAPE		
103 CC_LFO1_SPEED		
104 CC_LFO1_RISE			
105 CC_LFO1_PHASE		
106 CC_LFO2_SHAPE		
107 CC_LFO2_SPEED		
108 CC_LFO2_RISE			
109 CC_LFO2_PHASE		
110 CC_ARP_MODE			
111 CC_ARP_DIVISION		
112 CC_ARP_TEMPO			
113 CC_ARP_HOLD			
80 CC_AMP_LEVEL			
81 CC_AMP_PAN			
17 CC_MOD_EF			
18 CC_MOD_EA			
19 CC_MOD_L1			
20 CC_MOD_L2			
87 CC_MOD_MD			
88 CC_MOD_PI			
89 CC_MOD_VL			
90 CC_MOD_AF			
85 CC_TUNE			
86 CC_BENDRANGE			
120 CC_ALLSOUNDSOFF		
121 CC_ALLCTRLOFF		
123 CC_ALLNOTESOFF		
124 CC_OMNIOFF			
125 CC_OMNION			
126 CC_MONO_MODE			
127 CC_POLY_MODE			


[/CC]


# ASSIGN
# Syntax: POT_NUMBER TYPE:VALUE or POT_NUMBER TYPE:VALUE DEFAULT=DEFAULT_VALUE
# POT_NUMBER must be between 1 and 8
# TYPE can be "CC", "PB" (pitchbend), "AT" (aftertouch), "CV", "NRPN", or "NULL" (this won't assign the pot).
# Non explicitly-defined pots will be considered "NULL"
# VALUE VALIDATION
#### For CC: Value must be a valid number between 0 and 119
#### For PB and AT, any text after the TYPE will be ignored
#### For CV, value must be between 1 and 4
#### For NRPN, value must be MSB:LSB:DEPTH, with both lsb & msb bebtween 0 and 127, and DEPTH being either 7 or 14
# DEFAULT VALUE
#### For CC: DEFAULT_VALUE must be a valid number between 0 and 127
#### For PB: DEFAULT_VALUE must be a valid number between 0 and 16383
#### For NRPN: DEFAULT_VALUE must be a valid number, either between 0 and 127 (for 7 bit NRPNs) or between 0 and 16383 (for 14bit NRPNs)
#### For CV: DEFAULT_VALUE must be either a valid number between 0 and 65535, or a voltage between -5V and 5V, e.g. "-4.25V" or "1.7V"
#### Please note default value will be ignored for PB and AT messages.
[ASSIGN]

[/ASSIGN]


# AUTOMATION
# Syntax: TYPE:VALUE
# TYPE can be "CC", "PB" (pitchbend), "AT" (aftertouch), "CV", or "NRPN"
# VALUE VALIDATION
#### For CC: Value must be a valid number between 0 and 119
#### For PB and AT, any text after the TYPE will be ignored
#### For CV, value must be between 1 and 4
#### For NRPN, value must be MSB:LSB:DEPTH, with both lsb & msb bebtween 0 and 127, and DEPTH being either 7 or 14
[AUTOMATION]

[/AUTOMATION]


# This section will be readable from Hapax.
[COMMENT]
FRED IS DA MAN!
[/COMMENT]

just add what you have and use it

nrpn is a combo of 2 cc values for an increased resolution using an old standard

PC = program change

even lame synths become much more fun to use with hapax. my volca samples are now modulated monsters. my junk dr5 can now house much better!

1 Like