Pulse 2 sysex implementation
Extracted form Pulse2 software 1.14
21/03/2014 Waldorf Music GmbH
Copyright 1995 - 2013

If you find any documentation bug herein, please e-mail us @ bugs@waldorfmusic.de

Summary :

I)   Sound related messages
II)  Globals related messages
III) Individual sound parameters
IV)  Individual global parameters
V)   Universal sysex messages
A1)  Special parameter tables
A2)  Arp pattern format

I) Sound related messages :

Remark : For program / bank CC, sounds are organized in 5 banks of 100 presets.
		 => BNK = sound_index / 100
		 => SND = sound_index mod 100
		 EX : sound 258 => BNK = 2, SND = 58
		 
		 For sound dumps / requests, sounds are mapped linearly.
		 => BNK = sound_index / 128
		 => SND = sound_index % 128
		 EX : sound 258 => BNK = 2, SND = 2
		 
* Sound dump request:
Format : F0h 3Eh 16h DEV 00h BNK SND F7h

Where:
Index   Label   Value             Description
--------------------------------------------------------------------------
0       EXC     F0h               Marks start of SysEx
1       IDW     3Eh               Waldorf Music ID
2       IDE     16h               Pulse 2 ID
3       DEV                       Device ID
4		CNT		00h				  Sound dump request
5       BNK						  Sound bank   | 40h (all sounds) | 7Fh (edit / play buffer)
6       SND						  Sound number | 00h (all sounds or edit buffer)
7       EOX     F7h               End of Exclusive
---------------------------------------------------------------------------

* Sound dump:
Format : F0h 3Eh 16h DEV 10h BNK SND DAT[] XS F7h

Where:
Index   Label   Value             Description
--------------------------------------------------------------------------
0       EXC     F0h               Marks start of SysEx
1       IDW     3Eh               Waldorf Music ID
2       IDE     16h               Pulse 2 ID
3       DEV                       Device ID
4		CNT		10h				  Sound dump
5       BNK						  Sound bank   | 7Fh (edit / play buffer)
6       SND						  Sound number | 00h (edit buffer)
8-n		DAT[]					  Sound data (see parameters table)
n+1		XS						  Sysex checksum (7 bit bytesum from IDW to the end of DAT[])
n+2     EOX     F7h               End of Exclusive
---------------------------------------------------------------------------

II) Globals related messages :

* Globals dump request:
Format : F0h 3Eh 16h DEV 04h F7h

Where:
Index   Label   Value             Description
--------------------------------------------------------------------------
0       EXC     F0h               Marks start of SysEx
1       IDW     3Eh               Waldorf Music ID
2       IDE     16h               Pulse 2 ID
3       DEV                       Device ID
4		CNT		04h				  Global dump request
7       EOX     F7h               End of Exclusive
---------------------------------------------------------------------------

* Globals dump:
Format : F0h 3Eh 16h DEV 14h DAT[] XS F7h

Where:
Index   Label   Value             Description
--------------------------------------------------------------------------
0       EXC     F0h               Marks start of SysEx
1       IDW     3Eh               Waldorf Music ID
2       IDE     16h               Pulse 2 ID
3       DEV                       Device ID
4		CNT		14h				  Globals dump
5-n		DAT[]					  Globals data (see global parameter table)
n+1		XS						  Sysex checksum (7 bit bytesum from IDW to the end of DAT[])
n+2     EOX     F7h               End of Exclusive
---------------------------------------------------------------------------
 
III) Individual sound parameters :

Sound parameters send / receive sysex :
Format : F0h 3Eh 16h DEV 20h PRM VAL F7h

Where:
Index   Label   Value             Description
--------------------------------------------------------------------------
0       EXC     F0h               Marks Start of SysEx
1       IDW     3Eh               Waldorf Music ID
2       IDE     16h               Pulse 2 ID
3       DEV                       Device ID
4       IDM     20h               Sound parameter change
5       PRM     see table         Parameter index
6       VAL     see table         Parameter value
7       EOX     F7h               End of Exclusive
---------------------------------------------------------------------------

