VGuitar Forums

Peavey Vypyr Pro System => Vypyr Pro System Top Things to Know => Topic started by: Elantric on September 01, 2015, 03:13:14 PM

Title: Vypyr Pro System Complete MIDI Specification
Post by: Elantric on September 01, 2015, 03:13:14 PM
Vypyr Pro System Complete MIDI Specification

See attached PDF
Title: Re: Vypyr Pro System Complete MIDI Specification
Post by: Elantric on September 01, 2015, 03:23:39 PM
Vypyr Pro MIDI Specification
Version 1.00

04/13/2015

This specification describes the formats of MIDI messages that can be used to monitor and control the Peavey Vypyr Pro modeling amp. Familiarity with Vypyr Pro features and operation are assumed.

1. OVERVIEW
The Vypyr Pro has a USB interface which can be used for MIDI communications via a host computer. It also has direct MIDI input and output connectors which can be connected to a host computer or MIDI controller. Use of the direct MIDI input precludes use of a Sanpera foot controller.
A host computer or MIDI controller can be used to replicate functionality available via the front panel and can also support features not directly available via the front panel. In general, a host can send, receive, select and load presets, configure the arrangement of models in the signal processing chain and adjust all sound parameters. In addition, a host can replicate the functionality of a foot controller such as volume and wah pedal control, controlling model bypass, setting the tap tempo and invoking tuner mode.

2. CONTROLLERS
The Vypyr Pro responds to MIDI continuous controller (CC) messages for controlling simple parameters. When enabled, CC messages are also sent from the amp to the host to report front panel knob positions and button states. In addition, a system-exclusive message is provided to allow a host to query the current state of any parameter. The Vypyr Pro responds to the query by sending a CC for the parameter to the requesting host.
For controllers that deal with two-state parameters such as an on/off control, the data value of 0x00 means OFF and the value of 0x7F means ON. For controllers in which the data value range is not specified, the range can be assumed to be 0x00 (minimum setting) to 0x7F (maximum setting).

A controller message is of the form (values are in hexadecimal):

B0 [CTRLR] [VAL]
where CTRLR is the controller/CC number and value is the control value (usually 0x00 to 0x7F).

CC 0x00 LEFT PEDAL ASSIGN B (see 0x0F LEFT PEDAL ASSIGN A)

CC 0x01 BANK SELECT
This CC is used to specify the bank to switch to on the next program change input message. The preset to load is specified in a subsequent program change message. Values from 0 to 25 map to banks 'A' through 'Z' and values from 26 to 125 map to banks '00' through '99' while the values 126 and 127 are ignored. The preset number must be between 0 and 3 and it maps to preset numbers 1 to 4.

The following CC message followed by a program change message selects bank 'B' and loads preset 4.
B0 01 01 C0 03

Note that the MIDI PROGRAM CHANGE message can also be used to select banks. Program change messages without use of the bank select CC compute the bank and preset from the provided program number allowing access to the first 32 banks.
C0 00 Select the first bank, first preset (A-1)
C0 7F Select the thirty-second bank, last preset (05-4)

CC 0x02 BRIGHT SWITCH
This CC controls the guitar input bright switch setting saved in the preset.

CC 0x03 DELAY BYPASS
This CC controls whether the delay is bypassed (0x7F) or not (0x00)

CC 0x04 DELAY FEEDBACK
This CC sets the delay feedback for the selected delay type.

CC 0x05 DELAY LEVEL
This CC sets the delay level for the selected delay type.

CC 0x06 DELAY MOD
For modulation delay this CC sets the modulation depth. For multi-tap delay it sets the tap 2 echo position. For tape delay it sets the noise level and for tube delay it sets the drive level.

CC 0x07 MASTER VOL
This CC adjusts the master output volume for the current preset.

CC 0x08 TAP
This CC simulates a tap tempo event for establishing the tempo. The data value is ignored. It takes at least two consecutive TAP messages and the time between the messages is used to establish the tempo.

CC 0x09 DELAY TONE
This CC is used to set the tone of the delay repeats for most delay types. For modulation delay it sets the modulation rate and for multi-tap delay it sets the tap 1 echo position.

CC 0x0A DELAY TYPE
This CC selects the type of delay to use and can be any of:
0 delay off
1 analog
2 digital
3 modulation
4 multi-tap
5 tape
6 tube

CC 0x0B LEFT PEDAL MAX B (See 0x10 LEFT PEDAL MAX A)

CC 0x0C BOOST LEVEL
This CC establishes the boost level to use when boost is on. The values of 0x00 to 0x7F adjust the boost level between 2.65 and 9.0 dB.

CC 0x0D BOOST ON/OFF
This CC enables boost when on and disables it when off.

CC 0x0E LEFT PEDAL MIN B (See 0x11 LEFT PEDAL MIN A)

CC 0x0F LEFT PEDAL ASSIGN A
This CC selects the channel A group of parameters to route to the left pedal when toe switch LED is red. Each pedal has three channels (A, B, C) which can be assigned to separate parameters.
0 none
1 model 1 parameters
2 model 2 parameters
3 model 3 parameters
4 model 4 parameters
5 delay parameters
6 reverb parameters
7 input parameters
8 output parameters

