Ik ben in C++ een simpele muziekverwerkingsapp aan het schrijven en één van de dingen die die moet kunnen is een textbestand met noten inlezen en deze outputten als een MIDI-file. Alles lijkt goed te gaan, op het laatste ding na: midi-spelers zeggen dat mijn files incorrect zijn. Ik heb geprobeerd ze te openen in zowel Windows Media Player ("Class factory cannot supply requested class") als in Cakewalk ("Cannot read file"; Cakewalk is een echte professionele MIDI-editor) en beide vreten hem niet.
Mijn files zijn dus niet goed, maar volgens een hex-editor die ik van internet downloade bevatten ze wel de gewilde code. Ik denk dus dat ik me niet goed houd aan de MIDI-standaard. Mijn output lijkt wel te kloppen met wat ik op www.wotsit.org vond over MIDI, maar blijkbaar zie ik dus nog iets over het hoofd. Weet iemand hier misschien wat ik verkeerd doe?
Dit is de MIDI-output die ik maak, inclusief in commentaar wat ik denk dat het zou moeten betekenen:
Mijn files zijn dus niet goed, maar volgens een hex-editor die ik van internet downloade bevatten ze wel de gewilde code. Ik denk dus dat ik me niet goed houd aan de MIDI-standaard. Mijn output lijkt wel te kloppen met wat ik op www.wotsit.org vond over MIDI, maar blijkbaar zie ik dus nog iets over het hoofd. Weet iemand hier misschien wat ik verkeerd doe?
Dit is de MIDI-output die ik maak, inclusief in commentaar wat ik denk dat het zou moeten betekenen:
code:
Mocht er iemand zijn die me hiermee kan helpen: alvast bedankt!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| //MIDI header 4d 54 68 64 00 00 00 06 00 00 00 01 00 78 //track header 4d 54 72 6b 00 00 00 2a //patch setting op piano 00 c0 00 //speed settings op een kwart is 500ms 00 51 00 01 f4 //een muzieknoot en diens einde 00 90 58 40 a7 80 58 00 //een muzieknoot en diens einde 00 90 48 40 a7 80 48 00 //een muzieknoot en diens einde 00 90 68 40 a7 80 68 00 //een muzieknoot en diens einde 00 90 78 40 a7 80 78 00 //track ending 00 2f |
Devblog / portfolio
Swords & Soldiers
Awesomenauts
Proun
Cello Fortress