Parameter send / receive by control change :
Format : Bchan CC VAL

Where:
Index   Label   Value             Description
--------------------------------------------------------------------------
0       CCM     B0h + chan        Control Change message + MIDI channel (0 - 7)
1       CCI     CC (see table)    Control index
2       VAL     value (see table) Control value
---------------------------------------------------------------------------

* Sound parameters :

Param ID	 PP		Param Description			Param Range	 Default	MIDI CC
--------------------------------------------------------------------------------
*   0 		 00h 	: OSC1 SHAPE               	(  0 -   9) 	   0 	CC : 34 
*   1 		 01h 	: OSC1 PULSEWIDTH          	(  0 - 127) 	 127 	CC : 35 
*   2 		 02h 	: OSC1 SEMITONE            	( 16 - 112) 	  64 	CC : 70 
*   3 		 03h 	: OSC1 DETUNE              	(  0 - 127) 	  64 	CC : 71 
*   4 		 04h 	: OSC1 KEYTRACK            	(  0 -   1) 	   1 	CC : 73 
*   5 		 05h 	: OSC1 LEVEL               	(  0 - 127) 	  40 	CC : 45 
*   6 		 06h 	: OSC2 SHAPE               	(  0 -   4) 	   0 	CC : 38 
*   7 		 07h 	: OSC2 PULSEWIDTH          	(  0 - 127) 	 127 	CC : 39 
*   8 		 08h 	: OSC2 SEMITONE            	( 16 - 112) 	  64 	CC : 36 
*   9 		 09h 	: OSC2 DETUNE              	(  0 - 127) 	  64 	CC : 37 
*  10 		 0ah 	: OSC2 KEYTRACK            	(  0 -   1) 	   1 	CC : 40 
*  11 		 0bh 	: OSC2 LEVEL               	(  0 - 127) 	   0 	CC : 46 
*  12 		 0ch 	: OSC3 SHAPE               	(  0 -   4) 	   0 	CC : 44 
*  13 		 0dh 	: OSC3 ROUTING             	(  0 -   3) 	   0 	CC : 72 
*  14 		 0eh 	: OSC3 SEMITONE            	( 16 - 112) 	  64 	CC : 42 
*  15 		 0fh 	: OSC3 DETUNE              	(  0 - 127) 	  64 	CC : 43 
*  16 		 10h 	: OSC3 SYNC>OSC2           	(  0 -   1) 	   0 	CC : 41 
*  17 		 11h 	: OSC3 LEVEL               	(  0 - 127) 	   0 	CC : 47 
*  18 		 12h 	: LFO1 SPEED               	(  0 - 127) 	  64 	CC : 24 
*  19 		 13h 	: LFO1 SHAPE               	(  0 -   9) 	   0 	CC : 25 
*  20 		 14h 	: LFO2 SPEED               	(  0 - 127) 	  64 	CC : 26 
*  21 		 15h 	: LFO2 DELAY               	(  0 - 127) 	   0 	CC : 27 
*  22 		 16h 	: GLIDE RATE               	(  0 - 127) 	  10 	CC : 5 
*  23 		 17h 	: GLIDE MODE               	(  0 -   4) 	   0 	CC : 62 
*  24 		 18h 	: ENVF ATTACK              	(  0 - 127) 	   0 	CC : 14 
*  25 		 19h 	: ENVF DECAY               	(  0 - 127) 	  42 	CC : 15 
*  26 		 1ah 	: ENVF SUSTAIN             	(  0 - 127) 	  42 	CC : 16 
*  27 		 1bh 	: ENVF RELEASE             	(  0 - 127) 	  42 	CC : 17 
*  28 		 1ch 	: ENVF LOOP                	(  0 -   2) 	   0 	CC : 74 
*  29 		 1dh 	: ENVF TRIGGER             	(  0 -   4) 	   2 	CC : 29 
*  30 		 1eh 	: ENVA ATTACK              	(  0 - 127) 	   0 	CC : 18 
*  31 		 1fh 	: ENVA DECAY               	(  0 - 127) 	  42 	CC : 19 
*  32 		 20h 	: ENVA SUSTAIN             	(  0 - 127) 	 127 	CC : 20 
*  33 		 21h 	: ENVA RELEASE             	(  0 - 127) 	  42 	CC : 21 
*  34 		 22h 	: ENVA LOOP                	(  0 -   2) 	   0 	CC : 75 
*  35 		 23h 	: ENVA TRIGGER             	(  0 -   4) 	   2 	CC : 31 
*  36 		 24h 	: ARP ACTIVE               	(  0 -   2) 	   0 	CC : 79 
*  37 		 25h 	: ARP RANGE                	(  0 -   9) 	   1 	CC : 80 
*  38 		 26h 	: ARP TEMPO                	(  0 - 127) 	  37 	CC : 81 
*  39 		 27h 	: ARP CLOCK                	(  0 -  19) 	   9 	CC : 82 
*  40 		 28h 	: ARP PATTERN              	(  0 -  14) 	   0 	
*  41 		 29h 	: ARP MODE                 	(  0 -   6) 	   0 	CC : 83 
*  42 		 2ah 	: VCF CUTOFF               	(  0 - 127) 	 127 	CC : 50 
*  43 		 2bh 	: VCF RESONANCE            	(  0 - 127) 	   0 	CC : 56 
*  44 		 2ch 	: VCF ENVF AMOUNT          	(  0 - 127) 	  64 	CC : 52 
*  45 		 2dh 	: VCF TYPE                 	(  0 -   3) 	   0 	CC : 49 
*  46 		 2eh 	: VCF KEYTRACK             	(  0 - 127) 	  64 	CC : 51 
*  47 		 2fh 	: VCF VELOCITY             	(  0 - 127) 	  64 	CC : 53 
*  48 		 30h 	: VCA DRIVE                	(  0 - 127) 	   0 	CC : 76 
*  49 		 31h 	: VCA DRIVE CURVE          	(  0 -   3) 	   0 	CC : 77 
*  50 		 32h 	: VCA PANNING              	(  0 - 127) 	  64 	CC : 59 
*  51 		 33h 	: NOISE LEVEL              	(  0 - 127) 	   0 	CC : 48 
*  52 		 34h 	: VCA VOLUME               	(  0 - 127) 	 100 	CC : 57 
*  53 		 35h 	: VCA VELOCITY             	(  0 - 127) 	  64 	CC : 58 
*  54 		 36h 	: MOD1 SOURCE              	(  0 -  22) 	   2 	CC : 108 
*  55 		 37h 	: MOD1 AMOUNT              	(  0 - 127) 	  70 	CC : 109 
*  56 		 38h 	: MOD1 TARGET              	(  0 -  30) 	   0 	CC : 110 
*  57 		 39h 	: MOD2 SOURCE              	(  0 -  22) 	   0 	CC : 111 
*  58 		 3ah 	: MOD2 AMOUNT              	(  0 - 127) 	  64 	CC : 112 
*  59 		 3bh 	: MOD2 TARGET              	(  0 -  30) 	  10 	CC : 113 
*  60 		 3ch 	: MOD3 SOURCE              	(  0 -  22) 	   0 	CC : 114 
*  61 		 3dh 	: MOD3 AMOUNT              	(  0 - 127) 	  64 	CC : 115 
*  62 		 3eh 	: MOD3 TARGET              	(  0 -  30) 	   0 	CC : 116 
*  63 		 3fh 	: MOD4 SOURCE              	(  0 -  22) 	   0 	CC : 117 
*  64 		 40h 	: MOD4 AMOUNT              	(  0 - 127) 	  64 	CC : 118 
*  65 		 41h 	: MOD4 TARGET              	(  0 -  30) 	   0 	CC : 119 
*  66 		 42h 	: MOD5 SOURCE              	(  0 -  22) 	   0 	CC : 90 
*  67 		 43h 	: MOD5 AMOUNT              	(  0 - 127) 	  64 	CC : 91 
*  68 		 44h 	: MOD5 TARGET              	(  0 -  30) 	   0 	CC : 92 
*  69 		 45h 	: MOD6 SOURCE              	(  0 -  22) 	   0 	CC : 93 
*  70 		 46h 	: MOD6 AMOUNT              	(  0 - 127) 	  64 	CC : 94 
*  71 		 47h 	: MOD6 TARGET              	(  0 -  30) 	   0 	CC : 95 
*  72 		 48h 	: MOD7 SOURCE              	(  0 -  22) 	   0 	CC : 96 
*  73 		 49h 	: MOD7 AMOUNT              	(  0 - 127) 	  64 	CC : 97 
*  74 		 4ah 	: MOD7 TARGET              	(  0 -  30) 	   0 	CC : 98 
*  75 		 4bh 	: MOD8 SOURCE              	(  0 -  22) 	   0 	CC : 99 
*  76 		 4ch 	: MOD8 AMOUNT              	(  0 - 127) 	  64 	CC : 100 
*  77 		 4dh 	: MOD8 TARGET              	(  0 -  30) 	   0 	CC : 101 
*  78 		 4eh 	: UNISON DETUNE            	(  0 - 127) 	  10 	CC : 102 
*  79 		 4fh 	: OSC1 ENVA FADE           	(  0 - 127) 	  10 	CC : 103 
*  80 		 50h 	: OSC2 ENVA FADE           	(  0 - 127) 	  10 	CC : 104 
*  85 		 55h 	: BEND UPWARDS             	(  0 -  36) 	   3 	CC : 105 
*  86 		 56h 	: BEND DOWN                	(  0 -  36) 	   3 	CC : 106 
*  87 		 57h 	: STEP DURATION            	(  0 -  14) 	   6 	CC : 84 
*  88 		 58h 	: ARP SWING               	( 14 - 114) 	  64 	CC : 85 
*  89 		 59h 	: ARP DELAY                	( 14 - 114) 	  64 	CC : 86
*  90		 5ah	: PAT STEP1					(  0 - 127)		  50
*  91		 5bh	: PAT STEP2					(  0 - 127)		  50
*  92		 5ch	: PAT STEP3					(  0 - 127)		  50
*  93		 5dh	: PAT STEP4					(  0 - 127)		  50
*  94		 5eh	: PAT STEP5					(  0 - 127)		  50
*  95		 5fh	: PAT STEP6					(  0 - 127)		  50
*  96		 60h	: PAT STEP7					(  0 - 127)		  50
*  97		 61h	: PAT STEP8					(  0 - 127)		  50
*  98		 62h	: PAT STEP9					(  0 - 127)		  50
*  99		 63h	: PAT STEP10				(  0 - 127)		  50
*  100		 64h	: PAT STEP11				(  0 - 127)		  50
*  101		 65h	: PAT STEP12				(  0 - 127)		  50
*  102		 66h	: PAT STEP13				(  0 - 127)		  50
*  103		 67h	: PAT STEP14				(  0 - 127)		  50
*  104		 68h	: PAT STEP15				(  0 - 127)		  50
*  105		 69h	: PAT STEP16				(  0 - 127)		  50
*  106 		 6ah 	: PATTERN LENGTH           	(  0 -  15) 	  15 	CC : 87 
*  107 		 6bh 	: ACCENT CONTROL           	(  0 -  22) 	  13 	CC : 88 
*  113		 71h    : NAME1						(  0 - 127)       73 (I)
*  114		 72h    : NAME2						(  0 - 127)       78 (N) 
*  115		 73h    : NAME3						(  0 - 127)       73 (I) 
*  116		 74h    : NAME4						(  0 - 127)       84 (T)
*  117		 75h    : NAME5						(  0 - 127)       0 
*  118		 76h    : NAME6						(  0 - 127)       0 
*  119		 77h    : NAME7						(  0 - 127)       0 
*  120		 78h    : NAME8						(  0 - 127)       0 
*  121		 79h    : NAME9						(  0 - 127)       0 
*  122		 7Ah    : NAME10					(  0 - 127)       0 
*  123		 7Bh    : NAME11					(  0 - 127)       0 
*  124		 7Ch    : NAME12					(  0 - 127)       0 
*  125		 7Dh    : NAME13					(  0 - 127)       0 
*  126		 7Eh    : NAME13					(  0 - 127)       0 
*  127		 7Fh    : CLASS						(  0 -  20)       0

