background image

JM-5 MIDI Implementation

15

In other words, the above messages specify a value of 0C 00H for RPN param-
eter number 00 00H on MIDI channel 4, and then set the RPN parameter num-
ber to 7F 7FH.

RPN parameter number 00 00H is Pitch Bend Sensitivity, and the MSB of the 
value indicates semitone units, so a value of 0CH = 12 sets the maximum pitch 
bend range to ±12 semitones (1 octave). (On GS sound generators the LSB of 
Pitch Bend Sensitivity is ignored, but the LSB should be transmitted anyway 
(with a value of 0) so that operation will be correct on any device.)
Once the parameter number has been specified for RPN or NRPN, all Data 
Entry messages transmitted on that same channel will be valid, so after the 
desired value has been transmitted, it is a good idea to set the parameter num-
ber to 7F 7FH to prevent accidents.
This is the reason for the (B3) 64 7F (B3) 65 7F at the end. It is not desirable 
for performance data (such as Standard MIDI File data) to contain many events 
with running status as given in [Example 4]. This is because if playback is halt-
ed during the song and then rewound or fast-forwarded, the sequencer may not 
be able to transmit the correct status, and the sound generator will then misin-
terpret the data. Take care to give each event its own status.
It is also necessary that the RPN or NRPN parameter number setting and the 
value setting be done in the proper order. On some sequencers, events occur-
ring in the same (or consecutive) clock may be transmitted in an order different 
than the order in which they were received. For this reason it is a good idea to 
slightly skew the time of each event (about 1 tick for TPQN = 96, and about 5 
ticks for TPQN = 480).
* TPQN: Ticks Per Quarter Note

● 

Example of an Exclusive message checksum calculation

Roland Exclusive messages (RQ1, DT1) are transmitted with a checksum at 
the end (before F7) to make sure that the message was correctly received. The 
value of the checksum is determined by the address and data (or size) of the 
transmitted Exclusive message.

❍ 

How to calculate the checksum (hexadecimal numbers are indicated by “H”)

The checksum is a value derived by adding the address, size, and checksum 
itself and inverting the lower 7 bits.
Here’s an example of how the checksum is calculated. We will assume that in 
the exclusive (SysEx) message we are transmitting, the address is aa bb ccH 
and the data or size is “dd ee ffH”.

[Example 1] Setting REVERB MACRO to “ROOM 3”
According to the “Patch parameters” on page 11, the REVERB MACRO 
Address is “40 01 30H”, and ROOM 3 corresponds to “02H”. Thus…

Next, we calculate the checksum.

This means that F0 41 10 42 12 40 01 30 02 0D F7 is the message we need to 
transmit.

[Example 2] Setting REVERB LEVEL to “12”
According to the “Patch parameters” on page 11, the REVERB LEVEL Address 
is “40 01 33H”, and the parameter value is “0CH”. Thus,

Next we calculate the checksum.

In this case, however, the checksum value should be 00H, not 80H. You should 
use 00H if the remainder is 0. This means that F0 41 10 42 12 40 01 33 0C 00 
F7 is the message we transmit.

● 

About the Tuning

In MIDI, individual Parts are tuned by sending RPN #1 (Master Fine Tuning) to 
the appropriate MIDI channel.
In MIDI, an entire device is tuned by either sending RPN #1 to all MIDI channels 
being used, or by sending a System Exclusive MASTER TUNE (address 40 00 
00H).
RPN #1 allows tuning to be specified in steps of approximately 0.012 cents (to 
be precise, 100/8192 cent), and System Exclusive MASTER TUNE allows tun-
ing in steps of 0.1 cent. One cent is 1/100th of a semitone.
The values of RPN #1 (Master Fine Tuning) and System Exclusive MASTER 
TUNE are added together to determine the actual pitch sounded by each Part.
Frequently used tuning values are given in the following table for your refer-
ence. Values are in hexadecimal (decimal in parentheses).

[Example] Setting the tuning of MIDI channel 3 to A4 = 442.0 Hz
Send RPN#1 to MIDI channel 3. From the above table, the value is 45 03H.

(B3) 26 00

(MIDI ch.4) lower byte of parameter value:

00H

(B3) 64 7F

(MIDI ch.4) lower byte of RPN parameter number:

7FH

(B3) 65 7F

(MIDI ch.4) upper byte of RPN parameter number:

7FH

aa+bb+cc+dd+ee+ff = sum
sum ÷ 128 = quotient ... remainder
128 – remainder = checksum

F0

41 10 42 12 40 

