Waldorf Wave System Exclusive Description (c) Waldorf Electronics written by Stefan Stenzel September 21st 1993 Operating System Version 1.400 1.) General Information This document is prepared under great caution in a most precise manner. Several experts took care in sorting and checking the available information the best way possible. However, we cannot guarantee that all information is absolutely correct, nor can we guarantee that there won't be changes due to further software enhancements. All System Exclusive messages of the Wave have the following format : Label Bytes Comment -------------------------------------------------------------------------------- SYSX 1 Always 0xF0 WALDORF 1 Always 0x3E WAVE ID 1 Always 0x03 DEVICE ID 1 According to global parameter (Device Number) MESSAGE ID 1 Specifies message type LOCATION nl Specifies location of Dump, Number of bytes nl depends on MESSAGE ID DATA n Number of data bytes n depending on MESSAGE ID CHKSUM 1 sum of all bytes of LOCATION and DATA truncated to 7 bit EOX 1 0xF7 -------------------------------------------------------------------------------- Dumps are only accepted if the DEVICE ID fits the global parameter (Device Number) or is set to 127, which means all units. If a checksum error is detected, the whole message will be ignored. An unknown message will lead to no reaction, it will be ignored completely. In all dumps there may be unused data-bytes. Those data-bytes represent reserved, but yet unused parameters and should be set to zero. If not indicated differently, a databyte consists of a regular MIDI-databyte (0x00 - 0x7F). Otherwise: ASCII: A MIDI databyte in the range of 20h..7Fh. BYTE : Two consecutive nibbles form an 8-bit byte. The MS nibble is sent first. WORD : Four consecutive nibbles form a 16-bit word. The MS nibble is sent first. No other data formats will be provided. Within a single message data formats may be mixed. 2.) MESSAGE IDs Detailed information: The diference between dumps and requests is determined by a high or low bit 6. This means: requests occupy IDM-numbers 00h to 3Fh, while the corresponding dumps have IDM-numbers 40h to 7Fh. As you can see, a dump always has the same IDM-number as it's request, the difference being a high (set) bit 6. The Wave accepts and sends the following Dump MESSAGE IDs : Label Value Bytes nl Bytes n Description LOCATION of DATA ---------------------------------------------------------------------------- SBPR 0x00 3 256 Soundprogram SARR 0x01 2 512 Performance SWAVE 0x02 4 128 Wave SWTBL 0x03 2 266 Wave control table SVT 0x04 1 128 Velocity Curve STT 0x05 1 256 Tuning Table SGLB 0x06 0 384 Global Parameters SARRMAP 0x07 0 256 Performance Program Change Map SBPRMAP 0x08 0 256 Sound Program Change Map SBPRPAR 0x09 3 1 Sound Parameter SARRPAR 0x0A 1 1 Performance Parameter SINSPAR 0x0B 2 1 Instrument/External Parameter SBULK 0x0F 0 1 Bulk Switch on/off ---------------------------------------------------------------------------- *** Note *** SARRPAR and SINSPAR Dumps cannot be sent by the Wave with the current Operating System Version, nevertheless they are properly received. *** Note *** Although the Wave offers Bulk Dumps of Soundbanks, Performance banks and Arrangements, there is no System Exclusive implementation for these data types. Instead of this, the Wave sends out a sequence of single Dumps : Dump Sequence for Soundbank : 1. Bulk switch on SBULK 2. 128 consecutive Sound Dumps SBPR 3. Bulk switch off SBULK Dump Sequence for Performance bank : 1. Bulk switch on SBULK 2. 128 consecutive Performance Dumps SARR 3. Bulk switch off SBULK Dump Sequence for Wavetable : 1. Wave control table dump SWTBL 2. Wave Dumps for each needed userwave SWAVE Rom waves 0-299 will not be sent. Dump Sequence for Arrangement : 1. Performance Dump SARR 2. Sound Dumps for each needed Sound SBPR *** Dump without tables stops here *** 3. Dumps of needed Velocity curves SVT 4. Dumps of needed Tuning tables STT 5. Dumps of needed Wavetables (see above) SWTBL The Wave accepts and sends the following Request MESSAGE IDs : ( all DATA fields have 0 Bytes ) Label Value Bytes nl Description of LOCATION ---------------------------------------------------------------------------- RQBPR 0x40 1 Soundprogram RQARR 0x41 0 Performance RQWAVE 0x42 4 Wave RQWTBL 0x43 1 Wavetable RQVT 0x44 1 Velocity Curve RQTT 0x45 1 Tuning Table RQGLB 0x46 0 Global Parameters RQARRMAP 0x47 0 Performance Program Change Map RQBPRMAP 0x48 0 Sound Program Change Map ---------------------------------------------------------------------------- 3.) Detailed Messages 3.a) SBPR ( Soundprogram Dump ) Format : ---------------------------------------------------------------------------- SYSX 1 0xF0 WALDORF 1 0x3E WAVE ID 1 0x03 DEVICE ID 1 See global parameter (Device Number) MESSAGE ID 1 0x00 ( SBPR ) LOCATION 3 Instrument and Sound Number Byte 0: Instrument number Byte 1: Bank number, 0: bank A, 1: bank B Byte 2: Sound Number DATA 256 Soundprogram data ( see description below ) CHKSUM 1 sum of all bytes of DATA and LOCATION, truncted to 7 bit EOX 1 0xF7 ---------------------------------------------------------------------------- Format of Soundprogram : Byte description --------------------------------------------------------------------- 0 Oscillator 1 octave (0=-2, 0x10=-1, 0x20=0, 0x30=+1, 0x40=+2) 1 Oscillator 1 semitone (16-112, 1 semitone equals a value of 4) 2 Oscillator 1 detune (14-114 represents -50...+50 ) 3 Oscillator 1 bend range (16-112 in steps of 4, represents -12...+12, 12 means global. ) 4 Oscillator 1 pitch mode (0: norm, 1-4: random 1-4,5: fixed ) 5 Oscillator 1 mod 1 source (0-38, see modifier table ) 6 Oscillator 1 mod 1 control (0-38, see modifier table ) 7 Oscillator 1 mod 1 amount (0-127, represents -64...+63 ) 8 Oscillator 1 mod 2 source (0-38, see modifier table ) 9 Oscillator 1 mod 2 amount (0-127, represents -64...+63 ) 10 Oscillator 1 mod 2 quantize (0-7) 11 unused 12 Oscillator 2 octave (0=-2, 0x10=-1, 0x20=0, 0x30=+1, 0x40=+2) 13 Oscillator 2 semitone 14 Oscillator 2 detune 15 Oscillator 2 bend range 16 Oscillator 2 pitch mode 17 Oscillator 2 mod 1 source 18 Oscillator 2 mod 1 control 19 Oscillator 2 mod 1 amount 20 Oscillator 2 mod 2 source 21 Oscillator 2 mod 2 amount 22 Oscillator 2 mod 2 quantize 23 Oscillator 2 link (0: off, 1: on ) 24 unused 25 Wavetable (0-127 represents wavetables 1-128) 26 Wave 1 wave pos (0-63) 27 Wave 1 wave phase (0-127, 0 means free start ) 28 Wave 1 start mod source (0-38, see modifier table ) 29 Wave 1 start mod amount (0-127, represents -64...+63 ) 30 Wave 1 envel amount (0-127, represents -64...+63 ) 31 Wave 1 envel velo amount (0-127, represents -64...+63 ) 32 Wave 1 kb tracking (0-127, represents -64...+63 ) 33 Wave 1 kb center (0-127, represents C-2...G9 ) 34 Wave 1 mod 1 source (0-38, see modifier table ) 35 Wave 1 mod 1 control (0-38, see modifier table ) 36 Wave 1 mod 1 amount (0-127, represents -64...+63 ) 37 Wave 1 mod 2 source (0-38, see modifier table ) 38 Wave 1 mod 2 amount (0-127, represents -64...+63 ) 39 Wave 1 mod 2 quantize (0-7) 40 Wave 1 stepped/smooth (0: stepped, 1: smooth ) 41 unused 42 Wave 2 startwave 43 Wave 2 wave phase 44 Wave 2 start mod source 45 Wave 2 start mod amount 46 Wave 2 envelope amount 47 Wave 2 envelope velo amount 48 Wave 2 keytrack 49 Wave 2 keycenter 50 Wave 2 mod 1 source 51 Wave 2 mod 1 control 52 Wave 2 mod 1 amount 53 Wave 2 mod 2 source 54 Wave 2 mod 2 amount 55 Wave 2 mod 2 quantize 56 Wave 2 stepped/smooth 57 Wave 2 link (0: off, 1: on ) 58 unused 59 Wave 1 volume (0-112, in steps of 16, => 0-7) 60 Wave 2 volume (0-112, in steps of 16, => 0-7) 61 Noise volume (0-112, in steps of 16, => 0-7) 62 Wave 1 volume mod source (0-38, see modifier table ) 63 Wave 1 volume mod amount (8-120 in steps of 8, => -7...+7 ) 64 Wave 2 volume mod source (0-38, see modifier table ) 65 Wave 2 volume mod amount (8-120 in steps of 8, => -7...+7 ) 66 Noise volume mod source (0-38, see modifier table ) 67 Noise volume mod amount (8-120 in steps of 8, => -7...+7 ) 68 Amplifier envelope amount (0-127, represents -64...+63 ) 69 Amplifier envelope velocity amount (0-127, => -64...+63 ) 70 Amplifier keytrack (0-127, represents -64...+63 ) 71 Amplifier keycenter (0-127, represents C-2...G9 ) 72 Amplifier mod 1 source (0-38, see modifier table ) 73 Amplifier mod 1 control (0-38, see modifier table ) 74 Amplifier mod 1 amount (0-127, represents -64...+63 ) 75 Amplifier mod 2 source (0-38, see modifier table ) 76 Amplifier mod 2 amount (0-127, represents -64...+63 ) 77 unused 78 Filter mode (0: lowpass, 1: Highpass, 2: Bandpass, 3: Dual ) 79 Lowpass filter frequency (0-127) 80 Filter resonance (0-127) 81 Filter envelope amount (0-127, represents -64...+63 ) 82 Filter velocity amount (0-127, represents -64...+63 ) 83 Filter keytrack (0-127, represents -64...+63 ) 84 Filter keycenter (0-127, represents C-2...G9 ) 85 Filter mod 1 source (0-38, see modifier table ) 86 Filter mod 1 control (0-38, see modifier table ) 87 Filter mod 1 amount (0-127, represents -64...+63 ) 88 Filter mod 2 source (0-38, see modifier table ) 89 Filter mod 2 amount (0-127, represents -64...+63 ) 90 Filter resonance mod source (0-38, see modifier table ) 91 Filter resonance mod control (0-38, see modifier table ) 92 Filter resonance mod amount (0-127, represents -64...+63 ) 93 Dual mode highpass frq (0-127) 94 Dual mode highpass envelope select (0: Amp, 1:Filter, 2: Wave, 1: Free ) 95 Dual mode highpass envelope amount (0-127, represents -64...+63 ) 96 Dual mode highpass velocity amount (0-127, represents -64...+63 ) 97 Dual mode highpass keytrack (0-127, represents -64...+63 ) 98 Dual mode highpass keycenter (0-127, represents C-2...G9 ) 99 Dual mode highpass mod 1 source (0-38, see modifier table ) 100 Dual mode highpass mod 1 control (0-38, see modifier table ) 101 Dual mode highpass mod 1 amount (0-127, represents -64...+63 ) 102 Dual mode highpass mod 2 source (0-38, see modifier table ) 103 Dual mode highpass mod 2 amount (0-127, represents -64...+63 ) 104 Bandpass filter bandwidth (0-127) 105 unused 106 Amplifier envelope attack (0-127) 107 Amplifier envelope decay (0-127) 108 Amplifier envelope sustain (0-127) 109 Amplifier envelope release (0-127) 110 Amplifier envelope attack mod source (0-38, see modifier table ) 111 Amplifier envelope attack mod amount (0-127, represents -64...+63 ) 112 Amplifier envelope decay mod source (0-38, see modifier table ) 113 Amplifier envelope decay mod amount (0-127, represents -64...+63 ) 114 Amplifier envelope sustain mod source (0-38, see modifier table ) 115 Amplifier envelope sustain mod amount (0-127, represents -64...+63 ) 116 Amplifier envelope release mod source (0-38, see modifier table ) 117 Amplifier envelope release mod amount (0-127, represents -64...+63 ) 118 unused 119 Filter envelope delay (0-127) 120 Filter envelope attack (0-127) 121 Filter envelope decay (0-127) 122 Filter envelope sustain (0-127) 123 Filter envelope release (0-127) 124 unused 125 unused 126 Filter envelope attack mod source (0-38, see modifier table ) 127 Filter envelope attack mod amount (0-127, represents -64...+63 ) 128 Filter envelope decay mod source (0-38, see modifier table ) 129 Filter envelope decay mod amount (0-127, represents -64...+63 ) 130 Filter envelope sustain mod source (0-38, see modifier table ) 131 Filter envelope sustain mod amount (0-127, represents -64...+63 ) 132 Filter envelope release mod source (0-38, see modifier table ) 133 Filter envelope release mod amount (0-127, represents -64...+63 ) 134 unused 135 Wave envelope time 1 (0-127) 136 Wave envelope level 1 (0-127) 137 Wave envelope time 2 (0-127) 138 Wave envelope level 2 (0-127) 139 Wave envelope time 3 (0-127) 140 Wave envelope level 3 (0-127) 141 Wave envelope time 4 (0-127) 142 Wave envelope level 4 (0-127) 143 Wave envelope time 5 (0-127) 144 Wave envelope level 5 (0-127) 145 Wave envelope time 6 (0-127) 146 Wave envelope level 6 (0-127) 147 Wave envelope time 7 (0-127) 148 Wave envelope level 7 (0-127) 149 Wave envelope time 8 (0-127) 150 Wave envelope level 8 (0-127) 151 Wave envelope time mod source (0-38, see modifier table ) 152 Wave envelope time mod amount (0-127, represents -64...+63 ) 153 Wave envelope level mod source (0-38, see modifier table ) 154 Wave envelope level mod amount (0-127, represents -64...+63 ) 155 Wave envelope key off point ( 0-7 represents point 1-8 ) 156 Wave envelope loop start point ( 0-7 represents point 1-8 ) 157 Wave envelope loop on/off (0: off,1: on ) 158 unused 159 Free envelope time 1 (0-127) 160 Free envelope level 1 (0-127) 161 Free envelope time 2 (0-127) 162 Free envelope level 2 (0-127) 163 Free envelope time 3 (0-127) 164 Free envelope level 3 (0-127) 165 Free envelope time 4 (0-127) 166 Free envelope level 4 (0-127) 167 Free envelope time mod source (0-38, see modifier table ) 168 Free envelope time mod amount (0-127, represents -64...+63 ) 169 Free envelope level mod source (0-38, see modifier table ) 170 Free envelope level mod amount (0-127, represents -64...+63 ) 171 Free envelope zero axis (0-127, represents -64...+63 ) 172 Lfo 1 rate (0-127) 173 Lfo 1 shape (0: sine, 1:tri, 2: saw,3: pulse,4: random, 5: S&H ) 174 Lfo 1 symmetry (0-127, represents -64...+63 ) 175 Lfo 1 humanize (0-7) 176 Lfo 1 rate mod source (0-38, see modifier table ) 177 Lfo 1 rate mod amount (0-127, represents -64...+63 ) 178 Lfo 1 level mod source (0-38, see modifier table ) 179 Lfo 1 level mod control (0-38, see modifier table ) 180 Lfo 1 level mod amount (0-127, represents -64...+63 ) 181 Lfo 1 sync (0: off, 1: on ) 182 Lfo 2 rate 183 Lfo 2 shape 184 Lfo 2 symmetry 185 Lfo 2 humanize 186 Lfo 2 rate mod source 187 Lfo 2 rate mod amount 188 Lfo 2 level mod source 189 Lfo 2 level mod control 190 Lfo 2 level mod amount 191 Lfo 2 sync 192 Control ramp trigger source (0-38, see modifier table ) 193 Control ramp rate (0-127, represents -64...+63 ) 194 Panning source 1 (0-38, see modifier table ) 195 Panning control 1 (0-38, see modifier table ) 196 Panning amount 1 (0-127, represents -64...+63 ) 197 Panning source 2 (0-38, see modifier table ) 198 Panning amount 2 (0-127, represents -64...+63 ) 199 Control comparator source (0-38, see modifier table ) 200 Control comparator threshold (0-127, represents -64...+63 ) 201 Control mixer source 1 (0-38, see modifier table ) 202 Control mixer amount 1 (0-127, represents -64...+63 ) 203 Control mixer source 2 (0-38, see modifier table ) 204 Control mixer amount 2 (0-127, represents -64...+63 ) 205 Control mixer source 2 (0-38, see modifier table ) 206 Control mixer amount 2 (0-127, represents -64...+63 ) 207 Control delay source (0-38, see modifier table ) 208 Control delay time (0-127) 209 Control delay t mod source (0-38, see modifier table ) 210 Control delay t mod amount (0-127, represents -64...+63 ) 211 Control shaper source (0-38, see modifier table ) 212 Control shaper ref point 1 (0-127, represents -64...+63 ) 213 Control shaper ref point 2 (0-127, represents -64...+63 ) 214 Control shaper ref point 3 (0-127, represents -64...+63 ) 215 Control shaper ref point 4 (0-127, represents -64...+63 ) 216 Control shaper ref point 5 (0-127, represents -64...+63 ) 217 Control shaper ref point 6 (0-127, represents -64...+63 ) 218 Control shaper ref point 7 (0-127, represents -64...+63 ) 219 Control shaper ref point 8 (0-127, represents -64...+63 ) 220 Control shaper ref point 9 (0-127, represents -64...+63 ) 221 Sample & hold source (0-38, see modifier table ) 222 Sample & hold rate (0-127) 223 Sample & hold rate mod source (0-38, see modifier table ) 224 Sample & hold rate mod amount (0-127, represents -64...+63 ) 225 unused 226 Aux level mod source (0-38, see modifier table ) 227 Aux level mod control (0-38, see modifier table ) 228 Aux level mod amount (0-127, represents -64...+63 ) 229 Aux level min (0-127) 230 unused 231 unused 232 unused 233 Glide mode (1: Porta, 2: Gliss.,3: MIDIPorta, 4: MIDIGliss., 5: Fingered Porta, 6: Fingered Glissando ) 234 Glide rate (0-127) 235 Glide slope (0: Time, 1: Distance ) 236 Glide time mod source (0-38, see modifier table ) 237 Glide time mod amount (0-127, represents -64...+63 ) 238 Glide on/off (0: off, 1: on ) 239 Valid flag (0x55) 240-255 Name ( ASCII ) ------------------------------------------------------------------------------ Modifier table: Index Modifier ------------------------------------------------------------------------------ 0 Lfo 1 1 Lfo 2 2 Volume Envelope 3 Filter Emvelope 4 Wave Envelope 5 Free Envelope 6 Ctrl Ramp 7 Ctrl Mixer 8 Ctrl Delay 9 Ctrl Shaper 10 Ctrl Sample & Hold 11 Comparator Pos 12 Comparator Neg 13 Keytrack 14 Velocity 15 Release Velocity 16 Channel Pressure 17 Poly Pressure 18 Playspeed 19 More Keys 20 Less Keys 21 Pitch Bend 22 Modwheel 23 Free Wheel Up 24 Free Wheel Down 25 Free Wheel Bipolar 26 Sustain 27 Pedal 1 28 Pedal 2 29 Button 1 30 Button 2 31 Volume Ctrl (7) 32 Pan Ctrl 33 Breath Control 34 Control X 35 Control Y 36 Midi Clock 37 Minimum 38 Maximum ---------------------------------------------------------------------------- 3.b) SARR ( Performance Dump ) Format : ---------------------------------------------------------------------------- SYSX 1 0xF0 WALDORF 1 0x3E WAVE ID 1 0x03 DEVICE ID 1 according to global parameter (Device Number) MESSAGE ID 1 0x01 ( SARR ) LOCATION 2 Bank and performance number Byte 0: Bank number, 0: bank A, 1: bank B Byte 1: Performance number 0-127 according to Performances 1-128 DATA 512 Performance data ( see description below ) CHKSUM 1 sum of all bytes of DATA and LOCATION, truncted to 7 bit EOX 1 0xF7 ---------------------------------------------------------------------------- Format of Performance data : Byte description ---------------------------------------------------------------------------- 0 Instruments master volume (0-127) 1 Externals master volume (0-127) 2 Free wheel up (MIDI controllers 0-100 ) 3 Free wheel down (MIDI controllers 0-100 ) 4 Button 1 (MIDI controllers 0-100 ) 5 Button 2 (MIDI controllers 0-100 ) 6 Button 1 mode (0: touch, 1: toggle ) 7 Button 2 mode (0: touch, 1: toggle ) 8 Fader 1 assign (0-15, 0-7: instr. 1-8, 8-15: external 1-8) 9 Fader 1 control (0-127, see Fader control table ) 10 Fader 2 assign (0-15, 0-7: instr. 1-8, 8-15: external 1-8) 11 Fader 2 control (0-127, see Fader control table ) 12 Fader 3 assign (0-15, 0-7: instr. 1-8, 8-15: external 1-8) 13 Fader 3 control (0-127, see Fader control table ) 14 Fader 4 assign (0-15, 0-7: instr. 1-8, 8-15: external 1-8) 15 Fader 4 control (0-127, see Fader control table ) 16 Fader 5 assign (0-15, 0-7: instr. 1-8, 8-15: external 1-8) 17 Fader 5 control (0-127, see Fader control table ) 18 Fader 6 assign (0-15, 0-7: instr. 1-8, 8-15: external 1-8) 19 Fader 6 control (0-127, see Fader control table ) 20 Fader 7 assign (0-15, 0-7: instr. 1-8, 8-15: external 1-8) 21 Fader 7 control (0-127, see Fader control table ) 22 Fader 8 assign (0-15, 0-7: instr. 1-8, 8-15: external 1-8) 23 Fader 8 control (0-127, see Fader control table ) 24 Main edit active instrument number (0-7: instr. 1-8 ) 25 unused 26 Pedal 1 MIDI controller (0-120) 27 Pedal 2 MIDI controller (0-120) 28 Controller X (0-120) 29 Controller Y (0-120) 30 Aux master Volume (0-127) 31 unused 32-47 Multi program name (ASCII) 48 Valid flag ( 0x55 ) 49-63 unused 64-95 Instrument 1 data ( see Instrument data description ) 96-127 Instrument 2 data ( see Instrument data description ) 128-159 Instrument 3 data ( see Instrument data description ) 160-191 Instrument 4 data ( see Instrument data description ) 192-123 Instrument 5 data ( see Instrument data description ) 224-255 Instrument 6 data ( see Instrument data description ) 256-287 Instrument 7 data ( see Instrument data description ) 288-319 Instrument 8 data ( see Instrument data description ) 320-343 External 1 data ( see External data description ) 344-367 External 2 data ( see External data description ) 368-391 External 3 data ( see External data description ) 392-415 External 4 data ( see External data description ) 416-439 External 5 data ( see External data description ) 440-463 External 6 data ( see External data description ) 464-487 External 7 data ( see External data description ) 488-511 External 8 data ( see External data description ) ---------------------------------------------------------------------------- Format of Instrument Data: Byte description ---------------------------------------------------------------------------- 0 Sound number (0-127 represents 1-128 ) 1 Sound Bank (0: bank A, 1: bank B ) 2 Midi Channel (0-16, 0: Base, ) 3 Source (0: Off, 1: Keys, 2: Midi, 3: Mix) 4 Volume (0-127) 5 Pan (0-127, represents -64...+63 ) 6 Pan Mode (0: off, 1: on, 2: inverse ) 7 Aux Volume (0-127) 8 unused 9 Transpose offset (4-124, represents -60...+60) 10 Detune (14-114, represents -50...+50) 11 MIDI Output Port (0: off,1: A, 2: B,3: A+B) 12 Audio Routing (1-4, 1: Aux only, 2: main, 3: sub 1, 4: sub 2) 13 Status (0: On/Solo, 1:Mute) 14 Edit Enable (0: off, 1:on) 15 Voice Allocation Mode (0-22, 0: dynamic,1-16: poly1-16, 17: last retr, 18: low retr, 19: high retr, 20: last single, 21: low single, 22: high single trigger ) 16 Audio Input (0-4, 0: off, 1-4: Input 1-4) 17 Key Limit Low (0-127, represents C-2...G9 ) 18 Key Limit High (0-127, represents C-2...G9 ) 19 Velocity Limit Low (1-127) 20 Velocity Limit High (1-127) 21 Velocity Table (0-11, 0: global, 1: lin+, 2: lin-, 3: exp+, 4: exp-, 5: xfade+, 6: xfade-, 7: full, 8-11: user1-user4 ) 22 Temperment (0-11, 0: global, 1: lin+, 2: hmt, 3: lin-, 4-7: rand1-rand4, 8-11: user1-user4 ) 23 unused 24 Midi Filters Bitvector ( bit set = on, bit cleared = off ) Bit Switch --------------------------- 0 Prog. Change on/off 1 Pitch Wheel on/off 2 Modwheel on/off 3 After Touch on/off 4 Volume Ctrl on/off 5 Sustain Pedal on/off 6 Panning Ctrl on/off 7 Always cleared --------------------------- 25-31 unused ---------------------------------------------------------------------------- Format of External Data: Byte description ---------------------------------------------------------------------------- 0 Program number (0-127) 1 Bank (0: bank A, 1: bank B ) 2 Channel (0-16, 0: base) 3 Volume (0-127) 4 Panning (0-127, 0:off, 1-127 => l63 - r63) 5 Modwheel scale (13-114, 13: off, 14-114 => -200%...+200%) 6 Pitchbend scale (13-114, 13: off, 14-114 => -200%...+200%) 7 Transpose offset (4-124, represents -60...+60) 8 Detune (14-114, represents -50...+50) 9 MIDI Output Port (0: off,1: A, 2: B,3: A+B) 10 Status (0: On/Solo, 1:Mute) 11 unused 12 Key Limit Low (0-127, represents C-2...G9 ) 13 Key Limit High (0-127, represents C-2...G9 ) 14 Velocity Limit Low (1-127) 15 Velocity Limit High (1-127) 16 Velocity Table (0-11, 0: global, 1: lin+, 2: lin-, 3: exp+, 4: exp-, 5: xfade+, 6: xfade-, 7: full, 8-11: user1-user4 ) 17 unused 18 Midi Filters Bitvector ( bit set = on, bit cleared = off ) Bit Switch --------------------------- 0 Prog. Change on/off 1 Free Wheel on/off 2 Buttons on/off 3 Aftertouch on/off 4 Pedal 1 on/off 5 Pedal 2 on/off 6 Sustain Pedal on/off 7 Always cleared --------------------------- 19 Keys on/off 20-23 unused ---------------------------------------------------------------------------- 3.c) SWAVE ( Wave Data Dump ) Format : ---------------------------------------------------------------------------- SYSX 1 0xF0 WALDORF 1 0x3E WAVE ID 1 0x03 DEVICE ID 1 according to global parameter (Device Number) MESSAGE ID 1 0x02 ( SWAVE ) LOCATION 4 Wave number in format WORD ( 0 - 1299 ) DATA 128 64 Wavesamples in format BYTE CHKSUM 1 sum of all bytes of DATA and LOCATION, truncted to 7 bit EOX 1 0xF7 ---------------------------------------------------------------------------- 3.d) SWTBL ( Wavetable Dump ) Format : ---------------------------------------------------------------------------- SYSX 1 0xF0 WALDORF 1 0x3E WAVE ID 1 0x03 DEVICE ID 1 according to global parameter (Device Number) MESSAGE ID 1 0x03 ( SWTB ) LOCATION 1 Wavetable number (64-127) DATA 276 Wave control table ( see description below ) CHKSUM 1 sum of all bytes of DATA and LOCATION, truncted to 7 bit EOX 1 0xF7 ---------------------------------------------------------------------------- Wave control table format : Byte description ---------------------------------------------------------------------------- 0-8 Wavetable Name ( ASCII ) 9 valid flag ( 0x55 ) 10-275 64 Wavenumbers in format WORD. If a Wavenumber is not in the range from 0 to 1299, this waveposition will be interpolated between the previous and the following defined position except for the last three positions, which then will become a tri, saw and a square wave. ---------------------------------------------------------------------------- *** Important Note ! *** Anytime a Wave control table is dumped, all user Waves used by this table will be dumped too. 3.e) SVT ( Velocity curve Dump ) Format : ---------------------------------------------------------------------------- SYSX 1 0xF0 WALDORF 1 0x3E WAVE ID 1 0x03 DEVICE ID 1 according to global parameter (Device Number) MESSAGE ID 1 0x04 ( SVT ) LOCATION 1 Velocity curve number ( 0-3, represents curve 1-4 ) DATA 128 Value for each incoming Velocity (1-127) CHKSUM 1 sum of all bytes of DATA and LOCATION, truncted to 7 bit EOX 1 0xF7 ---------------------------------------------------------------------------- 3.f) STT ( Tuning table Dump ) Format : ---------------------------------------------------------------------------- SYSX 1 0xF0 WALDORF 1 0x3E WAVE ID 1 0x03 DEVICE ID 1 according to global parameter (Device Number) MESSAGE ID 1 0x05 ( STT ) LOCATION 1 Tuning table number ( 0-3, represents tables 1-4 ) DATA 256 128 entries for MIDI keys 0-127, each entry consists of one byte defining the note (0-127, represents C-2...G9 ) and one byte defining detune (14-114 represents -50...+50 ) CHKSUM 1 sum of all bytes of DATA and LOCATION, truncted to 7 bit EOX 1 0xF7 ---------------------------------------------------------------------------- 3.g) SGLB ( Global Parameter Dump ) Format : ---------------------------------------------------------------------------- SYSX 1 0xF0 WALDORF 1 0x3E WAVE ID 1 0x03 DEVICE ID 1 according to global parameter (Device Number) MESSAGE ID 1 0x06 ( SGLB ) LOCATION 0 DATA 384 Global Parameters ( see table ) CHKSUM 1 sum of all bytes of DATA and LOCATION, truncted to 7 bit EOX 1 0xF7 ---------------------------------------------------------------------------- Description of Global Parameters : Byte description ---------------------------------------------------------------------------- 0 global stereo width (0-127 represents l63 - r64 ) 1 master tune (14-114 represents -50...+50 ) 2 global bend range (16-112 in steps of 4, represents -12...+12 ) 3 global Tuning table (0-3 represents table 1-4) 4 global Velocity cuve (0-3 represents curve 1-4) 5 program change voice mode (0: ring, 1: shut ) 6 performance program change map on/off (0: off, 1: on ) 7 sound program change map on/off (0: off, 1: on ) 8 local on/off (0: off, 1: on ) 9 panel transmit (0: off, 1: on ) 10 unued 11 System Volume to Externals (0: off, 1: on ) 12 Display mode ( 0: normal, 1: inverse ) 13 Base channel (0-16, 0: omni ) 14 unused 15 Device Number (0-127, 127 means all units ) 16 unused 17 unused 18 System volume (0-127) 19 Bank switch receive (0: off, 1: on) 20 Display Knobs mode (0: Icon, 1: Text ) 21 Send Active Sensing (0: off, 1: on) 22 Transmit Running Status (0: off, 1: on) 23 unused 24 unused 25 Keyboard shift (52: octave down, 64: normal, 76: oct. up ) 26 Global Parameters Valid flag (0x55) 27 Show SysEx changes (0: off, 1: on ) 28 Pedal 1 polarity (0: closing switch, 1: opening switch ) 29 Glide window length (0-10) 30 HMT mode (0-15, see HMT mode table 31 HMT Scale (0-10) 32 Bank number (0: A, 1: B) 33 Pedal 2 polarity (0: closing switch, 1: opening switch ) 34 Pedal 3 polarity (0: closing switch, 1: opening switch ) 35 System Exclusive MIDI out port (0: off, 1: A, 2: B ) 36-63 unused 64-383 32 MIDI Channel Names, first 16 for Port A, each name consists of 9 ASCII characters and a terminating 0. ---------------------------------------------------------------------------- HMT mode table: Value Description ---------------------------------------------------------------------------- 0 Standard 1 Standard with natural 7th 2 Horizontal 3 C major / A minor 4 G major / E minor # 5 D major / B minor ## 6 A major / F# minor ### 7 E major / C# minor #### 8 B major / G# minor ##### 9 F# major / D# minor ###### 10 Gb major / Eb minor bbbbbb ( same as F# major / D# minor ) 11 Db major / Bb minor bbbbb 12 Ab major / F minor bbbb 13 Eb major / C minor bbb 14 Bb major / G minor bb 15 F major / d minor b 3.h) SARRMAP ( Performance Program Change Map Dump ) Format : ---------------------------------------------------------------------------- SYSX 1 0xF0 WALDORF 1 0x3E WAVE ID 1 0x03 DEVICE ID 1 according to global parameter (Device Number) MESSAGE ID 1 0x07 ( SARRMAP ) LOCATION 0 DATA 256 128 entries for Program change 1-128, each entry consists of one byte defining the Bank (0: A, 1: B ) and one byte defining the Performance number (0-127 represents 1-128) CHKSUM 1 sum of all bytes of DATA and LOCATION, truncted to 7 bit EOX 1 0xF7 ---------------------------------------------------------------------------- 3.i) SBPRMAP ( Sound Program Change Map Dump ) Format : ---------------------------------------------------------------------------- SYSX 1 0xF0 WALDORF 1 0x3E WAVE ID 1 0x03 DEVICE ID 1 according to global parameter (Device Number) MESSAGE ID 1 0x08 ( SBPRMAP ) LOCATION 0 DATA 256 128 entries for Program change 1-128, each entry consists of one byte defining the Bank (0: A, 1: B ) and one byte defining the Sound number (0-127 represents 1-128) CHKSUM 1 sum of all bytes of DATA and LOCATION, truncted to 7 bit EOX 1 0xF7 ---------------------------------------------------------------------------- 3.k) SBPRPAR ( Sound parameter Dump ) Format : ---------------------------------------------------------------------------- SYSX 1 0xF0 WALDORF 1 0x3E WAVE ID 1 0x03 DEVICE ID 1 according to global parameter (Device Number) MESSAGE ID 1 0x09 ( SBPRPAR ) LOCATION 3 byte 0 : instrument number (0-7, represents 1-8) byte 1-2 : offset of parameter ( see Sound Dump format ) in format BYTE (0-255) DATA 1 New value of parameter defined by location CHKSUM 1 sum of all bytes of DATA and LOCATION, truncted to 7 bit EOX 1 0xF7 ---------------------------------------------------------------------------- 3.l) SARRPAR ( Performance parameter Dump ) Format : ---------------------------------------------------------------------------- SYSX 1 0xF0 WALDORF 1 0x3E WAVE ID 1 0x03 DEVICE ID 1 according to global parameter (Device Number) MESSAGE ID 1 0x0A ( SARRPAR ) LOCATION 1 offset of parameter ( see Performance Data format ) DATA 1 New value of parameter defined by location CHKSUM 1 sum of all bytes of DATA and LOCATION, truncted to 7 bit EOX 1 0xF7 ---------------------------------------------------------------------------- 3.m) SINSPAR ( Instrument / External parameter Dump ) Format : ---------------------------------------------------------------------------- SYSX 1 0xF0 WALDORF 1 0x3E WAVE ID 1 0x03 DEVICE ID 1 according to global parameter (Device Number) MESSAGE ID 1 0x0B ( SINSPAR ) LOCATION 2 byte 0 : instrument number (0-7, for Instruments 1-8, 8-15 for Externals 1-8) byte 1 : offset of parameter (see Inst./Ext. Data format ) DATA 1 New value of parameter defined by location CHKSUM 1 sum of all bytes of DATA and LOCATION, truncted to 7 bit EOX 1 0xF7 ---------------------------------------------------------------------------- 3.n) SBULK ( Bulk Switch on/off ) Format : ---------------------------------------------------------------------------- SYSX 1 0xF0 WALDORF 1 0x3E WAVE ID 1 0x03 DEVICE ID 1 according to global parameter (Device Number) MESSAGE ID 1 0x0F ( SBULK ) LOCATION 0 DATA 1 0: Bulk Dump off, ( default ), Incoming Dumps will go to an Editbuffer, if available. 1: Bulk on, Incoming Dumps will replace the original Data. CHKSUM 1 sum of all bytes of DATA and LOCATION, truncted to 7 bit EOX 1 0xF7 ---------------------------------------------------------------------------- 4.) Detailed Requests 4.a) RQBPR ( Soundprogram Dump Request ) Format : ---------------------------------------------------------------------------- SYSX 1 0xF0 WALDORF 1 0x3E WAVE ID 1 0x03 DEVICE ID 1 See global parameter (Device Number) MESSAGE ID 1 0x40 ( RQBPR ) LOCATION 1 Instrument number DATA 0 CHKSUM 1 sum of all bytes of DATA and LOCATION, truncted to 7 bit EOX 1 0xF7 ---------------------------------------------------------------------------- 4.b) RQARR ( Performance Dump Request ) Format : ---------------------------------------------------------------------------- SYSX 1 0xF0 WALDORF 1 0x3E WAVE ID 1 0x03 DEVICE ID 1 according to global parameter (Device Number) MESSAGE ID 1 0x41 ( RQARR ) LOCATION 2 Bank and performance number Byte 0: Bank number, 0: bank A, 1: bank B Byte 1: Performance number 0-127 according to Performances 1-128 DATA 0 CHKSUM 1 sum of all bytes of DATA and LOCATION, truncted to 7 bit EOX 1 0xF7 ---------------------------------------------------------------------------- 4.c) RQWAVE ( Wave Data Dump Request ) Format : ---------------------------------------------------------------------------- SYSX 1 0xF0 WALDORF 1 0x3E WAVE ID 1 0x03 DEVICE ID 1 according to global parameter (Device Number) MESSAGE ID 1 0x42 ( RQWAVE ) LOCATION 4 Wave number in format WORD ( 0 - 1299 ) DATA 0 CHKSUM 1 sum of all bytes of DATA and LOCATION, truncted to 7 bit EOX 1 0xF7 ---------------------------------------------------------------------------- 4.d) RQWTB ( Wavetable Dump Request ) Format : ---------------------------------------------------------------------------- SYSX 1 0xF0 WALDORF 1 0x3E WAVE ID 1 0x03 DEVICE ID 1 according to global parameter (Device Number) MESSAGE ID 1 0x43 ( RQWTB ) LOCATION 1 Wavetable number (64-127) DATA 0 CHKSUM 1 sum of all bytes of DATA and LOCATION, truncted to 7 bit EOX 1 0xF7 ---------------------------------------------------------------------------- 4.e) RQVT ( Velocity curve Dump Request ) Format : ---------------------------------------------------------------------------- SYSX 1 0xF0 WALDORF 1 0x3E WAVE ID 1 0x03 DEVICE ID 1 according to global parameter (Device Number) MESSAGE ID 1 0x44 ( RQVT ) LOCATION 1 Velocity curve number ( 0-3, represents curve 1-4 ) DATA 0 CHKSUM 1 sum of all bytes of DATA and LOCATION, truncted to 7 bit EOX 1 0xF7 ---------------------------------------------------------------------------- 4.f) RQTT ( Tuning table Dump Request ) Format : ---------------------------------------------------------------------------- SYSX 1 0xF0 WALDORF 1 0x3E WAVE ID 1 0x03 DEVICE ID 1 according to global parameter (Device Number) MESSAGE ID 1 0x45 ( RQTT ) LOCATION 1 Tuning table number ( 0-3, represents tables 1-4 ) DATA 0 CHKSUM 1 sum of all bytes of DATA and LOCATION, truncted to 7 bit EOX 1 0xF7 ---------------------------------------------------------------------------- 4.g) RQGLB ( Global Parameter Dump Request ) Format : ---------------------------------------------------------------------------- SYSX 1 0xF0 WALDORF 1 0x3E WAVE ID 1 0x03 DEVICE ID 1 according to global parameter (Device Number) MESSAGE ID 1 0x46 ( RQGLB ) LOCATION 0 DATA 0 CHKSUM 1 sum of all bytes of DATA and LOCATION, truncted to 7 bit EOX 1 0xF7 ---------------------------------------------------------------------------- 4.h) RQARRMAP ( Performance Program Change Map Dump Request ) Format : ---------------------------------------------------------------------------- SYSX 1 0xF0 WALDORF 1 0x3E WAVE ID 1 0x03 DEVICE ID 1 according to global parameter (Device Number) MESSAGE ID 1 0x47 ( RQARRMAP ) LOCATION 0 DATA 0 CHKSUM 1 sum of all bytes of DATA and LOCATION, truncted to 7 bit EOX 1 0xF7 ---------------------------------------------------------------------------- 4.i) RQBPRMAP ( Sound Program Change Map Dump Request ) Format : ---------------------------------------------------------------------------- SYSX 1 0xF0 WALDORF 1 0x3E WAVE ID 1 0x03 DEVICE ID 1 according to global parameter (Device Number) MESSAGE ID 1 0x48 ( RQBPRMAP ) LOCATION 0 DATA 0 CHKSUM 1 sum of all bytes of DATA and LOCATION, truncted to 7 bit EOX 1 0xF7 ----------------------------------------------------------------------------
© 1993 Waldorf Electronics