CC 0x10 LEFT PEDAL MAX A
This CC sets the channel A value for the left pedal to send when in the maximum (fully depressed) position while controlling something other than volume or wah. Each pedal has three channels (A, B, and C) which can be assigned to separate parameters.

CC 0x11 LEFT PEDAL MIN A
This CC sets the channel A value for the left pedal to send when in the minimum position while controlling something other than volume or wah. Each pedal has three channels (A, B, and C) which can be assigned to separate parameters.

CC 0x12 LEFT PEDAL PARAM A
This CC sets the channel A parameter number to control when the left pedal is controlling something other than volume or wah (0 = none, 1 = P1, 2 = P2, 3 = P3, 4 = P4 and 5 = P5). The parameter to control depends on the left pedal assignment setting.

Model parameters are model specific.

Delay parameters are 1) feedback, 2) level, 3) shift, 4) tone and 5) mod. Note that tone and mod depend on the selected delay type.

Reverb parameters are 1) size, 2) level, 3) gate threshold, 4) gate hold time. Note that gate parameters are for gated reverb only. Also note these parameter numbers are different from the parameter numbers used during delay/reverb edit mode.

The only input parameter that can be controlled by a pedal is 2) wah intensity.

Output parameters are 1) boost level, 2) looper level, 3) presence, 4) resonance and 5) master volume.

Each of the three pedal channels (A, B, and C) can control one parameter so a combined total of 6 parameters can be controlled by the left and right pedals.

CC 0x13 RIGHT PEDAL ASSIGN A
This CC selects the channel A group of parameters to route to the right pedal when its red toe switch LED is on. Each pedal has three channels (A, B, and C) which can be assigned to separate parameters.
0 none
1 model 1 parameters
2 model 2 parameters
3 model 3 parameters
4 model 4 parameters
5 delay parameters
6 reverb parameters
7 input parameters
8 output parameters

CC 0x14 RIGHT PEDAL MAX A
This CC sets the channel A value for the right pedal to send when in the maximum (fully depressed) position while controlling something other than the wah-wah filter or volume. Each pedal has three channels (A, B, and C) which can be assigned to separate parameters.

CC 0x15 RGT PEDAL MIN A
This CC sets the channel A value for the right pedal to send when in the minimum position while controlling something other than wah-wah filter or volume. Each pedal has three channels (A, B, and C) which can be assigned to separate parameters.

CC 0x16 RGT PEDAL PARAM A
This CC sets the channel A parameter number to control when the right pedal is controlling something other than the wah-wah filter or volume (0 = none, 1 = P1, 2 = P2, 3 = P3, 4 = P4 and 5 = P5). The parameter to control depends on the right pedal assignment setting.
Model parameters are model specific
Delay parameters are 1) feedback, 2) level, 3) shift, 4) tone and 5) mod. Note that tone and mod depend on the selected delay type.
Reverb parameters are 1) size, 2) level, 3) gate threshold, 4) gate hold time. Note that gate parameters are for gated reverb only. Also note these parameter numbers are different from the parameter numbers used during delay/reverb edit mode.
The only controllable input parameter is 2) wah intensity.
Output parameters are 1) boost level, 2) looper level, 3) presence, 4) resonance and 5) master volume.
There are three channels per pedal (A, B, and C) allowing three parameters be controlled by each pedal.

CC 0x17 INPUT GAIN/SENSITIVITY
This CC adjusts the raw input level from the guitar from -10.4 to +15.0 dB.

CC 0x18 LOOPER COMMAND
This CC can be used to control the looper by simulating the foot controller looper switches.
0 reset – dropping any recorded audio (simulates hold of the stop/reset switch)
1 play/record (simulates press and release of record/play switch)
2 stop (simulates press and release of the stop/reset switch)
3 undo overdub (simulates simultaneous press of rec/play and stop/reset switches)

CC 0x19 LOOPER LEVEL
This CC adjusts the looper output level from -18.8 dB to +6.6 dB.

CC 0x1A NOISE GATE SELECT
The CC selects the noise gate to use.
0 none
1 Global input noise gate
2 Custom (per-preset) input noise gate
3 Custom (per-preset) output noise gate

CC 0x1B GLOBAL INPUT NOISE GATE DECAY
This CC adjusts the decay time of the global input noise gate from 200 ms to 2 seconds.

CC 0x1C GLOBAL INPUT NOISE GATE THRESHOLD
This CC adjusts the threshold of the global input noise gate.

CC 0x1D PRESENCE
This CC adjusts the presence level in the amplifier output.

CC 0x1E RESONANCE
This CC adjusts the resonance level in the amplifier output.

CC 0x1F LEFT PEDAL PARAM B (See 0x12 LEFT PEDAL PARAM A)

CC 0x20 AUX MIDI OUT PROGRAM
This CC establishes the program number (0x00 to 0x7F) to send via the direct MIDI output whenever the current preset is loaded. It's purpose is to allow an outboard device such as the AT200 guitar to load a corresponding preset to go with each Vypyr Pro preset.

CC 0x21 REVERB TYPE
This CC selects the type of reverb to use:
0 none
1 cathedral
2 gated
3 hall
4 plate
5 room
6 spring
7 tile

CC 0x22 LEFT PEDAL ASSIGN C (see 0x0F LEFT PEDAL ASSIGN A)

CC 0x23 LEFT PEDAL MAX C (see 0x10 LEFT PEDAL MAX A)

CC 0x24 LEFT PEDAL MIN C (see 0x11 LEFT PEDAL MIN A)

CC 0x25 LEFT PEDAL PARAM C (see 0x12 LEFT PEDAL PARAM A)

CC 0x26 RIGHT PEDAL ASSIGN B (see 0x13 RIGHT PEDAL ASSIGN A)

CC 0x27 RIGHT PEDAL MAX B (see 0x14 RIGHT PEDAL MAX A)

CC 0x28 REVERB BYPASS
This CC controls whether the reverb is bypassed (0x7F) or not (0x00)

CC 0x29 REVERB SIZE
This CC adjusts the reverb size/decay.

CC 0x2A REVERB LEVEL
This CC adjusts the reverb level.

CC 0x2B REVERB THRESH
This CC adjusts threshold level for gated reverb.

CC 0x2C REVERB HOLD
This CC adjusts the hold time for gated reverb from 115 to 750 milliseconds.

CC 0x2E MODEL 1 BYPASS
This CC controls whether the model 1 is bypassed (0x7F) or not (0x00)

CC 0x2F MODEL 1 MODEL
This CC selects model number of the selected type in the model 1 position. A model number of 0 means use the bypass model of the selected type. Rather than enumerate the model numbers for each type, a system exclusive command is provided to get the model names for a given index.

CC 0x30 MODEL 1 P1 VALUE

CC 0x31 MODEL 1 P2 VALUE

CC 0x32 MODEL 1 P3 VALUE

CC 0x33 MODEL 1 P4 VALUE

CC 0x34 MODEL 1 P5 VALUE
These CC messages control parameters P1 through P5 for the model in position 1 as long as the position is not empty and the parameter is supported by the model.

CC 0x35 MODEL 1 TYPE
This CC selects the model type for model position 1. The allowed values are:
0 empty
1 amp
2 effect
3 instrument
4 stomp

CC 0x36 RPRT TUNER NOTE
This CC is used to report the current tuner note during tuner mode if tuner reporting is enabled.

CC 0x37 RPRT TUNER CENTS
This CC is used to report the current tuner cents value during tuner mode if tuner reporting is enabled.

CC 0x38 RIGHT PEDAL MIN B (See 0x15 RIGHT PEDAL MIN A)

CC 0x39 RIGHT PEDAL PARAM B (See 0x16 RIGHT PEDAL PARAM A)

CC 0x3B RIGHT PEDAL MAX C (See 0x14 RIGHT PEDAL MAX A)

CC 0x3C RIGHT PEDAL MIN C (See 0x15 RIGHT PEDAL MIN A)

CC 0x3D MODEL 2 BYPASS

CC 0x3E MODEL 2 MODEL

CC 0x3F MODEL 2 P1

CC 0x40 MODEL 2 P2

CC 0x41 MODEL 2 P3

CC 0x42 MODEL 2 P4

CC 0x43 MODEL 2 P5

CC 0x44 MODEL 2 TYPE
These CCs are identical to those for model position 1 except that an instrument type is not allowed and they apply to position 2.

CC 0x45 MODEL 3 BYPASS

CC 0x46 MODEL 3 MODEL

CC 0x47 MODEL 3 P1

CC 0x48 MODEL 3 P2

CC 0x49 MODEL 3 P3

CC 0x4A MODEL 3 P4

CC 0x4B MODEL 3 P5

CC 0x4C MODEL 3 TYPE
These CCs are identical to those for model position 2 except they apply to position 3.

CC 0x4D MODEL 4 BYPASS

CC 0x4E MODEL 4 MODEL

CC 0x4F MODEL 4 P1

CC 0x50 MODEL 4 P2

CC 0x51 MODEL 4 P3

CC 0x52 MODEL 4 P4

CC 0x53 MODEL 4 P5

CC 0x54 MODEL 4 TYPE
These CCs are identical to those for model position 2 except they apply to position 4.

CC 0x55 LEFT PEDAL LEVEL
This CC simulates the left pedal. The data value is interpreted as the pedal position.

CC 0x56 WAH INTENSITY
This CC adjusts the intensity of the wah-wah filter.

CC 0x57 RIGHT PEDAL LEVEL
This CC simulates the right pedal. The data value is interpreted as the pedal position.

CC 0x58 TEMPO HI

CC 0x59 TEMPO LO
The TEMPO HI CC holds the 5 MSBs of the 12-bit delay time in milliseconds. The TEMPO LO CC holds the 7 LSBs of the 12-bit delay time. The allowed range for delay time is 280 to 1704 milliseconds. The delay time is further adjusted by the tempo shift value and tempo mode.

CC 0x5A TEMPO MODE
This CC selects the tempo mode (0 = quarter note, 1 = dotted eighth note).

CC 0x5B TEMPO SHIFT
This CC selects the percentage adjustment in the delay time from -50% to +77%. Note the tempo shift resets to 0 percent whenever the tempo is explicitly changed.

CC 0x5C CUSTOM INPUT NOISE GATE DECAY
This CC adjusts the custom (per-preset) input noise gate decay time from 200 milliseconds to 2 seconds.

CC 0x5D CUSTOM INPUT NOISE GATE THRESHOLD
This CC adjusts the custom (per-preset) input noise gate threshold.