01 

30 

02  ?? 

F7

(1) (2) (3) (4) (5) address 

data  checksum (6)

(1) Exclusive Status

(2) ID (Roland)

(3) Device ID (17)

(4) Model ID (GS)

(5) Command ID (DT1) (6) End of Exclusive

40H+01H+30H+02H = 64+1+48+2 = 115 (sum)
115 (sum) ÷ 128 = 0 (quotient) ... 115 (remainder)
checksum = 128 - 115 (remainder) = 13 = 0DH

F0 41 10 42 12 40 

01 

33 

0C  ?? 

F7

(1) (2) (3) (4) (5) address 

data  checksum (6)

(1) Exclusive Status

(2) ID (Roland)

(3) Device ID (17)

(4) Model ID (GS)

(5) Command ID (DT1) (6) EOX

40H + 01H + 33H + 0CH=64 + 1 + 51 + 12=128 (sum)
128 (sum) ÷ 128 = 0 (quotient) ... 0 (remainder)
checksum = 128 - 0 (remainder) = 128 = 80H

Hz at A4

cents

RPN #1

Sys.Ex. 40 00 00

445.0 

 +19.56   4C 43

(+1603)  00 04 0C 04

(+196)

444.0 

 +15.67   4A 03

(+1283)  00 04 09 0D

(+157)

443.0 

 +11.76   47 44

(+ 964)  00 04 07 06

(+118)

442.0 

 + 7.85 

 45 03

(+ 643)  00 04 04 0F

(+79)

441.0 

 + 3.93 

 42 42

(+ 322)  00 04 02 07

(+39)

440.0 

 40 00

(0)  00 04 00 00

(0)

439.0 

 - 3.94

 3D 3D

(- 323)  00 03 0D 09

(–39)

438.0 

 - 7.89

 3A 7A

(- 646)  00 03 0B 01

(–79)

B2  64 00 

MIDI ch.3, lower byte of RPN parameter number: 

00H

(B2)  65 01 

(MIDI ch.3) upper byte of RPN parameter number: 

01H

(B2)  06 45 

(MIDI ch.3) upper byte of parameter value: 

45H

(B2)  26 03 

(MIDI ch.3) lower byte of parameter value: 

03H

(B2)  64 7F 

(MIDI ch.3) lower byte of RPN parameter number: 

7FH

(B2)  65 7F 

(MIDI ch.3) upper byte of RPN parameter number: 

7FH

Содержание VIMA JM-5

Страница 1: ...vv note off velocity 00H 7FH 0 127 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 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 key pressure 00H 7FH 0 127 Status 2nd byte 3rd byte BnH 00H mmH BnH 20H llH n MIDI channel number 0H FH Ch 1 16 mm Bank numb...

Страница 2: ...annel number 0H FH Ch 1 16 vv Control value 00H 7FH 0 127 0 63 OFF 64 127 ON Status 2nd byte 3rd byte BnH 45H vvH n MIDI channel number 0H FH Ch 1 16 vv Control value 00H 7FH 0 127 0 63 OFF 64 127 ON Status 2nd byte 3rd byte BnH 47H vvH n MIDI channel number 0H FH Ch 1 16 vv Resonance value relative change 00H 7FH 64 0 63 Initial value 40H no change Status 2nd byte 3rd byte BnH 48H vvH n MIDI chan...

Страница 3: ... Drum Instr Chorus Send absolute change rr Drum Instrument note number mm 00H 7FH 0 max 60H rrH mmH Equalizer Switch rr Drum Instrument note number mm 00H 02H Global Instrument Off 61H rrH mmH Equalizer Low Frequency rr Drum Instrument note number mm 00H 05H 90 150 180 300 360 600Hz 62H rrH mmH Equalizer Low Gain rr Drum Instrument note number mm 00H 1EH 15 0 15dB 63H rrH mmH Equalizer Mid Frequen...

Страница 4: ...en a Continue message is received the Song continues playing from the current position Stop When a Stop message is received the Song stops playing System Common Messages Song Position Pointer Modulation 0 off Expression 127 max Hold 1 0 off Portamento 0 off Sostenuto 0 off Soft 0 off RPN unset previously set data do not change NRPN unset previously set data do not change Status 2nd byte 3rd byte B...

Страница 5: ...r 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 Status Data byte Status F0H 7EH 7FH 09H 01H F7H Byte Explanation F0H Exclusive status 7EH ID number Universal Non realtime Message 7FH Device ID Broadcas...

Страница 6: ...vH F7H Byte Explanation F0H Exclusive status 7FH ID number universal realtime message 7FH Device ID Broadcast 04H Sub ID 1 Device Control 05H Sub ID 2 Global Parameter Control 01H Slot path length 01H Parameter width 01H Value width 01H Slot path MSB 02H Slot path LSB Effect 0102 Chorus ppH Parameter to be controlled vvH Value for the parameter F7H EOX End Of Exclusive pp 0 Chorus Type vv 0 Chorus...

Страница 7: ...rd 08H Sub ID 2 scale octave tuning 1 byte form ffH Channel Option byte1 bits 0 1 channel 15 to 16 bit 2 to 6 Undefined ggH Channel byte2 bits 0 6 channel 8 to 14 hhH Channel byte3 bits 0 6 channel 1 to 7 ssH 12 byte tuning offset of 12 semitones from C to B 00H 64 cents 40H 0 cents equal temperament 7FH 63 cents F7H EOX End Of Exclusive Status 2nd byte 3rd byte 9nH kkH 00H n MIDI channel number 0...

Страница 8: ...al value 7FH 127 Status 2nd byte 3rd byte BnH 40H vvH n MIDI channel number 0H FH Ch 1 16 vv Control value 00H 7FH 0 127 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 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 Status 2nd byte 3rd byte BnH 43H ...

Страница 9: ... mm 00H 02H Global Instrument Off 61H rrH mmH Equalizer Low Frequency rr Drum Instrument note number mm 00H 05H 90 150 180 300 360 600Hz 62H rrH mmH Equalizer Low Gain rr Drum Instrument note number mm 00H 1EH 15 0 15dB 63H rrH mmH Equalizer Mid Frequency rr Drum Instrument note number mm 00H 10H 200 250 315 400 500 630 800 1000 1250 1600 2000 2500 3150 4000 5000 6300 8000Hz 64H rrH mmH Equalizer ...

Страница 10: ...rval of about 40 ms Regarding the checksum please refer to Example of an Exclusive mes sage checksum calculation on page 15 Status 2nd byte 3rd byte BnH 7FH 00H n MIDI channel number 0H FH Ch 1 16 Status FEH Status F8H Status FAH Status FBH Status FCH Status 2nd byte 3rd byte F2H XXH YYH XX Song Position Bar LSB YY Song Position Bar MSB Status Data byte Status F0H iiH ddH eeH F7H F0H System Exclus...

Страница 11: ...37 00 00 01 00 7F REVERB PREDELAY TIME 0 127 ms 00 0 REVERB MACRO is a macro parameter that allows global setting of reverb parameters When you select the reverb type with REVERB MACRO each reverb parameter will be set to their most suitable value REVERB CHARACTER is a parameter that changes the reverb algorithm The value of REVERB CHARACTER corresponds to the REVERB MACRO of the same number Addre...

Страница 12: ...OFF ON 00 01 OFF ON 40 1x 0B 00 00 01 00 01 Rx MODULATION OFF ON 01 ON 40 1x 0C 00 00 01 00 01 Rx VOLUME OFF ON 01 ON 40 1x 0D 00 00 01 00 01 Rx PANPOT OFF ON 01 ON 40 1x 0E 00 00 01 00 01 Rx EXPRESSION OFF ON 01 ON 40 1x 0F 00 00 01 00 01 Rx HOLD1 OFF ON 01 ON 40 1x 10 00 00 01 00 01 Rx PORTAMENTO OFF ON 01 ON 40 1x 11 00 00 01 00 01 Rx SOSTENUTO OFF ON 01 ON 40 1x 12 00 00 01 00 01 Rx SOFT OFF O...

Страница 13: ...00 00 00 01 28 58 MOD PITCH CONTROL 24 24 semitones 40 0 semitones 40 2x 01 00 00 01 00 7F MOD TVF CUTOFF CONTROL 9600 9600 cents 40 0 cents 40 2x 02 00 00 01 00 7F MOD AMPLITUDE CONTROL 100 0 100 0 40 0 40 2x 03 00 00 01 00 7F MOD LFO1 RATE CONTROL 10 0 10 0 Hz 40 0 Hz 40 2x 04 00 00 01 00 7F MOD LFO1 PITCH DEPTH 0 600 cents 0A 10 cents 40 2x 05 00 00 01 00 7F MOD LFO1 TVF DEPTH 0 2400 cents 00 0...

