Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 een MIDI track interpreteren, laten zien en afspelen
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 2 MIDI track format -lijst van ( tijdstip, gebeurtenis ) -Gebeurtenissen : noot aan, noot uit -Ook (veel) niet-muziek gebeurtenissen -Polyfoon, geluiddsterkte -Variabele lengte -‘running event’
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 3 MIDI track format - events -Altijd tijdstip + event -Tijdstip = variable length delta time -Verschillende event formaten
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 4 MIDI event – meta events
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 5 MIDI event – meta events
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 6 MIDI event – system exclusive events
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 7 MIDI event – channel event
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 8 MIDI event – channel events
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 9 MIDI event – running status mag worden ‘afgekort’ tot: Let op: tijdstippen zijn hier weggelaten!
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 10 Een MIDI file (nav.mid) MIDI header
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 11 Een MIDI file (nav.mid) Eerste track (header + data )
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 12 Een MIDI file (nav.mid) Eerste event van de eerste track
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 13 Een MIDI file (nav.mid) tweede track, header en eerste events
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 14 Een MIDI file (nav.mid) tweede track, note on/off events
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 15 Opdracht : MIDI afspelen Maak een C programma dat een je aanroept met 3 parameters: een MIDI file, een tijdsfactor, en een track nummer. Het programma speelt de MIDI file af op de luispreker. Daarbij wordt de tijd met de opgegeven factor uitgerekt. Gebruik alleen de note-on en note-off events, maar hou wel rekening dat er andere events in de file kunnen voorkomen. Laat een noot eindigen zowel door een note- off event als door het begin van een nieuwe noot. Log naar het scherm wat je speelt, en log ook de andere (genegeerde) events. Geef een foutmelding als je een event niet herkent.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 16 Opdracht : MIDI afspelen Test files: –nav.mid 1 2 –qn.mid 2 3 –bss.mid 1 3 De laatste (bss) is niet te herkennen, maar is een test voor ‘running status’ events.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 17 tips Gebruik bv UltraEdit om de bytes in een MIDI file te bekijken Een MIDI file bevat vaak vele tracks, alleen de ‘solo’ track klinkt een beetje herkenbaar Gebruik bv MIDI2TXT om de track structuur te bekijken en de solo track te vinden