170 likes | 384 Views
MIDI. een MIDI track interpreteren, laten zien en afspelen. MIDI track format. lijst van ( tijdstip, gebeurtenis ) Gebeurtenissen : noot aan, noot uit Ook (veel) niet-muziek gebeurtenissen Polyfoon, geluiddsterkte Variabele lengte ‘running event’. MIDI track format - events.
E N D
MIDI • een MIDI track interpreteren, laten zien en afspelen Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
MIDI track format • lijst van ( tijdstip, gebeurtenis ) • Gebeurtenissen : noot aan, noot uit • Ook (veel) niet-muziek gebeurtenissen • Polyfoon, geluiddsterkte • Variabele lengte • ‘running event’ Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
MIDI track format - events • Altijd tijdstip + event • Tijdstip = variable length delta time • Verschillende event formaten Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
MIDI event – meta events Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
MIDI event – meta events Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
MIDI event – system exclusive events Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
MIDI event – channel event Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
MIDI event – channel events Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
MIDI event – running status mag worden ‘afgekort’ tot: Let op: tijdstippen zijn hier weggelaten! Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
Een MIDI file (nav.mid) MIDI header Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
Een MIDI file (nav.mid) Eerste track (header + data ) Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
Een MIDI file (nav.mid) Eerste event van de eerste track Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
Een MIDI file (nav.mid) tweede track, header en eerste events Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
Een MIDI file (nav.mid) tweede track, note on/off events Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
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. Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
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. Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
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 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology