MIDI implementation | Demo Songs
86
r
FR-7/FR-5 V-Accordion
1. Received data
■ Channel Voice Messages
● Note off
● Note on
● Control Change
• The value specified by a Control Change message is not reset by a Program
Change, etc.
❍
Bank Select (Controller number 0, 32)
• Only for Free Bass.
❍
Expression (Controller number 11)
• This adjusts the volume of a Part. It can be used independently from Volume
(CC07) messages. Expression messages are used for musical expression within
a performance, e.g., expression pedal movements, crescendo and decrescendo.
❍
Hold 1 (Controller number 64)
❍
Program Change
❍
Channel Pressure
■ System Realtime Messages
❍
Active Sensing
• When Active Sensing is received, the FR-7/FR-5 starts 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.
❍
Start
• When an FA message is received from an external MIDI device such as sequenc-
er, the FR-7/FR-5 sends all necessary MIDI information for a song header setup:
Treble, Orchestra, Bass/Free, Orchestra Bass, sound setup.
■ System Exclusive Messages
The System Exclusive Messages received by the FR-7/FR-5 are messages related
to Data Set (DT).
● Data Set 1 DT1 (12H)
• The amount of data that can be received at one time depends on the type of data,
and data will be transmitted from the specified starting address and size.
• Data larger than 256 bytes must be divided into packets of 256 bytes or less, and
each packet must be sent at an interval of about 20ms.
2. Transmitted data
■ Channel Voice Messages
● Note off
● Note on
● Control Change
❍
Bank Select (Controller number 0, 32)
❍
Volume (Controller number 7)
• Volume messages are used to adjust the volume balance of each Part.
9. MIDI implementation
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: 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
BnH 00H mmH
BnH 20H llH
n = MIDI channel number: 0H~FH (Ch.1~16)
mm = Bank number MSB: 00H~7FH
ll = Bank number LSB: 00H~7FH
Status
2nd byte 3rd byte
BnH 0BH vvH
n = MIDI channel number: 0H~FH (Ch.1~16)
vv = Expression: 00H~7FH (0~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)
00H~63H= Off/64H~7FH= On
Status 2nd byte
CnH ppH
n = MIDI channel number: 0H~FH (Ch.1~16)
pp = Program number: 00H~0DH: Treble Register 1~14
00H~15H: Orchestra Register 1~22
00H~06H: Bass/FreeBass/Orch.Bass
Register 1~7
00H~27H: Set 1~40
Status
2nd byte
DnH vvH
n = MIDI channel number: 0H~FH (Ch.1~16)
vv = Channel Pressure: 00H~7FH (0~127)
Status
FEH
Status
FAH
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.
dd,...,ee = data: 00H~7FH (0~127)
F7H: EOX (End Of Exclusive)
Status
Data byte Status
F0H 41H, dev, 42H, 12H, aaH, bbH, ccH, ddH, … eeH,
ffH, sum
F7H
Byte Explanation
F0H Exclusive status
41H ID number (Roland)
10H Device ID
00H Model ID #1 (FR-7/FR-5 V-Accordion)
7CH Model ID #2 (FR-7/FR-5 V-Accordion)
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)
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: 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
BnH 00H mmH
BnH 20H llH
n = MIDI channel number: 0H~FH (Ch.1~16)
mm = Bank number MSB: 00H~7FH
ll = Bank number LSB: 00H~7FH
Status
2nd byte 3rd byte
BnH 07H vvH
n = MIDI channel number: 0H~FH (Ch.1~16)
vv = Volume: 00H~7FH (0~127), Initial value = 64H (100)