* All not listed parameters are reserved parameters

IV) Individual global parameters :

Global parameters send / receive sysex :
Format : F0h 3Eh 16h DEV 24h PRM VAL F7h

Where:
Index   Label   Value             Description
--------------------------------------------------------------------------
0       EXC     F0h               Marks Start of SysEx
1       IDW     3Eh               Waldorf Music ID
2       IDE     16h               Pulse 2 ID
3       DEV                       Device ID
4       IDM     24h               Global parameter change
5       PRM     see table         Parameter index
6       VAL     see table         Parameter value
7       EOX     F7h               End of Exclusive
---------------------------------------------------------------------------

* Global parameters :

Param ID	 PP		Param Description			Param Range	 Default	MIDI CC
--------------------------------------------------------------------------------
* 128 		 00h 	: MASTERTUNE               	( 44 -  84) 	  64 	
* 129 		 01h 	: TRANSPOSE                	( 40 -  88) 	  64 	
* 130 		 02h 	: INPUT GAIN               	(  0 -   7) 	   3 	
* 131 		 03h 	: MIDI CHANNEL             	(  0 -  16) 	   0 	
* 132 		 04h 	: DEVICE ID                	(  0 - 126) 	   0 	
* 133 		 05h 	: CONTROL X                	(  1 - 119) 	   4 	
* 134 		 06h 	: CLOCK                    	(  0 -   2) 	   0 	
* 135 		 07h 	: LOCAL CTRL               	(  0 -   1) 	   0 	
* 136 		 08h 	: TX ARP CLOCK             	(  0 -   1) 	   0 	
* 137 		 09h 	: TX ARP NOTES             	(  0 -   1) 	   0 	
* 138 		 0ah 	: TX PARAMETER             	(  0 -   3) 	   0 	
* 139 		 0bh 	: MIDI THRU                	(  0 -   1) 	   0 	
* 140 		 0ch 	: LCD CONTRAST             	( 30 - 127) 	  56 	
* 141 		 0dh 	: VEL. CURV                	(  0 -   7) 	   0 	
* 142 		 0eh 	: P1 LEGACY                	(  0 -   1) 	   0 	
* 143 		 0fh 	: CV MODE                  	(  0 -   1) 	   0 	
* 144 		 10h 	: CV AMP                   	(  0 -   2) 	   0 	
* 145 		 11h 	: CV TUNE                  	(  0 - 127) 	  64 	
* 146 		 12h 	: CV ADJUST                	(  0 - 127) 	  64 	
* 147 		 13h 	: GATE MODE                	(  0 -   1) 	   0 	
* 158 		 1eh 	: VOLUME                   	(  0 - 127) 	  64 	CC : 7 
* 159 		 1fh 	: PANNING                  	(  0 - 127) 	  64 	CC : 10 

* All not listed parameters are reserved parameters

IV) Universal sysex messages

MIDI Identity request :
Format : F0h 7Eh dev 06h 01h F7h

Where:
Index   Label   Value            Description
--------------------------------------------------------------------------
0       EXC     F0h              Marks Start of SysEx
1       IDU     7Eh              Universal / non realtime sysex
2       IDE     dev              Device ID (00h - 7Eh | 7Fh disregard ID)
3       SI1     06h              General information
4       SI2     01h              Identity request
5       EOX     F7h              End of Exclusive
---------------------------------------------------------------------------

MIDI Identity reply :
Format : F0h 7Eh dev 06h 02h 3Eh 16h 00h 00h 00h bootMSB bootLSB firmMSB firmLSB F7h

Where:
Index   Label   Value            Description
--------------------------------------------------------------------------
0       EXC     F0h              Marks Start of SysEx
1       IDU     7Eh              Universal / non realtime sysex
2       IDE     dev              Device ID (00h - 7Eh | 7Fh disregard ID)
3       SI1     06h              General information
4       SI2     02h              Identity reply
5       IDW     3Eh              Waldorf Music ID
6       DCL     16h              Pulse 2 ID
7       DCM     00h              Reserved
8       DML     00h              Reserved
9       DMH     00h              Reserved
10      SR1     bootMSB          Bootloader revision (MSB)
11      SR2     bootLSB          Bootloader revision (LSB)
12      SR3     firmMSB          Firmware revision (MSB)
13      SR4     firmLSB          Firmware revision (LSB)
14      EOX     F7h              End of Exclusive
---------------------------------------------------------------------------

