647744
203
Verklein
Vergroot
Pagina terug
1/216
Pagina verder
203
MIDI Implementation
Appendices
Decimal/Hexadecimal Table (hexadecimal values
are indicated by a following H)
MIDI uses 7-bit hexadecimal values to indicate data values and the address and size of
exclusive messages. The following table shows the correspondence between decimal and
hexadecimal numbers.
+——————+——————++——————+——————++——————+——————++——————+——————+
| D | H || D | H || D | H || D | H |
+——————+——————++——————+——————++——————+——————++——————+——————+
| 0 | 00H || 32 | 20H || 64 | 40H || 96 | 60H |
| 1 | 01H || 33 | 21H || 65 | 41H || 97 | 61H |
| 2 | 02H || 34 | 22H || 66 | 42H || 98 | 62H |
| 3 | 03H || 35 | 23H || 67 | 43H || 99 | 63H |
| 4 | 04H || 36 | 24H || 68 | 44H || 100 | 64H |
| 5 | 05H || 37 | 25H || 69 | 45H || 101 | 65H |
| 6 | 06H || 38 | 26H || 70 | 46H || 102 | 66H |
| 7 | 07H || 39 | 27H || 71 | 47H || 103 | 67H |
| 8 | 08H || 40 | 28H || 72 | 48H || 104 | 68H |
| 9 | 09H || 41 | 29H || 73 | 49H || 105 | 69H |
| 10 | 0AH || 42 | 2AH || 74 | 4AH || 106 | 6AH |
| 11 | 0BH || 43 | 2BH || 75 | 4BH || 107 | 6BH |
| 12 | 0CH || 44 | 2CH || 76 | 4CH || 108 | 6CH |
| 13 | 0DH || 45 | 2DH || 77 | 4DH || 109 | 6DH |
| 14 | 0EH || 46 | 2EH || 78 | 4EH || 110 | 6EH |
| 15 | 0FH || 47 | 2FH || 79 | 4FH || 111 | 6FH |
| 16 | 10H || 48 | 30H || 80 | 50H || 112 | 70H |
| 17 | 11H || 49 | 31H || 81 | 51H || 113 | 71H |
| 18 | 12H || 50 | 32H || 82 | 52H || 114 | 72H |
| 19 | 13H || 51 | 33H || 83 | 53H || 115 | 73H |
| 20 | 14H || 52 | 34H || 84 | 54H || 116 | 74H |
| 21 | 15H || 53 | 35H || 85 | 55H || 117 | 75H |
| 22 | 16H || 54 | 36H || 86 | 56H || 118 | 76H |
| 23 | 17H || 55 | 37H || 87 | 57H || 119 | 77H |
| 24 | 18H || 56 | 38H || 88 | 58H || 120 | 78H |
| 25 | 19H || 57 | 39H || 89 | 59H || 121 | 79H |
| 26 | 1AH || 58 | 3AH || 90 | 5AH || 122 | 7AH |
| 27 | 1BH || 59 | 3BH || 91 | 5BH || 123 | 7BH |
| 28 | 1CH || 60 | 3CH || 92 | 5CH || 124 | 7CH |
| 29 | 1DH || 61 | 3DH || 93 | 5DH || 125 | 7DH |
| 30 | 1EH || 62 | 3EH || 94 | 5EH || 126 | 7EH |
| 31 | 1FH || 63 | 3FH || 95 | 5FH || 127 | 7FH |
+——————+——————++——————+——————++——————+——————++——————+——————+
D: decimal
H: hexadecimal
* Decimal expressions such as used for MIDI channel, Bank Select, and Program Change
will be the value 1 greater than the decimal value given in the above table.
* Since each MIDI byte carries 7 significant data bits, each byte can express a maximum of
128 different values. Data for which higher resolution is required must be transmitted
using two or more bytes. For example a value indicated as a two-byte value of aa bbH
would have a value of aa x 128 + bb.
* For a signed number (+/-), 00H = -64, 40H = +/-0, and 7FH = +63. I.e., the decimal
equivalent will be 64 less than the decimal value given in the above table. For a two-byte
signed number, 00 00H = -8192, 40 00H = +/-0, and 7F 7FH = +8191. For example the
decimal expression of aa bbH would be aa bbH - 40 00H = (aa x 128 + bb - 64 x 128.
* Hexadecimal notation in two 4-bit units is used for data indicated as nibbled. The
nibbled two-byte value of 0a 0b H would be a x 16 + b.
<Example 1> What is the decimal equivalent of 5AH?
From the above table, 5AH = 90.
<Example 2> What is the decimal equivalent of the 7-bit hexadecimal values 12 34H?
From the above table, 12H = 18 and 34H = 52
Thus, 18 x 128 + 52 = 2356
<Example 3> What is the decimal equivalent of the nibbled expression 0A 03 09 0DH?
From the above table, 0AH = 10, 03H = 3, 09H = 9, 0DH = 13
Thus, the result is ((10 x 16 + 3) x 16 + 9) x 16 + 13 = 41885
<Example 4> What is the nibbled equivalent of the decimal number 1258?
16 ) 1258
16 ) 78...10
16 ) 4...14
0... 4
From the above table, 0=00H, 4=04H, 14=0EH, 10=0AH
Thus the result is 00 04 0E 0AH
Examples of Actual MIDI Messages
<Example 1> 92 3E 5F
9n is the Note On status and `n' is the MIDI channel number. Since 2H = 2, 3EH = 62, and
5FH = 95, this is a Note On message of MIDI CH = 3, note number 62 (note name D4) and
velocity 95.
<Example 2> CE 49
CnH is the Program Change status and `n' is the MIDI channel number. Since EH = 14, and
49H = 73, this is a Program Change message of MIDI CH = 15, Program number 74 (in the
GS sound map, Flute).
<Example 3> EA 00 28
EnH is the Pitch Bend Change status and `n' is the MIDI channel number. The 2nd byte
(00H=0) is the LSB of the Pitch Bend value, and the 3rd byte (28H=40) is the MSB. However
since the Pitch Bend is a signed number with 0 at 40 00H ( = 64 x 128 + 0 = 8192), the Pitch
Bend value in this case is
28 00H - 40 00H = 40 x 128 + 0 - (64 x 128 + 0) = 5120 - 8192 = -3072
If we assume that the Pitch Bend Sensitivity is set to two semitones, the pitch will change
only -200 cents for a Pitch Bend value of -8192 (00 00H). Thus, this message is specifying a
Pitch Bend of -200 x (-3072) / (-8192) = -75 cents on MIDI CH = 11.
<Example 4> B3 64 00 65 00 06 0C 26 00 64 7F 65 7F
BnH is the Control Change status, and `n' is the MIDI channel number. In Control Change
messages, the 2nd byte is the controller number, and the 3rd byte is the parameter value.
MIDI allows what is known as running status, when if messages of the the same status
follow each other, it is permitted to omit the second and following status bytes. In the
message above, running status is being used, meaning that the message has the following
content.
B3 64 00 MIDI CH = 4, RPN parameter number LSB: 00H
(B3) 65 00 MIDI CH = 4, RPN parameter number MSB: 00H
(B3) 06 0C MIDI CH = 4, parameter value MSB: 0CH
(B3) 26 00 MIDI CH = 4, parameter value LSB: 00H
(B3) 64 7F MIDI CH = 4, RPN parameter number LSB: 7FH
(B3) 65 7F MIDI CH = 4, RPN parameter number MSB: 7FH
Thus, this message transmits a parameter value of 0C 00H to RPN parameter number 00
00H on MIDI CH = 4, and then sets the RPN parameter number to 7F 7FH.
The function assigned to RPN parameter number 00 00H is Pitch Bend Sensitivity, and the
MSB of the parameter value indicates semitone steps. Since the MSB of this parameter value
is 0CH = 12, the maximum width of pitch bend is being set to [+-]12 semitones (1 octave)
(GS sound sources ignore the LSB of Pitch Bend Sensitivity, but it is best to transmit the LSB
(parameter value 0) as well, so that the message can be correctly received by any device.
Once the parameter number has been set for RPN or NRPN, all subsequent Data Entry
messages on that channel will be effective. Thus, it is recommended that after you have
made the change you want, you set the parameter number to 7F 7FH (an unset or null
setting). The final (B3) 64 7F (B3) 65 7F is for this purpose.
It is not a good idea to store many events within the data of a song (e.g., a Standard MIDI
File song) using running status as shown in <Example 4>. When the song is paused, fast-
forwarded or rewound, the sequencer may not be able to transmit the proper status, causing
the sound source to misinterpret the data. It is best to attach the proper status byte to all
events.
It is also important to transmit RPN or NRPN parameter number settings and parameter
values in the correct order. In some sequencers, data events recorded in the same clock (or a
nearby clock) can sometimes be transmitted in an order other than the order in which they
were recorded. It is best to record such events at an appropriate interval (1 tick at TPQN=96,
or 5 ticks at TPQN=480).
* TPQN: Ticks Per Quarter Note (i.e., the time resolution of the sequencer)
203

Hulp nodig? Stel uw vraag in het forum

Spelregels

Misbruik melden

Gebruikershandleiding.com neemt misbruik van zijn services uitermate serieus. U kunt hieronder aangeven waarom deze vraag ongepast is. Wij controleren de vraag en zonodig wordt deze verwijderd.

Product:

Bijvoorbeeld antisemitische inhoud, racistische inhoud, of materiaal dat gewelddadige fysieke handelingen tot gevolg kan hebben.

Bijvoorbeeld een creditcardnummer, een persoonlijk identificatienummer, of een geheim adres. E-mailadressen en volledige namen worden niet als privégegevens beschouwd.

Spelregels forum

Om tot zinvolle vragen te komen hanteren wij de volgende spelregels:

Belangrijk! Als er een antwoord wordt gegeven op uw vraag, dan is het voor de gever van het antwoord nuttig om te weten als u er wel (of niet) mee geholpen bent! Wij vragen u dus ook te reageren op een antwoord.

Belangrijk! Antwoorden worden ook per e-mail naar abonnees gestuurd. Laat uw emailadres achter op deze site, zodat u op de hoogte blijft. U krijgt dan ook andere vragen en antwoorden te zien.

Abonneren

Abonneer u voor het ontvangen van emails voor uw Roland XP-30 bij:


U ontvangt een email met instructies om u voor één of beide opties in te schrijven.


Ontvang uw handleiding per email

Vul uw emailadres in en ontvang de handleiding van Roland XP-30 in de taal/talen: Engels als bijlage per email.

De handleiding is 5,26 mb groot.

 

U ontvangt de handleiding per email binnen enkele minuten. Als u geen email heeft ontvangen, dan heeft u waarschijnlijk een verkeerd emailadres ingevuld of is uw mailbox te vol. Daarnaast kan het zijn dat uw internetprovider een maximum heeft aan de grootte per email. Omdat hier een handleiding wordt meegestuurd, kan het voorkomen dat de email groter is dan toegestaan bij uw provider.

Stel vragen via chat aan uw handleiding

Stel uw vraag over deze PDF

loading

Uw handleiding is per email verstuurd. Controleer uw email

Als u niet binnen een kwartier uw email met handleiding ontvangen heeft, kan het zijn dat u een verkeerd emailadres heeft ingevuld of dat uw emailprovider een maximum grootte per email heeft ingesteld die kleiner is dan de grootte van de handleiding.

Er is een email naar u verstuurd om uw inschrijving definitief te maken.

Controleer uw email en volg de aanwijzingen op om uw inschrijving definitief te maken

U heeft geen emailadres opgegeven

Als u de handleiding per email wilt ontvangen, vul dan een geldig emailadres in.

Uw vraag is op deze pagina toegevoegd

Wilt u een email ontvangen bij een antwoord en/of nieuwe vragen? Vul dan hier uw emailadres in.



Info