Roland SH-32 Implementation

MIDI Implementation
Model: SH-32 Date: Dec. 12, 2001 Version: 1.00
1. Receive Data
Channel Voice Messages
Note Off
Status 2nd byte 3rd byte 8nH kkH vvH 9nH kkH 00H n = MIDI channel number: 0H - FH (Ch.1 - 16) kk = note number: 00H - 7FH (0 - 127) vv = note off velocity: 00H - 7FH (0 - 127)
Note On
Status 2nd byte 3rd byte 9nH kkH vvH n = MIDI channel number: 0H - FH (Ch.1 - 16) kk = note number: 00H - 7FH (0 - 127) vv = note on velocity: 01H - 7FH (1 - 127)
Polyphonic Key Pressure
Status 2nd byte 3rd byte AnH kkH vvH n = MIDI channel number: 0H - FH (Ch.1 - 16) kk = note number: 00H - 7FH (0 - 127) vv = Polyphonic Key Pressure: 00H - 7FH (0 - 127)
Control Change
Bank Select (Controller number 0, 32)
Status 2nd byte 3rd byte BnH 00H mmH BnH 20H llH n = MIDI channel number: 0H - FH (Ch.1 - 16) mm, ll = Bank number: 00 00H - 7F 7FH (bank.1 - bank.16384)
MSB LSB 085 000 Performance 086 000 User Rhythm 086 064 Preset Rhythm 087 000 User Patch 087 064 Preset Patch
Modulation (Controller number 1)
Status 2nd byte 3rd byte BnH 01H vvH n = MIDI channel number: 0H - FH (Ch.1 - 16) vv = Modulation depth: 00H - 7FH (0 - 127)
Portamento Time (Controller number 5)
Status 2nd byte 3rd byte BnH 05H vvH n = MIDI channel number: 0H - FH (Ch.1 - 16) vv = Portamento Time: 00H - 7FH (0 - 127)
* The Portamento Time parameter will change.
Data Entry (Controller number 6, 38)
Status 2nd byte 3rd byte BnH 06H mmH BnH 26H llH n = MIDI channel number: 0H - FH (Ch.1 - 16) mm, ll = the value of the parameter specified by RPN/NRPN mm = MSB, ll = LSB
Volume (Controller number 7)
Status 2nd byte 3rd byte BnH 07H vvH n = MIDI channel number: 0H - FH (Ch.1 - 16) vv = Volume: 00H - 7FH (0 - 127)
* The Level parameter will change. * In Performance mode, the Part level parameter will change.
Balance (Controller number 8)
Status 2nd byte 3rd byte BnH 08H vvH n = MIDI channel number: 0H - FH (Ch.1 - 16) vv = Balance: 00H - 7FH (0 - 127)
* The Oscillator Balance parameter will change.
Panpot (Controller number 10)
Status 2nd byte 3rd byte BnH 0AH vvH n = MIDI channel number: 0H - FH (Ch.1 - 16) vv = Panpot: 00H - 40H - 7FH (Left - Center - Right)
* The Pan parameter will change. * In Performance mode the Part pan parameter will change.
Expression (Controller number 11)
Status 2nd byte 3rd byte BnH 0BH vvH n = MIDI channel number: 0H - FH (Ch.1 - 16) vv = Expression: 00H - 7FH (0 - 127)
Hold 1 (Controller number 64)
Status 2nd byte 3rd byte BnH 40H vvH n = MIDI channel number: 0H - FH (Ch.1 - 16) vv = Control value: 00H - 7FH (0 - 127) 0-63 = OFF, 64-127 = ON
Portamento (Controller number 65)
Status 2nd byte 3rd byte BnH 41H vvH n = MIDI channel number: 0H - FH (Ch.1 - 16) vv = Control value: 00H - 7FH (0 - 127) 0 - 63 = OFF, 64 - 127 = ON
* The Portamento Switch parameter will change.
Sostenuto (Controller number 66)
Status 2nd byte 3rd byte BnH 42H vvH n = MIDI channel number: 0H - FH (Ch.1 - 16) vv = Control value: 00H - 7FH (0 - 127) 0 - 63 = OFF, 64 - 127 = ON
Legato Foot Switch (Controller number 68)
Status 2nd byte 3rd byte BnH 44H vvH n = MIDI channel number: 0H - FH (Ch.1 - 16) vv = Control value: 00H - 7FH (0 - 127) 0 - 63 = OFF, 64 - 127 = ON
* The Legato parameter will change.
Sound Variation (Controller number 70)
Status 2nd byte 3rd byte BnH 45H vvH n = MIDI channel number: 0H - FH (Ch.1 - 16) vv = Control value: 00H - 7FH (0 - 127)
* The Unison Switch parameter will change.
Resonance (Controller number 71)
Status 2nd byte 3rd byte BnH 47H vvH n = MIDI channel number: 0H - FH (Ch.1 - 16) vv= Resonance value: 00H - 7FH (0 - 127)
* The Filter Resonance parameter will change.
Release Time (Controller number 72)
Status 2nd byte 3rd byte BnH 48H vvH n = MIDI channel number: 0H - FH (Ch.1 - 16) vv = Release Time value: 00H - 7FH (0 - 127)
* The Amp Release Time parameter will change.
Copyright © 2001 ROLAND CORPORATION All rights reserved. No part of this publication may be reproduced in any form without the written permission of ROLAND CORPORATION.
1
MIDI Implementation
Attack Time (Controller number 73)
Status 2nd byte 3rd byte BnH 49H vvH n = MIDI channel number: 0H - FH (Ch.1 - 16) vv = Attack time value: 00H - 7FH (0 - 127)
* The Amp Attack Time parameter will change.
Cutoff (Controller number 74)
Status 2nd byte 3rd byte BnH 4AH vvH n = MIDI channel number: 0H - FH (Ch.1 - 16) vv = Cutoff value: 00H - 7FH (0 - 127)
* The Filter Cutoff parameter will change.
Decay Time (Controller number 75)
Status 2nd byte 3rd byte BnH 4BH vvH n = MIDI channel number: 0H - FH (Ch.1 - 16) vv = Decay Time value: 00H - 7FH (0 - 127)
* The Amp Decay Time parameter will change.
Vibrato Rate (Controller number 76)
Status 2nd byte 3rd byte BnH 4CH vvH n = MIDI channel number: 0H - FH (Ch.1 - 16) vv = Vibrato Rate value: 00H - 40H - 7FH (-50 - 0 - +50)
* The Pitch Fine parameter of OSC2 will change.
Vibrato Depth (Controller number 77)
Status 2nd byte 3rd byte BnH 4DH vvH n = MIDI channel number: 0H - FH (Ch.1 - 16) vv = Vibrato Depth Value: 00H - 40H - 7FH (-50 - 0 - +50)
General Purpose Controller 8 (Controller number 83)
Status 2nd byte 3rd byte BnH 53H vvH n = MIDI channel number: 0H - FH (Ch.1 - 16) vv = Control value: 00H - 7FH (0 - 127)
* The Filter Decay Time parameter will change.
Portamento Control (Controller number 84)
Status 2nd byte 3rd byte BnH 54H kkH n = MIDI channel number: 0H - FH (Ch.1 - 16) kk = source note number: 00H - 7FH (0 - 127)
*A Note-on received immediately after a Portamento Control message will change
continuously in pitch, starting from the pitch of the Source Note Number.
* If a voice is already sounding for a note number identical to the Source Note Number,
this voice will continue sounding (i.e., legato) and will, when the next Note-on is received, smoothly change to the pitch of that Note-on.
* The rate of the pitch change caused by Portamento Control is determined by the
Portamento Time value.
Effect 1 (Reverb Send Level) (Controller number 91)
Status 2nd byte 3rd byte BnH 5BH vvH n = MIDI channel number: 0H - FH (Ch.1 - 16) vv = Reverb Send Level: 00H - 7FH (0 - 127)
* In Performance mode the Part Reverb Send Level parameter will change.
Effect 3 (Chorus Send Level) (Controller number 93)
Status 2nd byte 3rd byte BnH 5DH vvH n = MIDI channel number: 0H - FH (Ch.1 - 16) vv = Chorus Send Level: 00H - 7FH (0 - 127)
* The Intensity parameter will change.
* The Pitch Fine parameter of OSC1 will change.
Vibrato Delay (Controller number 78)
Status 2nd byte 3rd byte BnH 4EH vvH n = MIDI channel number: 0H - FH (Ch.1 - 16) vv = Vibrato Delay value: 00H - 7FH (0 - 127)
* The PWM Depth parameter of OSC1 will change.
General Purpose Controller 5 (Controller number 80)
Status 2nd byte 3rd byte BnH 50H vvH n = MIDI channel number: 0H - FH (Ch.1 - 16) vv = Control value: 00H - 40H - 7FH (-64 - 0 - +63)
* The Amp Depth parameter of LFO1 will change.
General Purpose Controller 6 (Controller number 81)
Status 2nd byte 3rd byte BnH 51H vvH n = MIDI channel number: 0H - FH (Ch.1 - 16) vv = Control value: 00H - 40H - 7FH (-64 - 0 - +63)
* The Filter Envelope Depth parameter will change.
General Purpose Controller 7 (Controller number 82)
Status 2nd byte 3rd byte BnH 52H vvH n = MIDI channel number: 0H - FH (Ch.1 - 16) vv = Control value: 00H - 7FH (0 - 127)
* The Filter Attack Time parameter will change.
Effect 4 (Celeste) (Controller number 94)
Status 2nd byte 3rd byte BnH 5EH vvH n = MIDI channel number: 0H - FH (Ch.1 - 16) vv = Celeste: 00H - 7FH (0 - 127)
* The Effect Level parameter of Reverb/Delay section will change.
Effect 5 (Phaser) (Controller number 95)
Status 2nd byte 3rd byte BnH 5FH vvH n = MIDI channel number: 0H - FH (Ch.1 - 16) vv = Phaser: 00H - 7FH (0 - 127)
* The Bias of Filter Env Depth parameter will change.
RPN MSB/LSB (Controller number 100, 101)
Status 2nd byte 3rd byte BnH 65H mmH BnH 64H llH n = MIDI channel number: 0H - FH (Ch.1 - 16) mm = upper byte (MSB) of parameter number specified by RPN ll = lower byte (LSB) of parameter number specified by RPN
<<< RPN >>> Control Changes include RPN (Registered Parameter Numbers), which are extended parameters whose function is defined in the MIDI specification. When using RPNs, first the RPN (Controller numbers 100 and 101; they can be sent in any order) is transmitted to specify the parameter you wish to control. Then, Data Entry messages (Controller number 6 and 38) are used to set the value of the specified parameter. Once a RPN parameter has been specified, all further Data Entry message on that channel are considered to apply to parameter. In order to prevents accidents, when the desired setting has been made for the parameter, it is recommended that RPN be set to Null.
2
MIDI Implementation
This device receives the following RPNs.
RPN Data entry MSB, LSB MSB, LSB Notes 00H, 00H mmH, llH Pitch Bend Sensitivity
mm: 00H - 18H (0 - 24 semitones) ll: ignored (processed as 00H) Up to 2 octave can be specified in semitone steps.
00H, 01H mmH, llH Channel Fine Tuning
mm, ll: 20 00H - 40 00H - 60 00H (-8192 x 50 / 8192 - 0 - +8192 x 50 / 8192 cent) *In Performance mode, the Fine Tune parameter of
each Part (Performance parameter) will change.
00H, 02H mmH, llH Channel Coarse Tuning
mm: 10H - 40H - 70H (-48 - 0 - +48 semitones) ll: ignored (processed as 00H) *In Performance mode, the Coarse Tune parameter
of each Part (Performance parameter) will change.
7FH, 7FH ---, --- RPN null
RPN and NRPN will be set as “unspecified”. Once this setting has been made, subsequent Data Entry messages will be ignored. (It is not necessary to transmit Data Entry for RPN Null settings.) Parameter values that were previously set will not change. mm, ll: ignored
Program Change
Status 2nd byte CnH ppH n = MIDI channel number: 0H - FH (Ch.1 - 16) pp = Program number: 00H - 7FH (prog.1 - prog.128)
Channel Pressure
Status 2nd byte DnH vvH n = MIDI channel number: 0H - FH (Ch.1 - 16) vv = Channel Pressure: 00H - 7FH (0 - 127)
All Notes Off (Controller number 123)
Status 2nd byte 3rd byte BnH 7BH 00H n = MIDI channel number: 0H - FH (Ch.1 - 16)
*When All Notes Off is received, all notes on the corresponding channel will be turned
off. However, if Hold 1 or Sostenuto is ON, the sound will be continued until these are turned off.
OMNI OFF (Controller number 124)
Status 2nd byte 3rd byte BnH 7CH 00H n = MIDI channel number: 0H - FH (Ch.1 - 16)
* The same processing will be carried out as when All Notes Off is received.
MNI ON (Controller number 125)
Status 2nd byte 3rd byte BnH 7DH 00H n = MIDI channel number: 0H - FH (Ch.1 - 16)
* The same processing will be carried out as when All Notes Off is received. OMNI ON
will not be turned on.
MONO (Controller number 126)
Status 2nd byte 3rd byte BnH 7EH mmH n = MIDI channel number: 0H - FH (Ch.1 - 16) mm = mono number: 00H - 10H (0 - 16)
* The same processing will be carried out as when All Notes Off is received. * The Solo Switch parameter will On.
POLY (Controller number 127)
Status 2nd byte 3rd byte BnH 7FH 00H n = MIDI channel number: 0H - FH (Ch.1 - 16)
* The same processing will be carried out as when All Notes Off is received. * The Solo Switch parameter will Off.
Pitch Bend Change
Status 2nd byte 3rd byte EnH llH mmH n = MIDI channel number: 0H - FH (Ch.1 - 16) mm, ll = Pitch Bend value: 00 00H - 40 00H - 7F 7FH (-8192 - 0 - +8191)
Channel Mode Messages
All Sounds Off (Controller number 120)
Status 2nd byte 3rd byte BnH 78H 00H n = MIDI channel number: 0H - FH (Ch.1 - 16)
*When this message is received, all notes currently sounding on the corresponding
channel will be turned off.
Reset All Controllers (Controller number 121)
Status 2nd byte 3rd byte BnH 79H 00H n = MIDI channel number: 0H - FH (Ch.1 - 16)
*When this message is received, the following controllers will be set to their reset values.
Controller Reset value Pitch Bend Change +/-0 (center) Polyphonic Key Pressure 0 (off) Channel Pressure 0 (off) Modulation 0 (off) Expression 127 (max) Hold 1 0 (off) Sostenuto 0 (off) RPN unset; previously set data will not change NRPN unset; previously set data will not change
System Realtime Message
Timing Clock
Status F8H
* This message will be received if the Clock Source parameter is MIDI.
Active Sensing
Status FEH
*When Active Sensing is received, the unit will begin monitoring the intervals of all
further messages. While monitoring, if the interval between messages exceeds 420 ms, the same processing will be carried out as when All Sounds Off, All Notes Off and Reset All Controllers are received, and message interval monitoring will be halted.
3
MIDI Implementation
System Exclusive Message
Status Data byte Status
F0H iiH, ddH, ......,eeH F7H
F0H: System Exclusive Message status ii = ID number: an ID number (manufacturer ID) to indicate the manufacturer whose
Exclusive message this is. Roland’s manufacturer ID is 41H. ID numbers 7EH and 7FH are extensions of the MIDI standard; Universal Non-realtime Messages (7EH) and Universal Realtime
Messages (7FH). dd,...,ee = data: 00H - 7FH (0 - 127) F7H: EOX (End Of Exclusive)
Of the System Exclusive messages received by this device, the Universal Non-realtime messages and the Universal Realtime messages and the Data Request (RQ1) messages and the Data Set (DT1) messages will be set automatically.
Universal Non-realtime System Exclusive Messages
Identity Request Message
Status Data byte Status F0H 7EH, dev, 06H, 01H F7H
Byte Explanation F0H Exclusive status 7EH ID number (Universal Non-realtime Message) dev Device ID (dev: 00H - 1FH (1 - 32), the initial value is 10H (17).) 06H Sub ID#1 (General Information) 01H Sub ID#2 (Identity Request) F7H EOX (End Of Exclusive)
*When this message is received, Identity Reply message (p. 6) will be transmitted.
Data Set 1 DT1 (12H)
Status Data byte Status F0H 41H, dev, 00H, 4AH, 12H, aaH, bbH, F7H
ccH, ddH, eeH, ... ffH, sum
Byte Explanation F0H Exclusive status 41H ID number (Roland) dev Device ID (dev: 10H - 1FH, 7FH Initial value is 10H) 00H Model ID #1 (SH-32) 4AH Model ID #2 (SH-32) 12H Command ID (DT1) aaH Address MSB: upper byte of the starting address of the data to be sent bbH Address: upper middle byte of the starting address of the data to be sent ccH Address: lower middle byte of the starting address of the data to be sent ddH Address LSB: lower byte of the starting address of the data to be sent. eeH Data: the actual data to be sent. Multiple bytes of data are transmitted
in order starting from the address. :: ffH Data sum Checksum F7H EOX (End Of Exclusive)
* The amount of data that can be transmitted at one time depends on the type of data, and
data will be transmitted from the specified starting address and size. Refer to the Address and Size given in Section 3, “Parameter address map.
* Data larger than 256 bytes will be divided into packets of 256 bytes or less, and each
packet will be sent at an interval of about 20 ms.
* For the checksum, refer to (p. 12).
2. Data Transmission
Data Transmission
This instrument can use exclusive messages to exchange many varieties of internal settings with other devices. The model ID of the exclusive messages used by this instrument is 00H 4AH.
Data Request 1 RQ1 (11H)
This message requests the other device to transmit data. The address and size indicate the type and amount of data that is requested. When a Data Request message is received, if the device is in a state in which it is able to transmit data, and if the address and size are appropriate, the requested data is transmitted as a Data Set 1 (DT1) message. If the conditions are not met, nothing is transmitted.
Status Data Byte Status F0H 41H, dev, 00H, 4AH, 11H, aaH, bbH, F7H
ccH, ddH, ssH, ttH, uuH, vvH, sum
Byte Remarks F0H Exclusive status 41H ID number (Roland) dev device ID (dev: 10H - 1FH, 7FH Initial value is 10H) 00H model ID #1 (SH-32) 4AH model ID #2 (SH-32) 11H command ID (RQ1) aaH address MSB bbH address ccH address ddH address LSB ssH size MSB ttH size uuH size vvH size LSB sum checksum F7H EOX (End Of Exclusive)
* The size of data that can be transmitted at one time is fixed for each type of data. And
data requests must be made with a fixed starting address and size. Refer to the address and size given in “Parameter Address Map” (p. 6).
* For the checksum, refer to (p. 12).
Channel Voice Messages
Note Off
Status 2nd byte 3rd byte 8nH kkH vvH n = MIDI channel number: 0H - FH (Ch.1 - 16) kk = note number: 00H - 7FH (0 - 127) vv = note off velocity: 40H (64)
Note On
Status 2nd byte 3rd byte 9nH kkH vvH n = MIDI channel number: 0H - FH (Ch.1 - 16) kk = note number: 00H - 7FH (0 - 127) vv = note on velocity: 01H - 7FH (1 - 127)
Control Change
Bank Select (Controller number 0, 32)
Status 2nd byte 3rd byte BnH 00H mmH BnH 20H llH n = MIDI channel number: 0H - FH (Ch.1 - 16) mm, ll = Bank number: 00 00H - 7F 7FH (bank.1 - bank.16384)
MSB LSB 085 000 Performance 086 000 User Rhythm 086 064 Preset Rhythm 087 000 User Patch 087 064 Preset Patch
Portamento Time (Controller number 5)
Status 2nd byte 3rd byte BnH 05H vvH n = MIDI channel number: 0H - FH (Ch.1 - 16) vv = Portamento Time: 00H - 7FH (0 - 127)
*When the Portamento Time parameter is changed, the corresponding value will be
transmitted.
4
Loading...
+ 9 hidden pages