Страница 14: ...x 33 00 00 01 00 7F PAf LFO1 RATE CONTROL 10 0 10 0 Hz 40 0 Hz 40 2x 34 00 00 01 00 7F PAf LFO1 PITCH DEPTH 0 600 cents 00 0 cents 40 2x 35 00 00 01 00 7F PAf LFO1 TVF DEPTH 0 2400 cents 00 0 cents 40 2x 36 00 00 01 00 7F PAf LFO1 TVA DEPTH 0 100 0 00 0 40 2x 37 00 00 01 00 7F PAf LFO2 RATE CONTROL 10 0 10 0 Hz 40 0 Hz 40 2x 38 00 00 01 00 7F PAf LFO2 PITCH DEPTH 0 600 cents 00 0 cents 40 2x 39 00...

Страница 15: ...s that F0 41 10 42 12 40 01 30 02 0D F7 is the message we need to transmit Example 2 Setting REVERB LEVEL to 12 According to the Patch parameters on page 11 the REVERB LEVEL Address is 40 01 33H and the parameter value is 0CH Thus Next we calculate the checksum In this case however the checksum value should be 00H not 80H You should use 00H if the remainder is 0 This means that F0 41 10 42 12 40 0...

Страница 16: ...27 63 63 10 00 72 09 0aaa aaaa MFX A Control 3 Source 0 101 OFF CC01 CC31 CC33 CC95 BEND AFT SYS1 SYS4 10 00 72 0A 0aaa aaaa MFX A Control 3 Sens 1 127 63 63 10 00 72 0B 0aaa aaaa MFX A Control 4 Source 0 101 OFF CC01 CC31 CC33 CC95 BEND AFT SYS1 SYS4 10 00 72 0C 0aaa aaaa MFX A Control 4 Sens 1 127 63 63 10 00 72 0D 000a aaaa MFX A Control Assign 1 0 16 OFF 1 16 10 00 72 0E 000a aaaa MFX A Contro...

Страница 17: ...rol 2 Source 0 101 OFF CC01 CC31 CC33 CC95 BEND AFT SYS1 SYS4 10 00 74 08 0aaa aaaa MFX B Control 2 Sens 1 127 63 63 10 00 74 09 0aaa aaaa MFX B Control 3 Source 0 101 OFF CC01 CC31 CC33 CC95 BEND AFT SYS1 SYS4 10 00 74 0A 0aaa aaaa MFX B Control 3 Sens 1 127 63 63 10 00 74 0B 0aaa aaaa MFX B Control 4 Source 0 101 OFF CC01 CC31 CC33 CC95 BEND AFT SYS1 SYS4 10 00 74 0C 0aaa aaaa MFX B Control 4 Se...

Страница 18: ...ription 10 00 76 00 0aaa aaaa MFX C Type 0 83 10 00 76 01 0aaa aaaa MFX C Dry Send Level 0 127 10 00 76 02 0aaa aaaa MFX C Chorus Send Level 0 127 10 00 76 03 0aaa aaaa MFX C Reverb Send Level 0 127 10 00 76 05 0aaa aaaa MFX C Control 1 Source 0 101 OFF CC01 CC31 CC33 CC95 BEND AFT SYS1 SYS4 10 00 76 06 0aaa aaaa MFX C Control 1 Sens 1 127 63 63 10 00 76 07 0aaa aaaa MFX C Control 2 Source 0 101 O...

Страница 19: ...0000 cccc 0000 dddd MFX C Parameter 24 12768 52768 20000 20000 10 00 76 71 0000 aaaa 0000 bbbb 0000 cccc 0000 dddd MFX C Parameter 25 12768 52768 20000 20000 10 00 76 75 0000 aaaa 0000 bbbb 0000 cccc 0000 dddd MFX C Parameter 26 12768 52768 20000 20000 10 00 76 79 0000 aaaa 0000 bbbb 0000 cccc 0000 dddd MFX C Parameter 27 12768 52768 20000 20000 10 00 76 7D 0000 aaaa 0000 bbbb 0000 cccc 0000 dddd ...

Страница 20: ... 1 O 1 O O O O O O O O O O O Reverb 1 O Chorus 1 O 1 O 1 Bank Select Modulation Portamento Time Data Entry Volume Panpot Expression Hold 1 Portamento Sostenuto Soft Hold 2 Resonance Realease Time Attack Time Cutoff Decay Time Vibrato Rate Vibrato Depth Vibrato Delay Portamento Control Effect 1 Depth Effect 3 Depth NRPN LSB MSB RPN LSB MSB Program Change True O 1 O 1 0 127 Program Number 1 128 Syst...

Отзывы: