Chromatisch Stemapparaat

Stem elk instrument in uw browser: geef microfoontoegang en zie de noot, frequentie en cent-afwijking live bijwerken terwijl u speelt. Er wordt niets opgenomen of verzonden.

217 weergaven

Audio wordt alleen in het geheugen geanalyseerd voor toonhoogtedetectie; nooit opgenomen, nooit ergens naartoe verzonden.

Waarom autocorrelatie in plaats van FFT-piekdetectie

Net als onze Microfoontest-tool vraagt dit stemapparaat om microfoontoestemming via de getUserMedia-API van de browser, en voedt vervolgens de live audiostream naar een AnalyserNode van de Web Audio API. Vanaf daar lopen de twee tools uiteen: een niveaumeter heeft alleen amplitude nodig, maar een stemapparaat moet de exacte toonhoogte kennen, wat een lastiger probleem is. De voor de hand liggende aanpak is een Fast Fourier Transform uit te voeren en de frequentiebak met de meeste energie te kiezen — maar bij echte instrumenten is dat zelden betrouwbaar. Een getokkelde gitaarsnaar of een gestreken vioolnoot is geen zuivere sinusgolf; het is een grondtoon plus een stapel boventonen, en bij veel instrumenten draagt een boventoon (vaak het octaaf erboven) meer energie dan de grondtoon zelf. Een FFT-piekdetector kan zich op die boventoon vastzetten en een toonhoogte melden die precies één octaaf te hoog is — een klassiek faalpatroon dat een "octaaffout" wordt genoemd.

Deze tool gebruikt in plaats daarvan autocorrelatie, de standaardtechniek voor monofone toonhoogtedetectie. In plaats van de frequentie-inhoud te analyseren, werkt ze rechtstreeks in het tijdsdomein: ze neemt de ruwe golfvorm die is vastgelegd door getFloatTimeDomainData, en vergelijkt het signaal vervolgens met in de tijd verschoven kopieën van zichzelf, glijdend over een reeks mogelijke verschuivingen en optellend hoe goed elke verschoven kopie overeenkomt met het origineel. Omdat een periodieke golfvorm het sterkst correleert met een kopie van zichzelf die precies één volledige periode is verschoven, is de verschuiving die de sterkste overeenkomst oplevert de werkelijke periode van de noot — ongeacht welke boventoon toevallig het luidst is. Dat maakt autocorrelatie aanzienlijk resistenter tegen octaaffouten dan FFT-piekselectie. Daarna wordt rond de best passende verschuiving een parabolische interpolatiestap toegepast, die de schatting verfijnt tot subsample-precisie zodat de centwaarde niet in grove stappen springt. De hele berekening wordt bij elk animatieframe opnieuw uitgevoerd, waarbij telkens verse tijdsdomein-samples worden gelezen — audio wordt nooit opgenomen of naar een bestand geschreven; het bestaat alleen als getallen in het geheugen die worden gebruikt om één toonhoogteschatting te berekenen, en wordt daarna weggegooid.

A440, ISO 16, en waarom sommige orkesten hoger stemmen

De referentietoonhoogte die dit stemapparaat gebruikt — A4 = 440 Hz — is jonger dan de meeste mensen denken, en was vroeger echt inconsistent. Vóór de 20e eeuw varieerde de "concertstemming" van stad tot stad en vaak van orkest tot orkest; een noot genaamd A in het ene operahuis kon merkbaar anders klinken dan de A in het huis ernaast, soms met bijna een halve toon verschil tussen verschillende regio's van Europa. Standaardisatie kwam pas in mei 1939, toen een internationale conferentie in Londen 440 Hz als referentie vaststelde voor de noot A boven de middelste C. Die afspraak werd in 1955 geformaliseerd als de internationale norm ISO 16. Zelfs vandaag is de standaard in de praktijk niet universeel: verschillende Europese orkesten, waaronder enkele in Wenen en Berlijn, stemmen licht boven de 440 — vaak op 442 of 443 Hz — een conventie die doorgaans wordt gekozen omdat een iets hogere toonhoogte in een concertzaal als helderder en briljanter wordt ervaren.