CC 0x5E CUSTOM OUTPUT NOISE GATE DECAY
This CC adjusts the custom (per-preset) output noise gate decay time from 200 milliseconds to 2 seconds.

CC 0x5F CUSTOM OUTPUT NOISE GATE THRESHOLD
This CC adjusts the custom (per-preset) output noise gate threshold.

CC 0x60 RPRT MODEL 1 BUTTON

CC 0x61 RPRT MODEL 2 BUTTON

CC 0x62 RPRT MODEL 3 BUTTON

CC 0x63 RPRT MODEL 4 BUTTON

CC 0x64 RPRT MODE SELECT BUTTON

CC 0x65 RPRT TAP TEMPO BUTTON

CC 0x66 RPRT DELAY/REVERB BUTTON

CC 0x67 RPRT GUITAR CONNECTED

CC 0x68 RPRT CONCENTRIC BUTTON

CC 0x69 RPRT HEADPHONES CONNECTED
These CCs are sent from the Vypyr Pro to the host to report button activity when button reporting is enabled.

CC 0x6A DELAY TRAILS ON/OFF
This CC controls whether delay trails are enabled (0x7F) or disabled (0) when delay is bypassed.

CC 0x6B REVERB TRAILS ON/OFF
This CC controls whether reverb trails are enabled (0x7F) or disabled (0) when reverb is bypassed.

CC 0x6C LEFT PEDAL SWITCH
This CC controls whether the left pedal assigned to the default parameter (0) or to an assigned preset parameter (0x7F). When "pedal swap" is off, the default parameter is volume. When "pedal swap" is on, the default parameter is wah.

CC 0x6D RIGHT PEDAL SWITCH ON/OFF
This CC controls whether the right pedal is assigned to the default parameter (0) or to an assigned preset parameter. When "pedal swap" is off, the default parameter is wah. When "pedal swap" is on, the default parameter is volume.

CC 0x6E CUSTOM INPUT NOISE GATE ATTENUATION

CC 0x6F CUSTOM OUTPUT NOISE GATE ATTENUATION

CC 0x7B GLOBAL INPUT NOISE GATE ATTENUATION
These CCs control the attenuation level for their respective noise gate. A setting of 0 corresponds to 3dB attenuation, and a setting of 127 corresponds to 66.5 dB attenuation.

CC 0x70 RPRT MODEL 1 KNOB

CC 0x71 RPRT MODEL 2 KNOB

CC 0x72 RPRT MODEL 3 KNOB

CC 0x73 RPRT MODEL 4 KNOB

CC 0x74 RPRT P1 KNOB

CC 0x75 RPRT P2 KNOB

CC 0x76 RPRT P3 KNOB

CC 0x77 RPRT P4 KNOB

CC 0x78 RPRT P5 KNOB

CC 0x79 RPRT INNER/PRESET KNOB

CC 0x7A RPRT OUTER/BANK KNOB
These CCs are sent to the host to report knob events when knob reporting is enabled.

CC 0x7C VPED INSERT
Normally the volume pedal is positioned in the output of the signal chain before the looper, delay and reverb. This is known as the "post" setting. It can also be positioned at the input (the "pre" setting). The third LSB in of the controller value selects "post" when it is cleared and "pre" when it is set. All other bits are ignored. For example a value of 0 selects post and a value of 4 selects pre.

CC 0x7D PEDAL SWAP
This CC selects the default parameter controlled by each pedal (when the green pedal LED is on). By default the left pedal controls volume and the right pedal controls wah. However, when pedal swap is on, the left pedal controls wah and the right pedal controls volume. Like other "switch" CCs a value of 0 should be used for OFF and a value of 7F should be used for ON.

CC 0x7E RIGHT PEDAL PARAM C (see 0x16 RIGHT PEDAL PARAM A)

CC 0x7F REFRESH FRONT PANEL
This controller is useful for refreshing the front panel after model selections have changed. The data value is ignored.

