Contents Program Change Messages ........1 Single Effect Message Format ......17 SysEx Automation ..........1 Effect Register Header Information ..... 17 Controller Automation ........1 Algorithm ID ............. 17 Reset All Controllers .......... 1 Position in Edit Matrix ........17 MIDI Clock and Clock Commands .....
CompuServe under section seven of the MIDI B forum. To access these documents: • Enter CompuServe, type GO MIDIBVEN • Select "section seven: Lexicon" • Enter the Lexicon library Program Change Messages Reception of MIDI Program Change and Bank Select messages can be selectively enabled/disabled from Control Mode parameter 3.0 MIDI Pgm Change, or via System Exclusive (sytem parameter 20).
PCM 80 MIDI Implementation Details Lexicon Controller Automation For applications where it is desirable to “automate” changes made to PCM 80 effects with its own controls ( ADJUST knob, Foot Pedal , Footswitch 1 or Footswitch 2), we recommend assigning the controllers to MIDI destinations and recording the changes with a MIDI sequencer (see Control Mode parameter 3.5,...
Lexicon PCM 80 MIDI Implementation Details SysEx Implementation There are two primary classes of SysEx messages: Requests and Dumps. The PCM-80 must be enabled for receipt of SysEx messages (Control mode 3.7) or incoming SysEx messages will be ignored. SysEx Header...
PCM 80 MIDI Implementation Details Lexicon Effect Bulk Data (Bank dump) This is a bidirectional dump which can be initiated from front-panel as a bank dump. Byte # ByteValue Description Header Effect bulk Data 0iii iiii Bank (source bank if sent by PCM 80. Target bank if received by...
Lexicon PCM 80 MIDI Implementation Details Bulk Chain This bidirectional dump describes a set of program chains (either the internal set of 10, or 10 from a card). This can be initiated from the front-panel as a bulk chain dump.
PCM 80 MIDI Implementation Details Lexicon Matrix The matrix dump gives general information about the front-panel layout of the Edit, Control and Tempo modes, including row labels, etc. It does not give a full description of the various parameters assigned, since it is assumed that editing programs will manipulate parameters directly by ID.
Lexicon PCM 80 MIDI Implementation Details Parameter This bidirectional message can be transmitted or received by a PCM-80. This is the message that is used when a PCM-80 is transmitting SysEx automation. There are three types of parameters: System, Patchable, and NonPatchable.
PCM 80 MIDI Implementation Details Lexicon Button This is a bidirectional message. The following buttons are transmitted in SysEx automation mode: Compare, Tap, Bypass. Any button will be received, and PCM 80 response will be identical to front panel button press responses.
Lexicon PCM 80 MIDI Implementation Details This point packet is repeated 8 times... 0iii iiii Point Position (0-127). Positions should be in ascending order, and may not be duplicated. 0000 iiii Point Value LS nibble . The point value is independent of the specific parameter range.
PCM 80 MIDI Implementation Details Lexicon Parameter Specification PCM-80 to host only. This dump returns information about a specific parameter. It is provided for an editing program that doesn’t know the count, range or name of a parameter. Byte #...
Lexicon PCM 80 MIDI Implementation Details Save Current Edit Buffer Host to PCM-80 only. Current edit buffer is named and saved with this SysEx message. Byte # ByteValue Description Header 0x19 Save Code 0iii iiii Destination Bank 0iii iiii Destination Program...
PCM 80 MIDI Implementation Details Lexicon Data Request Host to PCM-80 only. The host may request that a message be sent by the PCM-80. Byte # ByteValue Description Header 0x7F Data request 0iii iiii Type of data requested. This matches the message IDs described above, but not all messages may be requested.
Lexicon PCM 80 MIDI Implementation Details Patch sources by Index The following values allow sources to be selected for patches, for Tap sources, or for other control sources such as AR Source. SourceIndex Controller 0-30 MIDI controllers 1 - 31...
PCM 80 MIDI Implementation Details Lexicon System parameters These parameters are global (not part of a preset). Param# Description MaxValue Wordclock source Analog input level Digital input level MIDI Receive on/off/channel MIDI transmit on/off/channel External tap source see patch source list...
Lexicon PCM 80 MIDI Implementation Details Patchable Parameters These are the patchable parameters that are the same (both offset and range) for all algorithms. Param# Description MaxValue Mix (when mix mode is PRG) LFO rate 2500 LFO waveform select LFO pulsewidth...
0iii iiii Channel. Sysex device ID assigned to the PCM 80. 0x06 General information 0x02 Device id message 0x06 Lexicon sysex ID 0x00 Family code LSB 0x00 Family code MSB 0x07 Family member code LSB. This is the PCM 80 sysex product code (byte 3 of a standard sysex).
Lexicon PCM 80 MIDI Implementation Details Single Effect Message Format Bytes 8-879 of the System Exclusive Single Effect Message are described as “Nibbleized data”. The 872 nibbleized bytes, when reassembled make up 435 bytes that are the PCM 80 Effect Register and a 1-byte checksum.
PCM 80 MIDI Implementation Details Lexicon Bitpacking General Bitpacking Method All PCM 80 effect control data fields are words from 1-16 bits in length utilizing the minimum number of bits necessary to represent the full range of the field. The values of these fields are packed into bytes right justified.
Lexicon PCM 80 MIDI Implementation Details Bitpack Data Groups The bitpacked Effect Control Data contains five distinct groups of information pertaining to the effect: Soft Row Assignments Unpatchable Parameter Information ADJUST Knob Initial Value Patchable Parameter Information Patching Information The first three Bitpacked Effect Control Data Groups: Soft Row Assignments, Unpatchable Parameter Information, and ADJUST Knob Initial Value, are exactly the same for all algorithms.
PCM 80 MIDI Implementation Details Lexicon ADJUST Knob Initial Value The ADJUST Knob Initial Value is a single 7-bit field which defines the value, 0-127, to which the ADJUST knob will be assigned when the effect register is loaded. Please note that the initial value of the knob ought to lie in the range defined by Controls ADJUST Low Limit and High Limit fields in the Unpatchable Parameter Information.
Lexicon PCM 80 MIDI Implementation Details If the Count of Patch Points is 0, the Patch Information Block will end with the above information. The Count of Patch Points can be anywhere from 0-8. For values 1-8, the patch’s information block will be filled out with the following sequence repeated for as many points as are defined.
PCM 80 MIDI Implementation Details Lexicon Plate Algorithm Patchable Parameter Information list Dest Dest Bits List ID Number Range Field Controls Controls FX ADJUST Controls InLvl L Controls InLvl R Controls InPan L Controls InPan R Controls High Cut Controls...
Lexicon PCM 80 MIDI Implementation Details Dest Dest Bits List ID Number Range Field Feedback Voice4 Panning Master Panning Voice1 Panning Voice2 Panning Voice3 Panning Voice4 <Tempo Flag> 2500 MOD:LFO Rate MOD:LFO Shape MOD:LFO P Width MOD:LFO Depth MOD:AR Env...
PCM 80 MIDI Implementation Details Lexicon Dest List ID and Dest List Number The Patch Information Block has the following format: Bits Contents Patch Source Value Destination Patchable Parameter List ID Value Destination Patchable Parameter Number Value Count of Patch Points Value You will notice that the Plate Algorithm Patchable Parameter Information list contains columns Dest List ID and Dest Number for all the non-Tempo fields.
Page 28
Lexicon PCM 80 MIDI Implementation Details We want to patch to the Rvb Time Pre Delay. The Tempo Flag bit field preceding the Rvb Time Pre Delay parameter field in the Patchable Parameter Information list is assigned a 0 to indicate that the Pre Delay parameter is in standard form.
Page 29
PCM 80 MIDI Implementation Details Lexicon Patching a long delay time parameter to milliseconds Here is some information from the Glide>Hall Algorithm Patchable Parameter Information list, found earlier in this document. Dest Dest Bits List ID Number Range Parameter <Tempo Flag>...
Page 30
Lexicon PCM 80 MIDI Implementation Details Patching a long delay time parameter to Tempo We want to patch to the DelayTime Voice1 again. The Tempo Flag field bit preceding the DelayTime Voice1 parameter field in the Patchable Parameter Information list is assigned a 1 to indicate that the parameter is in Tempo form.
PCM 80 MIDI Implementation Details Lexicon Parsing Prime Blue The first effect preset register in the PCM80 is Prime Blue. A hex dump of the 435-byte effect register for Prime Blue follows: d2 00 07 f0 50 72 69 6d 65 20 42 6c 75 65 20 20...
Page 32
Lexicon PCM 80 MIDI Implementation Details The hex dump for Prime Blue is first broken down into 7 primary groups of data: Number of valid bytes d2 00 Algorithm Id Last Edit Matrix Position Name of register 50 72 69 6d 65 20 42 6c 75 65 20 20...
Page 33
PCM 80 MIDI Implementation Details Lexicon Conveniently, the first 10 bytes of the bitpack information is 10 8-bit fields for the 10 soft row positions. Therefore, 00 03 05 11 13 14 20 50 80 85 tells us that the 10 soft row parameters are taken from...
Page 34
Lexicon PCM 80 MIDI Implementation Details The full annotated dump of Prime Blue looks like this: Algorithm : Chorus+Rvb Register name : Prime Blue Knob name : Efx/Rvb X Edit position : Soft Row, Slot 0 Soft Row Assignments Tempo...
Lexicon PCM 80 MIDI Implementation Details Summary of Effect Register Format Nibbleized data bytes (872 bytes) Effect Register (435 bytes) Count of valid bytes (n) in the register (2 bytes) Algorithm Id (1 byte) Position in Edit Matrix (1 byte)
Lexicon PCM 80 MIDI Implementation Details Patchable Parameter Information for All Algorithms Plate Algorithm Patchable Parameter Bitpack Information Dest Dest Range Bits List ID Number Range Field Decode Controls Controls FX ADJUST Controls InLvl L Controls InLvl R Controls InPan L...
PCM 80 MIDI Implementation Details Lexicon Rvb Time EkoFbk R <Tempo Flag> Rvb Time EkoDly R Rvb Time PstMix <Tempo Flag> 1365 Rvb Time PstDly L <Tempo Flag> 1365 Rvb Time PstDly R Rvb Time GldResp 1365 Rvb Time GldRange...
Page 42
Lexicon PCM 80 MIDI Implementation Details Controls InPan L Controls InPan R Controls High Cut Controls Voice Dif Controls FX Mix Controls FX Width Rvb Time Low Slope Rvb Time Mid Slope Rvb Time Crossover Rvb Time Rt HC <Tempo Flag>...
PCM 80 MIDI Implementation Details Lexicon Concert Hall Algorithm Patchable Parameter Bitpack Information Dest Dest Range Bits List ID Number Range Field Decode Controls Controls FXADJUST Controls InLvlL Controls InLvlR Controls InPanL Controls InPanR Controls HighCut Controls VoiceDif Controls FXMix...
Page 46
Lexicon PCM 80 MIDI Implementation Details RvbDesign Size RvbDesign Diffusion RvbDesign RvbDesign Depth RvbDesign Spin RvbDesign Chorus RvbDesign Link RvbDesign Rvb In RvbDesign Rvb Out Glide FX Gld Lvl Glide FX A Lvl L Glide FX A Dly L Glide FX...
PCM 80 MIDI Implementation Details Lexicon <Tempo Flag> 2500 MOD:Sw 2 Rate MOD:Sw 2 P Width MOD:Sw 2 Mode Chorus+Rvb Algorithm Patchable Parameter Bitpack Information Dest Dest Range Bits List ID Number Range Field Decode Controls Controls FX ADJUST Controls...
Lexicon PCM 80 MIDI Implementation Details Res2>Plate Algorithm Patchable Parameter Bitpack Information Dest Dest Range Bits List ID Number Range Field Decode Controls Controls FX ADJUST Controls InLvl L Controls InLvl R Controls InPan L Controls InPan R Controls FX Mix...
Lexicon PCM 80 MIDI Implementation Details Unpatchable and Patchable Parameter Range Decode To elliminate excessive repetition unpatchable and patchable parameters are given “range decode” numbers. These numbers can be used to reference this list for the key to decoding the parameter in its useful range.
Page 53
PCM 80 MIDI Implementation Details Lexicon Range Decode 11 Full range and phase level gain control. The value is used as a lookup to the following 161 level and phase assignments. Phase Inverted (80 values) +0db -1db, -2db, -3db, -4db, -5db, -6db, -7db, -8db, -9db, -10db, -db, -12db, -13db, -14db,...
Page 54
Lexicon PCM 80 MIDI Implementation Details Range Decode 16 Mid Rt. The value to display translation for Range Decode 16 Mid Rt (and for Range Decode 29 Spread) is not straightforward because it is dependent on the values of the RvbDesign Link and RvbDesign Size parameters.
Page 55
PCM 80 MIDI Implementation Details Lexicon Range Decode 22 The value is used as a lookup to the following valid gain assignments. Off, -24.0db, -18.0db, -14.5db, -12.0db, -10.1db, -8.5db, -7.2db, -6.0db, -5.0db, -4.0db, -3.3db, -2.5db, -1.8db, -1.0db, Full Range Decode 23 The value is used as a lookup to the following percent assignments.
Page 56
Lexicon PCM 80 MIDI Implementation Details Range Decode 33 Master level. The parameter always has a range of 80. The values display as -40db through +0db to +40db in 1db increments. Range Decode 34 Bipolar percent. The parameter always has a range of 200 which maps to the display values -100% through 0% to 100%.
Page 57
PCM 80 MIDI Implementation Details Lexicon Range Decode 45 Pitch assignement. The parameter is always 0-127, and maps to note assignments C0-G10. Range Decode 46 Pitch tuning. The parameter always has a range of 200 and maps to the A440 tuning frequencies 430.0- 450.0 Hz in 0.1 Hz increments.
Lexicon PCM 80 MIDI Implementation Details Patch 9 Source Int ADJUST Dest DelayTime Master 200% Annotated dump of Super Ball! Effect Algorithm : Glide>Hall Register name : Super Ball! Knob name: Bounce It Edit position : Soft Row, Slot 0...
Need help?
Do you have a question about the PCM 80 - MIDI IMPLEMENTATION DETAILS and is the answer not in the manual?
Questions and answers