Utilia

MIDI-visualizer

Open een .mid-bestand in je browser als piano roll, speel het af met een eenvoudige synth, demp sporen en bekijk tempo, duur en aantal noten.

0:00.0 / 0:00.0

Elke balk is een noot: hoogte = toonhoogte, lengte = duur, helderheid = aanslagsterkte. Klik op de piano roll om de cursor te verplaatsen.

Duur
–
Tempo (BPM)
–
Noten
–
Sporen met noten / totaal
–
Maatsoort
–
Toonomvang
–
SMF-formaat
–

Zo bekijk en speel je een MIDI-bestand

  1. Sleep een .mid- of .midi-bestand naar het uploadvak, of klik erop om er een te kiezen. Geen bestand bij de hand? Klik op Demonummer laden voor een korte canon van “Vader Jacob” met bas en drums.
  2. De piano roll verschijnt meteen. Elke gekleurde balk is een noot: de verticale positie is de toonhoogte (C-labels markeren elk octaaf), de lengte is de duur, en helderdere balken zijn harder aangeslagen (hogere velocity).
  3. Klik op Afspelen om het bestand te horen via een eenvoudige ingebouwde synthesizer. De rode cursor volgt de muziek en de noten die klinken lichten op. Pauze onthoudt de positie; Stop gaat terug naar het begin.
  4. Klik ergens op de piano roll om de cursor naar dat moment te verplaatsen, ook tijdens het afspelen.
  5. Kies een Weergave: Hele nummer past het hele bestand op het scherm, terwijl de vensters van 5, 10 en 20 seconden inzoomen en met de cursor meescrollen. Dat leest makkelijker bij drukke pianopartijen.
  6. Vink bij Sporen een spoor uit om het te dempen. Het wordt grijs op de piano roll, zodat je je op één partij kunt richten, bijvoorbeeld om een melodie of baslijn te leren.

Het bestand wordt door JavaScript in dit tabblad gelezen. Er wordt niets geüpload.

Wat de getallen betekenen

  • Duur: de lengte van het nummer in minuten en seconden, berekend uit de tempokaart, dus tempowisselingen worden meegenomen.
  • Tempo (BPM): het tempo aan het begin van het nummer in tellen (kwartnoten) per minuut. Verandert het tempo tijdens het nummer, dan staan de laagste en hoogste waarde tussen haakjes. Een bestand zonder tempo-event speelt op de MIDI-standaard van 120 BPM.
  • Noten: het aantal noten, nadat elke note-on aan zijn note-off is gekoppeld.
  • Sporen met noten / totaal: bestanden in formaat 1 beginnen meestal met een “dirigentspoor” dat alleen tempo en maatsoort bevat, dus de twee aantallen verschillen vaak één.
  • Maatsoort, Toonomvang (laagste en hoogste noot, met de centrale C geschreven als C4) en SMF-formaat (0 = één spoor met alle kanalen, 1 = meerdere gesynchroniseerde sporen).

Hoe de parser werkt

Een Standard MIDI File bestaat uit een headerblok (MThd) gevolgd door trackblokken (MTrk). Elk event wordt voorafgegaan door een deltatijd in ticks, en de header geeft het aantal ticks per kwartnoot. Deze tool leest het bestand byte voor byte: hij volgt running status (waarbij een statusbyte wordt weggelaten en de vorige opnieuw wordt gebruikt), slaat SysEx-berichten en onbekende blokken over, leest meta-events voor tempo, maatsoort en spoornaam, en behandelt een note-on met velocity 0 als note-off, zoals de meeste sequencers ze schrijven. Daarna worden ticks met de tempokaart omgerekend naar seconden. Bestanden met een SMPTE-tijdbasis (frames per seconde) worden ook ondersteund.

Beperkingen van de ingebouwde synth

Het afspelen is bedoeld om de noten te controleren, niet om als een echt instrument te klinken. Elk melodisch kanaal gebruikt dezelfde zachte driehoeksgolf, ongeacht het programmanummer (instrument). Op kanaal 10, het General MIDI-percussiekanaal, zijn basdrums een dalende sinus en de andere drums korte ruisstoten. Pitch bend, sustainpedaal en controllers worden genegeerd. Voor realistisch geluid open je het bestand in een DAW of een speler met een SoundFont.

Veelgestelde vragen

Welke bestanden kan ik openen?

Standard MIDI Files in formaat 0 of 1, met de extensie .mid, .midi of .kar (karaokebestanden zijn gewone MIDI-bestanden), en RIFF-bestanden (.rmi) waarin een MIDI-bestand zit. Bestanden in formaat 2, die zeldzaam zijn, worden getoond met hun sporen parallel naast elkaar.

Waarom toont mijn bestand één spoor meer dan ik verwachtte?

In een bestand in formaat 1 is het eerste spoor meestal een dirigentspoor met alleen het tempo en de maatsoort. Het heeft geen noten en staat dus niet bij Sporen, maar telt wel mee in het totaal.

Waarom klinkt het afspelen niet als een piano of gitaar?

Deze tool gebruikt een heel kleine synthesizer, gebouwd met de Web Audio API, in plaats van een grote klankbibliotheek, zodat de pagina licht blijft. Hij speelt de juiste noten op het juiste moment en met de juiste aanslag, maar niet met de oorspronkelijke instrumentklanken.

Het tempo toont een bereik. Klopt het bestand niet?

Jawel. Het bestand bevat tempowisselingen, bijvoorbeeld een ritardando aan het eind of een sneller deel. De eerste waarde is het begintempo en het bereik geeft het langzaamste en snelste tempo; het afspelen en de duur volgen ze allemaal.

Wordt mijn MIDI-bestand geüpload?

Nee. Het bestand wordt volledig in je browser gelezen en afgespeeld, en wordt vergeten zodra je de pagina sluit of herlaadt.