Zodra een referentietoonhoogte vaststaat, wordt elke andere noot op een modern instrument gedefinieerd door de 12-toons gelijkzwevende stemming, het stemsysteem dat dit stemapparaat aanneemt bij het benoemen van noten en het berekenen van cents. Gelijkzwevende stemming verdeelt het octaaf in twaalf gelijke stappen, waarbij de frequentieverhouding tussen elke noot en de halve toon erboven exact de twaalfde-machtswortel van twee is, ongeveer 1,05946. Die ene wiskundige regel is wat een piano in elke toonsoort bespeelbaar maakt: eerdere stemsystemen, gebaseerd op zuivere harmonische verhoudingen, klonken prachtig zuiver in de ene toonsoort en hoorbaar vals in verre toonsoorten, wat herstemmen vereiste of componisten beperkte tot een handvol bruikbare toonsoorten. Gelijkzwevende stemming offert die zuiverheid gelijkmatig op, waardoor elke toonsoort even — en slechts licht — onzuiver wordt, maar wel even bruikbaar. Johann Sebastian Bachs Das Wohltemperierte Klavier (1722) werd specifiek gecomponeerd om een welgetemperd stemsysteem te demonstreren door stukken in alle 24 majeur- en mineurtoonsoorten uit te werken — een showcase die hielp om het idee te populariseren dat instrumenten redelijkerwijs één keer gestemd konden worden en overal op het klavier bespeeld konden worden.

Veelgestelde vragen

Waarom gebruikt dit stemapparaat autocorrelatie in plaats van de eenvoudigere FFT-piekdetectiemethode?

Echte instrumentklanken bevatten een grondtoon plus boventonen, en bij veel instrumenten draagt een boventoon meer energie dan de grondtoon. Een FFT-piekdetector kan zich op die boventoon vastzetten en een toonhoogte melden die precies één octaaf te hoog is — een "octaaffout". Autocorrelatie zoekt rechtstreeks in het tijdsdomein naar de werkelijke periode van de golfvorm, wat haar aanzienlijk resistenter maakt tegen deze fout en is de standaardtechniek voor monofone toonhoogtedetectie.

Wat is A440 en waar komt het vandaan?

A440 betekent dat de noot A boven de middelste C wordt gestemd op 440 Hz, de referentie waaruit elke andere noot wordt berekend. Het werd overeengekomen op een internationale conferentie in Londen in mei 1939 en geformaliseerd als de ISO 16-norm in 1955. Daarvoor varieerde de concertstemming per stad en per orkest, zonder één geaccepteerde referentie.

Waarom stemmen sommige orkesten op 442 of 443 Hz in plaats van 440?

Het is een stilistische keuze, geen fout. Verschillende Europese orkesten, waaronder enkele in Wenen en Berlijn, stemmen licht boven de 440 Hz-standaard omdat een iets hogere toonhoogte breed wordt ervaren als helderder en briljanter tijdens een uitvoering. Dit stemapparaat gebruikt nog steeds 440 Hz als referentie, dus instrumenten die op een hogere conventie zijn gestemd, lezen daartegen consistent te hoog uit.

Wat is gelijkzwevende stemming en waarom is dat belangrijk voor het stemmen?

12-toons gelijkzwevende stemming verdeelt het octaaf in twaalf gelijke frequentiestappen, elk in een verhouding van exact de twaalfde-machtswortel van twee (≈1,05946) ten opzichte van de vorige. Het is het systeem waarop bijna elk modern instrument wordt gestemd, omdat het elke toonsoort op een instrument bespeelbaar maakt, ten koste van het feit dat geen enkele toonsoort harmonisch "zuiver" is. Bachs Das Wohltemperierte Klavier is specifiek geschreven om dit systeem te demonstreren in alle 24 toonsoorten.

Wordt mijn stem of instrument opgenomen tijdens het gebruik van dit stemapparaat?

Nee. Net als onze Microfoontest-tool roept deze pagina nooit de MediaRecorder-API aan — de browserfunctie die verantwoordelijk is voor het omzetten van een stream naar een opgeslagen bestand. Audio bestaat alleen als live AnalyserNode-gegevens die worden gelezen om per animatieframe één toonhoogteschatting te berekenen, en wordt daarna weggegooid; niets wordt opgeslagen of ergens naartoe verzonden.

Reacties

Nog geen reacties — schrijf de eerste!

Vergelijkbare tools