In order to find which DIN / USB port a Pulse 2 synthesizer is connected to, you can use
MIDI identity request and reply messages. Open all in ports and cycle through every out
port sending identity requests and waiting for potential replies. Once you get a specific
Pulse2 identity reply message, you also get the in / out ports combination connected to
the synthesizer.

It is also possible to retrieve the internal software revision (bootloader / firmware)
within the identity reply message.

A1) Special parameter tables :

Osc 1 Waves :
Value 		 Name 			 Description
----------------------------------------------------
  0 : 		 PWM      		 Pulse Width waveform
  1 : 		 SAW      		 Sawtooth waveform
  2 : 		 TRI      		 Triangle waveform
  3 : 		 APW      		 Alternative Pulse Width
  4 : 		 UNISON-M 		 Unison Monophonic
  5 : 		 UNISON-P 		 Unison Polyphonic
  6 : 		 UNIAPW-M 		 APW Monophonic
  7 : 		 UNIAPW-P 		 APW Polyphonic
  8 : 		 PARA-8   		 Paraphonic 8 voices
  9 : 		 PARA-4   		 Paraphonic 4 voices

Osc 2 Waves :
Value 		 Name 			 Description
----------------------------------------------------
  0 : 		 PWM      		 Pulse Width waveform
  1 : 		 SAW      		 Sawtooth waveform
  2 : 		 TRI      		 Triangle waveform
  3 : 		 X3-PWM   		 PWM synchronised on osc 3
  4 : 		 X1-PWM   		 PWM synchronised on osc 1