Title: Re: Vypyr Pro System Complete MIDI Specification
Post by: Elantric on September 01, 2015, 03:23:50 PM
3. SYSTEM EXCLUSIVE MESSAGES
Most system-exclusive messages deal with selecting, loading, saving and renaming banks and presets. However there are also messages for accessing flash parameters and reporting the front panel state.
Note: this information is provided to assist in system and software debugging. An API is available which hides the details - making it unnecessary to know system-exclusive message formats.
Except for the standard inquiry request, all other sys-ex messages begin with a fixed, 6-byte prefix:
PRFX F0 00 00 1B 30 00
The "00 00 1B" is the Peavey MIDI manufacturer ID and the "30 00" is the Vypyr Pro family and product code.
Following the prefix is a single byte opcode between 0 and 7F, one to three single-byte arguments plus some option data. Each sys-ex message ends with F7.
Message values are in hexadecimal unless otherwise specified.
Bank numbers are in the decimal range 0 to 125, with 0 to 25 corresponding to banks 'A' to 'Z' and 26 to 125 corresponding to banks '00' to '99.'
Preset numbers are in the range 0 to 3, corresponding to preset numbers 1 to 4.
Model types are 0 (empty), 1 (amp), 2 (effect), 3 (instrument) and 4 (stomp).
The Vypyr Pro has default built-in bank names, preset names and presets. When you request a name or preset you specify which kind you want returned:
0 active get the last saved user one, if there is none then get the built-in one
1 user get the last saved user one
2 factory get the built-in one whether or not there is a user one
An empty name (16 spaces) is returned when a user name is requested for a name that has never been renamed. A request for a user preset fails if the user never saved the preset.
3.1 Inquiry (F0 7E 7F 06 01 F7)
The response to a standard inquiry is: F0 7E 7F 06 02 00 00 1B 30 00 00 00 ww xx yy zz F7
where:
'ww' is 41 ('A' amp mode), 44 ('D' demo mode), 54 ('T' tuner mode) or 42 ('B' bootcode - software update mode)
'xx' is the major version number (30 or 31 for 0.0 or 1.0)
'yy' and 'zz' are the minor version digits (30..39 for a range of .00 to .99)
3.2 ACK - Standard acknowledgment ([PRFX] 00 [stat] F7)
A standard acknowledgment response provides message status for messages which don't request data from the amp. The 'stat' value can be 00 (OK) 01 (BAD - invalid request), 02 (BUSY), 03 (FAILED - request valid but operation failed).
3.3 Flush ([PRFX] 01 F7)
Front-panel changes or changes due to MIDI controller messages are written to flash whenever the front panel has been idle for at least 10 seconds. A flush request can cause changes to be written to flash sooner. Returns an ACK.
3.4 Get bank name ([PRFX] 02 [bn] [pt] F7
Get the name of the bank whose bank number is [bn]. The [pt] byte indicates the preferred type of the name to retrieve (0=active, 1=user, 2=factory). The response is a "send bank name" message of the form:
[PRFX] 12 [at] [bn] [n0]..[n15] F7
where [bn] is the bank number, [at] is the actual type (1=user, 2=factory) and [n0] to [n15] contain the 16-character bank name.
3.5 Get current ([PRFX] 03 F7) or selected ([PRFX] 19 F7) bank and preset number
Get the bank and preset number that were last loaded (current) or are currently displayed (selected). The selected bank/preset differ from the current ones only during preset selection. The response is a "send bank and preset number" message of the form:
[PRFX] 13 [bn] [pn] F7
3.6 Get controller ([PRFX] 04 [cc] F7)
Get the current value for the controller [cc]. The response is a controller message (if the [cc] number is supported) of the form:
B0 [cc] [val]
where [cc] is the controller number and [val] is the current value.
3.7 Get amp state ([PRFX] 05 F7)
Get details about the amp state. The response is a "send amp state" message of the form:
[PRFX] 14 [leds][edm][jacks][lpr][disp1-0..8][disp2-0..8][disp3-0..8][disp4-0..8][opm][pval0..4][pstate][top-text-0..15][bot-text-0..15]F7
where:
[leds] contains the on/off states of the delay reverb LED (0x01), mode-select LED (0x02) and tap-tempo LED (0x04)
[edm] encodes the edit mode; bits 0..2 encode the active position (0 for none, or 1 to 4), bit 3 encodes whether "deep mode" is on, and bits 4..6 encode the edit mode (0x00 normal, 0x10 model select or parameter edit, 0x20 model type edit, 0x30 delay/reverb edit, 0x40 swap mode)
[jacks] encodes the connected states for the input jack (0x01) and the headphone jack (0x02)
[lpr] encodes the current looper state: 0=off, 1=overdub, 2=playing, 3=recording, 4=stopped
[dispX-0..8] is 9 bytes of model display information in which the first byte encodes the color in bits 0..3 (0=amber, 1=aqua, 2=blue, 3=dark green, 4=light green, 5=orange, 6=pink, 7=red) and the brightness in bits 4..5 (0x00=off, 0x10=dim, 0x20=bright) and the next 8 bytes contain the currently displayed text
[opm] encodes the operational mode in bits 0..2 (0=amp, 1=demo, 2=tuner) and has flags to indicate when the menu is active (0x10), when the preset has been modified but not saved (0x20) and when test mode is in effect (0x40).
[pval0..4] contains the current values for the 5 parameters of the model to edit
[pstate] contains flags to indicate which parameters are actually available (bit 0 is set whenever the first parameter is valid, bit 1 is set whenever the second parameter is valid, etc.)
[top-text-0..15] and [bot-text-0..15] contain the currently displayed text for the main display
3.8 Get model text ([PRFX] 07 [mt][mn] F7
Where [mt] is the model type code (none, amp, effect, instrument and stomp) and [mn] is the model number (0 always means none: NO AMP, NO EFFECT, etc.) The response is a "send model text" message of the form:
[PRFX] 16 [mt][mn][an0..3][sn0..7][fn0..15][pn0-0..15]..[pn4-0..15] F7
where:
[mt] and [mn] are the model type and model number
[an0..3] is the 4-character abbreviated model name
[sn0..7] is the 8-character short model name
[fn0..15] is the 16-character full model name (not currently used by the Vypyr Pro software)
[pnX-0..15] is the 16-character name for each of the 5 model parameters
3.9 Get preset name ([PRFX] 08 [bn] [pn] [pt] F7)
Get the name for the specified preset in the given bank. You specify the bank number, preset number and preferred type (0=active, 1=user, 2=factory). The response is a "send preset name" message of the form:
PRFX 17 [bn] [pn] [at] [n0]..[n15] F7
where [bn] and [pn] are the bank and preset number, [at] is the actual type (1=user, 2=factory) and [n0] to [n15] contain the 16-character preset name.
3.10 Get preset data ([PRFX] 09 [bn] [pn] [pt] F7)
Get the data for the specified preset. You specify the bank number, preset number and preferred type (0=active, 1=user, 2=factory). The data is returned in a "send preset data" message.
3.11 Send preset data ([PRFX] 0B [bn] [pn] [at] [d0]..[dN] F7)
Send the data for a specified bank and preset. The bank and preset numbers are stored in [bn] and [pn], the actual type (1=user, 2=factory) is stored in [at] and the preset data is stored in [d0]..[dN]. Note that the [at] field filled-in by the amp is for reporting purposes only, the [at] field received from the host when sending preset data is ignored. Preset data is sent as a series of controller-value pairs of the form (controller ID, data value). The order in which the pairs are sent is not constrained but the amp always sends them by controller ID in ascending order. Controllers for valid preset parameters that are omitted are assumed to imply that the default value should be used for the parameter.
3.12 Load preset ([PRFX] 0A [bn] [pn] F7)
Load the specified preset from flash making it the current active preset.
3.13 Reboot ([PRFX] 0C [mode] [55] F7)
Reboot the amp into the specified mode (0=normal restart, 1 software update mode, 8 factory reset).
3.14 Rename bank ([PRFX] 0D [bn] [n0]..[n15] F7
Rename the specified bank using the provided name. If the name characters are all spaces or nuls, the factory default bank name is used.
3.15 Rename preset ([PRFX] 0E [bn] [pn] [n0]..[n15] F7
Rename the specified bank using the provided name. The bank and preset number are specified in [bn] and [pn]. If the name characters are all spaces or nuls, the factory default preset name is used.
3.16 Reset bank name ([PRFX] 0F [bn] F7)
Reset the name for the specified bank to the factory default name.
3.17 Reset preset name ([PRFX] 10 [bn] [pn] F7)
Reset the name for the specified preset to the factory default name.
3.18 Restore presets ([PRFX] 11 [bn] [pn] F7
Restore one or all presets to their factory default settings. Normally, [bn] and [pn] specify a preset to restore. However, if both values are set to 7F then all presets of all banks are set to their default settings.
3.19 Save preset ([PRFX] 18 F7)
Save the current preset to flash.
3.20 Load selected preset ([PRFX] 1A F7)
Load/reload the currently selected preset from flash, making it the current, active preset.
3.21 Select bank/or preset ([PRFX] 1B [bpsel] [seltype] [absnum] F7)
Select but do not load a bank or preset. When [bpsel] is 0, selection applies to a bank. When set to 1, selection applies to a preset. The [seltype] can be 0 (decrement/down), 1 (increment/up) or 2 (select absolute bank or preset specified in [absnum]). This can be used for bank up, bank down, preset up, preset down and selecting an absolute bank or preset). You can use the "load selected preset" message (1A) to load and make current the selected preset.
3.22 Start/stop tuner mode ([PRFX] 1C [on/off] F7)
Start (1) or stop (0) tuner operation.
3.23 Get configuration option ([PRFX] 27 [OPT] F7)
Request one of the following configuration option values:
OPT
00 Demo mode on/off
01 MIDI output configuration
02 Button reporting on/off
03 Knob reporting on/off
04 Tuner reporting on/off
The option is value is sent via a Send/set configuration option message.
3.24 Set/send configuration option (PRFX 28 [OPT] [VAL] F7)
The options are identical to those for the "Get configuration option" message.
On/off values return 0x7F for ON and 0x00 for OFF.
The MIDI output configuration sets bit 4 if the output is enabled and clears bit 4 if it is disabled. The MIDI channel (1 to 16) is encoded in bits 0 to 3 as values 0 to 15.

APPENDIX A – MIDI CONTROLLER NUMBERS
The MIDI controller numbers are provided here in the form of C/C++ preprocessor defines.
#define CMNM_FB_LFT_ASSIGN_B 0x00 /* FB left pedal assignment B */
#define CMNM_BANK_SELECT 0x01 /* Bank to use for host preset select */
#define CMNM_BRIGHT 0x02 /* Bright switch on (7f) or off (0) */
#define CMNM_DELAY_BYPASS 0x03 /* Delay bypass(7f) / enable(0) */
#define CMNM_DELAY_FDBK 0x04 /* Delay feedback */
#define CMNM_DELAY_LVL 0x05 /* Delay level */
#define CMNM_DELAY_MOD 0x06 /* Delay modulation */
#define CMNM_MVOL 0x07 /* Master volume */
#define CMNM_TAP 0x08 /* Simulate a press of the tap button */
#define CMNM_DELAY_TONE 0x09 /* Delay tone */
#define CMNM_DELAY_TYPE 0x0A /* Delay type */
#define CMNM_FB_LFT_MAX_B 0x0B /* FB left pedal max B */
#define CMNM_FB_BST_LVL 0x0C /* Boost level */
#define CMNM_FB_BST_SW 0x0D /* Boost switch on/off state */
#define CMNM_FB_LFT_MIN_B 0x0E /* FB left pedal min B */
#define CMNM_FB_LFT_ASSIGN 0x0F /* Floorboard left pedal DSP block or 0 */
#define CMNM_FB_LFT_MAX 0x10 /* Max val to send when left re-assigned */
#define CMNM_FB_LFT_MIN 0x11 /* Min val to send when left re-assigned */
#define CMNM_FB_LFT_PARAM 0x12 /* Re-assigned left param (1 to 5 or 0) */
#define CMNM_FB_RGT_ASSIGN 0x13 /* Floorboard right pedal DSP block or 0 */
#define CMNM_FB_RGT_MAX 0x14 /* Max val to send when right re-assigned */
#define CMNM_FB_RGT_MIN 0x15 /* Min val to send when right re-assigned */
#define CMNM_FB_RGT_PARAM 0x16 /* Floorboard right param, (1 to 5 or 0) */
#define CMNM_INPUT_GAIN 0x17 /* Input gain */
#define CMNM_LOOPER_CMD 0x18 /* Looper control command */
#define CMNM_LOOPER_LVL 0x19 /* Looper output level */
#define CMNM_NG_SEL 0x1A /* Noise gate selection (CMNN_SEL_xxxx) */
#define CMNM_NGGI_DECAY 0x1B /* Global input noise gate decay */
#define CMNM_NGGI_THRESH 0x1C /* Global input noise gate threshold */
#define CMNM_PRESENCE 0x1D /* Output presence level */
#define CMNM_RESONANCE 0x1E /* Output resonance level */
#define CMNM_FB_LFT_PARAM_B 0x1F /* FB left pedal param B */
#define CMNM_AUXM_PROG 0x20 /* Aux MIDI out program number */
#define CMNM_REVERB_TYPE 0x21 /* Reverb type */
#define CMNM_FB_LFT_ASSIGN_C 0x22 /* FB left pedal assign C */
#define CMNM_FB_LFT_MAX_C 0x23 /* FB left pedal max C */
#define CMNM_FB_LFT_MIN_C 0x24 /* FB left pedal min C */
#define CMNM_FB_LFT_PARAM_C 0x25 /* FB left pedal param C */
#define CMNM_FB_RGT_ASSIGN_B 0x26 /* FB right pedal assign B */
#define CMNM_FB_RGT_MAX_B 0x27 /* FB right pedal max B */
#define CMNM_REVERB_BYPASS 0x28 /* Reverb bypass (7f) / enable(0) */
/* Note these must be consecutive to simplify the code */
#define CMNM_REVERB_PARAM1 0x29 /* Reverb parameter 1 */
#define CMNM_REVERB_PARAM2 0x2A /* Reverb parameter 2 */
#define CMNM_REVERB_PARAM3 0x2B /* Reverb parameter 3 */
#define CMNM_REVERB_PARAM4 0x2C /* Reverb parameter 4 */
#define CMNM_REVERB_PARAM5 0x2D /* Reverb parameter 5 */
#define CMNM_SLOT1_BYPASS 0x2E /* Slot 1 bypass (7f) / enable (0) */
#define CMNM_SLOT1_MODEL 0x2F /* Slot 1 model number (0 to 'n') */
#define CMNM_SLOT1_P1 0x30 /* Slot 1 parameter 1 value */
#define CMNM_SLOT1_P2 0x31 /* Slot 1 parameter 2 value */
#define CMNM_SLOT1_P3 0x32 /* Slot 1 parameter 1 value */
#define CMNM_SLOT1_P4 0x33 /* Slot 1 parameter 2 value */
#define CMNM_SLOT1_P5 0x34 /* Slot 1 parameter 2 value */
#define CMNM_SLOT1_TYPE 0x35 /* Slot 1 type code (0..4) */
#define CMNM_TUNER_NOTE 0x36 /* Tuner note value (report only) */
#define CMNM_TUNER_CENTS 0x37 /* Tuner cents value (report only) */
#define CMNM_FB_RGT_MIN_B 0x38 /* FB right pedal min B */
#define CMNM_FB_RGT_PARAM_B 0x39 /* FB right pedal param B */
#define CMNM_FB_RGT_ASSIGN_C 0x3A /* FB right pedal assign C */
#define CMNM_FB_RGT_MAX_C 0x3B /* FB right pedal max C */
#define CMNM_FB_RGT_MIN_C 0x3C /* FB right pedal min C */
#define CMNM_SLOT2_BYPASS 0x3D /* Slot 2 bypass (7f) / enable (0) */
#define CMNM_SLOT2_MODEL 0x3E /* Slot 2 model number */
#define CMNM_SLOT2_P1 0x3F /* Slot 2 parameter 1 value */
#define CMNM_SLOT2_P2 0x40 /* Slot 2 parameter 2 value */
#define CMNM_SLOT2_P3 0x41 /* Slot 2 parameter 1 value */
#define CMNM_SLOT2_P4 0x42 /* Slot 2 parameter 2 value */
#define CMNM_SLOT2_P5 0x43 /* Slot 2 parameter 2 value */
#define CMNM_SLOT2_TYPE 0x44 /* Slot 2 type code (0..4) */
#define CMNM_SLOT3_BYPASS 0x45 /* Slot 3 bypass (7f) / enable (0) */
#define CMNM_SLOT3_MODEL 0x46 /* Slot 3 model number (0 to 'n') */
#define CMNM_SLOT3_P1 0x47 /* Slot 3 parameter 1 value */
#define CMNM_SLOT3_P2 0x48 /* Slot 3 parameter 2 value */
#define CMNM_SLOT3_P3 0x49 /* Slot 3 parameter 1 value */
#define CMNM_SLOT3_P4 0x4A /* Slot 3 parameter 2 value */
#define CMNM_SLOT3_P5 0x4B /* Slot 3 parameter 2 value */
#define CMNM_SLOT3_TYPE 0x4C /* Slot 3 type code (0..4) */
#define CMNM_SLOT4_BYPASS 0x4D /* Slot 4 bypass (7f) / enable (0) */
#define CMNM_SLOT4_MODEL 0x4E /* Slot 4 model number (0 to 'n') */
#define CMNM_SLOT4_P1 0x4F /* Slot 4 parameter 1 value */
#define CMNM_SLOT4_P2 0x50 /* Slot 4 parameter 2 value */
#define CMNM_SLOT4_P3 0x51 /* Slot 4 parameter 1 value */
#define CMNM_SLOT4_P4 0x52 /* Slot 4 parameter 2 value */
#define CMNM_SLOT4_P5 0x53 /* Slot 4 parameter 2 value */
#define CMNM_SLOT4_TYPE 0x54 /* Slot 4 model type (0..4) */
#define CMNM_LFT_LVL 0x55 /* Left pedal level */
#define CMNM_WAH_INTENS 0x56 /* Wah filter intensity */
#define CMNM_RGT_LVL 0x57 /* Right pedal level */
#define CMNM_TEMPO_HI 0x58 /* Tempo high value */
#define CMNM_TEMPO_LO 0x59 /* Tempo low value */
#define CMNM_TEMPO_MODE 0x5A /* Tempo mode */
#define CMNM_TEMPO_SHFT 0x5B /* Tempo shift value */
#define CMNM_NGCI_DECAY 0x5C /* Custom input noise gate decay */
#define CMNM_NGCI_THRESH 0x5D /* Custom noise gate threshold */
#define CMNM_NGCO_DECAY 0x5E /* Custom output noise gate decay */
#define CMNM_NGCO_THRESH 0x5F /* Custom output noise gate threshold */
/* Button states (get/report only - can't set) */
#define CMNM_BTN0 0x60 /* Button 0 state flags */
#define CMNM_BTN1 0x61 /* Button 1 state flags */
#define CMNM_BTN2 0x62 /* Button 2 state flags */
#define CMNM_BTN3 0x63 /* Button 3 state flags */
#define CMNM_BTN4 0x64 /* Button 4 state flags */
#define CMNM_BTN5 0x65 /* Button 5 state flags */
#define CMNM_BTN6 0x66 /* Button 6 state flags */
#define CMNM_BTN7 0x67 /* Button 7 state flags */
#define CMNM_BTN8 0x68 /* Button 7 state flags */
#define CMNM_BTN9 0x69 /* Button 7 state flags */
/* Miscellaneous controllers */
#define CMNM_DLY_TRAILS 0x6A /* Delay trails on (7F) or off (0) */
#define CMNM_REV_TRAILS 0x6B /* Reverb trails on (7F) or off (0) */
#define CMNM_LFT_SWITCH 0x6C /* Left switch default (0) or assigned(7F)*/
#define CMNM_RGT_SWITCH 0x6D /* Right switch default or assigned */
#define CMNM_NGCI_ATTEN 0x6E /* Custom input noise gate attenuation */
#define CMNM_NGCO_ATTEN 0x6F /* Custom output noise gate attenuation */
/* Knob values (get/report only - can't set) */
#define CMNM_KNOB0 0x70 /* Knob 0 value (0 to 'n') */
#define CMNM_KNOB1 0x71 /* Knob 1 value (0 to 'n') */
#define CMNM_KNOB2 0x72 /* Knob 2 value (0 to 'n') */
#define CMNM_KNOB3 0x73 /* Knob 3 value (0 to 'n') */
#define CMNM_KNOB4 0x74 /* Knob 4 value (0 to 'n') */
#define CMNM_KNOB5 0x75 /* Knob 5 value (0 to 'n') */
#define CMNM_KNOB6 0x76 /* Knob 6 value (0 to 'n') */
#define CMNM_KNOB7 0x77 /* Knob 7 value (0 to 'n') */
#define CMNM_KNOB8 0x78 /* Knob 8 value (0 to 'n') */
#define CMNM_KNOB9 0x79 /* Knob 9 value (0 to 'n') */
#define CMNM_KNOB10 0x7A /* Knob 10 value (0 to 'n') */
/* More miscellaneous controllers */
#define CMNM_NGGI_ATTEN 0x7B /* Global input noise gate attenuation */
#define CMNM_VPED_INSERT 0x7C /* Vol pedal insert position (in bit 2) */
#define CMNM_PEDAL_SWAP 0x7D /* Pedal swap (0 off, 7F on) */
#define CMNM_FB_RGT_PARAM_C 0x7E /* FB right pedal param C */
#define CMNM_REFRESH 0x7F /* Refresh front panel */
[/i]