603202
174
Verklein
Vergroot
Pagina terug
1/183
Pagina verder
174
MIDI Implementatie
Voorbeelden van werkelijke MIDI berichten
<Voorbeeld1> 92 3E 5F
9n is de Note-on status, en n is het MIDI kanaal nummer. Omdat 2H = 2, 3EH = 62, en 5FH
= 95, is dit een Note-on bericht met MIDI CH (kanaal) = 3, nootnummer 62 (nootnaam is
D4), en velocity 95.
<Voorbeeld2> CE 49
CnH is de Program Change status, en n is het MIDI kanaal nummer. Omdat EH = 14, en
49H = 73, is dit een Program Change bericht met MIDI CH = 15, programmanummer 74.
<Voorbeeld3> EA 00 28
EnH is de Pitch Bend Change status, en n is het MIDI kanaal nummer. De 2
de
byte (00H = 0)
is de LSB, en de 3
de
byte (28H = 40) is de MSB, maar Pitch Bend Waarde is een door een
teken aangeduid nummer, waarin 40 00H (= 64 x 12 + 80 = 8192) 0 is, dus deze Pitch Bend
Waarde is 28 00H 40 00H = 40 x 12 + 80 (64 x 12 + 80) = 5120 8192 = -3072.
Als de Pitch Bend Sensitivity (gevoeligheid) op 2 halve tonen wordt ingesteld, zal -8192 (00
00H) maken dat de toonhoogte 200 cent zal veranderen, dus in dit geval wordt 200 x (-
3072) (-8192) = -75 cent Pitch Bend op MIDI kanaal 11 toegepast.
<Voorbeeld4> B3 64 00 65 00 06 0C 26 00 64 7F 65 7F
BnH is de Control Change status, en n is het MIDI kanaal nummer. Voor Control Changes is
de 2
de
byte het control nummer, en de 3
de
byte is de waarde. In een geval waarbij twee of
meerdere opeenvolgende berichten dezelfde status hebben, heeft MIDI een voorziening
genaamd 'running status', die het mogelijk maakt dat de status byte van het tweede, en de
daaropvolgende berichten, weggelaten wordt. Zodoende hebben de bovenstaande
berichten de volgende betekenis:
B3 64 00 MIDI kan. 4, laagste byte van RPN parameternummer: 00H
(B3) 65 00 (MIDI kan. 4) hoogste byte van RPN parameternummer: 00H
(B3) 06 0C (MIDI kan. 4) hoogste byte van parameterwaarde: 0CH
(B3) 26 00 (MIDI kan. 4) laagste byte van parameterwaarde: 00H
(B3) 64 7F (MIDI kan. 4) laagste byte van RPN parameternummer: 7FH
(B3) 65 7F (MIDI kan. 4) hoogste byte van RPN parameternummer: 7FH
Met andere woorden, de bovenstaande berichten specificeren een waarde van 0C 00H voor
RPN parameternummer 00 00H op MIDI kanaal 4, en stellen dan het RPN
parameternummer op 7F 7FH in.
RPN parameternummer 00 00H is Pitch Bend Sensitivity, en de MSB van de waarde geeft
eenheden van halve tonen aan, dus een waarde van 0CH = 12 stelt de maximale pitch bend
reeks op +/- 12 halve tonen (1 octaaf) in. (Op GS geluidsgeneratoren wordt de LSB van
Pitch Bend Sensitivity genegeerd, maar de LSB zou toch verzonden moeten worden (met
een waarde van 0), zodat de operatie op een ander apparaat correct zal zijn.)
Als de parameter voor RPN of NRPN eenmaal gespecificeerd is, zullen alle Data Entry
berichten die op datzelfde kanaal verzonden worden, geldig zijn, dus nadat de gewenste
waarde verzonden is, is het een goed idee om het parameternummer op 7F 7FH in te stellen,
om ongelukken te voorkomen. Dit is waarom de (B3) 64 7F (B3) 65 7F aan het eind staat.
Voor uitvoeringsdata (zoals Standaard MIDI File data), is het niet gewenst dat deze in
werkende status veel events bevat (zoals bij <Voorbeeld4>.) Reden hiervoor: als het
afspelen tijdens de song stopgezet wordt, en dan terug- of vooruit gespoeld wordt, de
sequencer mogelijk de correcte status kan verzenden, en de geluidsgenerator de data
verkeerd zal interpreteren. Zorg dat elk event zijn eigen status heeft.
Het is tevens noodzakelijk dat het instellen van het RPN of NRPN parameternummer, en de
waarde, in de juiste volgorde wordt gedaan. Op sommige sequencers kunnen events die op
dezelfde (of opeenvolgende) klok gebeuren, in een andere volgorde verzonden worden dan
waarin ze ontvangen werden. Daarom is het een goed idee om de tijd van elk event
enigszins te laten hellen (ongeveer 1 tick voor TPQN = 96, en ongeveer 5 ticks voor TPQN =
480.)
* TPQN: ticks per kwartnoot
Voorbeeld van een Exclusive bericht, en
berekening van een checksum
Roland Exclusive berichten (RQ1, DT1) worden met een checksum aan het eind (voor F7)
verzonden, om er voor te zorgen dat het bericht correct ontvangen wordt. De waarde van
de checksum wordt bepaald door het adres en data (of grootte) van het verzonden
Exclusive bericht.
Hoe de checksum berekend wordt
(Hexidecimale cijfers worden met 'H' aangegeven.)
De checksum is een waarde die voortkomt uit toevoeging van het adres, de grootte, en de
checksum zelf, en omkering van de lage 7 bits.
Hier is een voorbeeld van de manier waarop de checksum wordt berekend. We gaan er van
uit dat het adres in het Exclusive bericht dat we verzenden aa bb cc dd H is, en de data of
grootte is ee ff H.
Aa + bb + cc + dd + ee + ff = som
Som 128 = quotiënt overblijfsel
128 overblijfsel = ckecksum
<Voorbeeld1> CHORUS TYPE of PERFORMANCE COMMON op DELAY (DT1) instellen
Volgens de 'Parameter Address Map' (p.162) is het Start Adres van Temporary Performance
10 00 00 00H, het begin adres van CHORUS bij PERFORMANCE COMMON is 04 00H, en
het adres van CHORUS TYPE is 00 00H. Daarom is het adres van CHORUS TYPE van
PERFORMANCE COMMON:
10 00 00 00H
04 00H
+) 00 00H
10 00 04 00H
DELAY heeft de waarde 02H.
Dus het system exclusive bericht dat verzonden moet worden is:
F0 41 10 00 10 12 10 00 04 00 02 ?? F7
(1) (2) (3) (4) (5) address data checksum (6)
(1) Exclusive Status (2) ID (Roland) (3) Device ID (17)
(4) Model ID (XV-5050) (5) Command ID (DT1) (6) End of Exclusive
Bereken dan de checksum.
10H + 00H + 04H + 00H + 02H = 16 + 0 + 4 + 0 + 2 = 22 (sum)
22 (som) 128 = 0 (quotiënt) ... 22 (overblijfsel)
checksum = 128 - 22 (overblijfsel) = 106 = 6AH
Dit betekent dat F0 41 10 00 10 12 10 00 04 00 02 6A F7 het bericht is dat verzonden moet
worden.
<Voorbeeld2> De data (RQ1) van Performance Part 3 in USER:03 verkrijgen.
Volgens de 'Parameter Address Map' (p.162) is het start adres van USER:03 20 02 00 00H, en
het beginadres van Performance Part 3 is 00 22 00H.
Daarom is het start adres van Performance Part 3 in USER:03:
20 02 00 00H
+) 00 22 00H
20 02 22 00H
Als de grootte van een Performance Part 00 00 00 31H is, zou dit het te verzenden system
exclusive bericht zijn:
F0 41 10 00 10 11 20 02 22 00 00 00 00 31 ?? F7
(1) (2) (3) (4) (5) address data checksum (6)
(1) Exclusive Status (2) ID (Roland) (3) Device ID (17)
(4) Model ID (XV-5050) (5) Command ID (RQ1) (6) End of Exclusive
Bereken dan de checksum.
20H + 02H + 22H + 00H + 00H + 00H + 00H + 31H = 32 + 2 + 34 + 0 + 0 + 0 + 0 + 49
= 117 (sum)
117 (som) 128 = 0 (quotiënt) ... 117 (overblijfsel)
checksum = 128 - 117 (overblijfsel) = 11 = 0BH
Dit betekent dat F0 41 10 00 10 11 20 02 22 00 00 00 00 31 0B F7 het bericht is dat verzonden
moet worden.
174

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 XV5050 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 XV5050 in de taal/talen: Nederlands als bijlage per email.

De handleiding is 2,72 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

Andere handleiding(en) van Roland XV5050

Roland XV5050 Gebruiksaanwijzing - English - 184 pagina's


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