Osc 3 Waves :
Value 		 Name 			 Description
----------------------------------------------------
  0 : 		 SQR      		 Square waveform
  1 : 		 SAW      		 Sawtooth waveform
  2 : 		 TRI      		 Triangle waveform
  3 : 		 EXT      		 External input
  4 : 		 FB       		 Feedback signal

Osc 3 Sources :
Value 		 Name 			 Description
----------------------------------------------------
  0 : 		 MIX      		 Oscillator mixer
  1 : 		 LEVEL2   		 Oscillator 2 level
  2 : 		 VCF      		 Filter cutoff
  3 : 		 DRIVE    		 Drive level

LFO periods :
Value 		 Name 			 Description
----------------------------------------------------
  0 : 		 32       		 32 bars
  1 : 		 24       		 24 bars
  2 : 		 16       		 16 bars
  3 : 		 12       		 12 bars
  4 : 		 8        		 8 bars
  5 : 		 6        		 6 bars
  6 : 		 5        		 5 bars
  7 : 		 4        		 4 bars
  8 : 		 3        		 3 bars
  9 : 		 2        		 2 bars

LFO Waves :
Value 		 Name 			 Description
----------------------------------------------------
  0 : 		 SINE     		 Sine wave
  1 : 		 TRI      		 Triangle wave
  2 : 		 SAW      		 Sawtooth wave
  3 : 		 SQR      		 Square wave
  4 : 		 S&H      		 Sample & hold wave

Glide modes :
Value 		 Name 			 Description
----------------------------------------------------
  0 : 		 OFF      		 Glide disabled
  1 : 		 NORM     		 Continuous glide mode
  2 : 		 FNGR     		 Fingered glide mode
  3 : 		 FNON     		 Fingered on press
  4 : 		 FOFF     		 Fingered on release

Looping modes :
Value 		 Name 			 Description
----------------------------------------------------
  0 : 		 OFF      		 No looping
  1 : 		 A-D      		 Attack - decay looping
  2 : 		 D-D      		 Decay looping

Trigger modes :
Value 		 Name 			 Description
----------------------------------------------------
  0 : 		 SNG1     		 Single trigger
  1 : 		 SNG2     		 Single trigger without reset
  2 : 		 RET1     		 Trigger every time
  3 : 		 RET2     		 Trigger every time without reset
  4 : 		 RET3     		 Trigger on press

Arp state :
Value 		 Name 			 Description
----------------------------------------------------
  0 : 		 OFF      		 Arpegiator disabled
  1 : 		 ON       		 Arpegiator on
  2 : 		 HOLD     		 Arpegiator hold mode

Arp modes :
Value 		 Name 			 Description
----------------------------------------------------
  0 : 		 UP       		 Up time ordered
  1 : 		 DOWN     		 Down time ordered
  2 : 		 ALT      		 Up / down time ordered
  3 : 		 RAND     		 Random ordered
  4 : 		 #UP      		 Up pitch ordered
  5 : 		 #DWN     		 Down pitch ordered
  6 : 		 #ALT     		 Up / down pitch ordered

Filter types :
Value 		 Name 			 Description
----------------------------------------------------
  0 : 		 LP24     		 Low pass 24dB/octave filter
  1 : 		 LP12     		 Low pass 12dB/octave filter
  2 : 		 BP12     		 Band pass 12dB/octave filter
  3 : 		 HP12     		 High pass 12dB/octave filter

Drive types :
Value 		 Name 			 Description
----------------------------------------------------
  0 : 		 NONE     		 Clean sound
  1 : 		 TUBE     		 Tube alike distortion
  2 : 		 FUZZ     		 Fuzz alike distortion
  3 : 		 FX       		 Effects board output

Modulation sources :
Value 		 Name 			 Description
----------------------------------------------------
  0 : 		 OFF      		 No source assigned
  1 : 		 LFO1     		 LFO1 output
  2 : 		 LFO1*MODW 		 LFO1 x modwheel
  3 : 		 LFO1*PRS 		 LFO1 x pressure
  4 : 		 LFO2     		 LFO2 output
  5 : 		 LFO2*ENVA 		 LFO2 x amplifier enveloppe
  6 : 		 ENVF     		 Filter enveloppe output
  7 : 		 ENVA     		 Amplifier enveloppe output
  8 : 		 VELOCITY 		 Keyboard velocity
  9 : 		 KEYTRACK 		 Pitch keytracking
 10 : 		 PITCH FLW 		 Pitch follower (with glide)
 11 : 		 PITCHBEND 		 Keyboard pitchbender
 12 : 		 MODWHEEL 		 Keyboard modwheel
 13 : 		 PRESSURE 		 Keyboard pressure
 14 : 		 BREATH CT 		 Breath controller
 15 : 		 CONTROL-X 		 Control X
 16 : 		 V.RELEASE 		 Keyboard velocity release
 17 : 		 M-ACCU   		 Modulation accumulator
 18 : 		 M-PRODUCT 		 Modulation productor
 19 : 		 M-DELAY  		 Modulation delay line
 20 : 		 M-SMOOTH 		 Modulation smoother
 21 : 		 M-MIN    		 Modulation minimizer
 22 : 		 M-MAX    		 Modulation maximizer
 23 : 		 K-HIGHEST 		 Highest note pressed
 24 : 		 K-LOWEST 		 Lowest note pressed

Modulation destinations :
Value 		 Name 			 Description
----------------------------------------------------
  0 : 		 PITCH    		 Global oscillator pitch
  1 : 		 OSC1 PITCH		 Oscillator 1 pitch
  2 : 		 OSC2 PITCH 	 Oscillator 2 pitch
  3 : 		 OSC3 PITCH 	 Oscillator 3 pitch
  4 : 		 PULSEWIDTH1 	 Oscillator 1 pulsewidth
  5 : 		 PULSEWIDTH2 	 Oscillator 2 pulsewidth
  6 : 		 OSC1 LEVEL 	 Oscillator 1 level
  7 : 		 OSC2 LEVEL 	 Oscillator 2 level
  8 : 		 OSC3 LEVEL 	 Oscillator 3 level
  9 : 		 NOISE LEVEL 	 Noise level
 10 : 		 CUTOFF   		 Filter cutoff / center frequency
 11 : 		 RESONANCE 		 Filter resonance
 12 : 		 VOLUME   		 Global volume
 13 : 		 PANNING  		 Global panning
 14 : 		 LFO1 SPEED 	 LFO1 speed
 15 : 		 MOD1 AMOUNT 	 Modulation1 amount
 16 : 		 DRIVE    		 Distortion drive
 17 : 		 GLIDE RATE 	 Glide rate
 18 : 		 ENVF RATES 	 Filter enveloppe
 19 : 		 ENVA RATES 	 Amplifier enveloppe
 20 : 		 UNISON DET 	 Unison detuning
 21 : 		 PARA FADE1 	 Paraphonic fade in / out
 22 : 		 PARA FADE2 	 Paraphonic fade in / out
 23 : 		 ARP SWING 		 Arpeggiator swing
 24 : 		 CV OUT   		 Control voltage

Sound categories :
Value 		 Name 			 Description
----------------------------------------------------
  0 : 		 NONE     		 No category
  1 : 		 ARP      		 Arpeggiated sound
  2 : 		 ATMO     		 Atmospheric sound
  3 : 		 BASS     		 Bass sound
  4 : 		 DRUM     		 Drumkit sound
  5 : 		 FX       		 Special effect
  6 : 		 KEYS     		 Keyboard
  7 : 		 LEAD     		 Leading sound
  8 : 		 MONO     		 Monophonic sound
  9 : 		 PAD      		 Pad sound
 10 : 		 PERC     		 Percussive sound
 11 : 		 POLY     		 Polyphonic sound
 12 : 		 SEQ      		 Sound sequence
 13 : 		 DUB      		 Dub sound
 14 : 		 LUSH     		 Lushy sound
 15 : 		 STRG     		 String sound
 16 : 		 PLUK     		 Pluck sound
 17 : 		 WIND     		 Wind instrument sound
 18 : 		 NOIS     		 Noise sound
 19 : 		 EXFX     		 External input effect
 20 : 		 INIT     		 Init sound
 
A2) Arp pattern format

Single byte format :
Bit : 7 6 5 4 3 2 1 0
	  0 g l l t t t t

Where:

Type of step : tttt (4 bits)
Value		Name		Description
--------------------------------------------------------------------------
 0h : 		AOFF		step off
 1h : 		ASOFT		soft step (velocity - 32)
 2h : 		ANORM		normal step
 3h : 		AHARD		hard step (velocity + 32)
 4h : 		AEVEN		even note (only played on even beats)
 5h : 		AODD		odd note (only played on odd beats)
 6h : 		AOCT		one octave above
 7h : 		A1ST		first chord note
 8h : 		ARESET		reset note pointer

Length of step : ll (2 bits)
Value		Name		Description
--------------------------------------------------------------------------
 0h : 		L25P		25 %  of step duration
 1h : 		L50P		50 %  of step duration
 2h : 		L75P		75 %  of step duration
 3h : 		L100P		100 % of step duration

Step glide : g (1 bit)
Value		Name		Description
--------------------------------------------------------------------------
 0h : 		GOFF		glide off
 1h : 		GON			glide on
  
(c) Waldorf Music GmbH
