Hogyan működik ez a hangmagasság mérő?
A mikrofonod egy 8192 mintás puffert rögzít a böngészőben – ez körülbelül 170 ms 48 kHz-en, ami elég hosszú ahhoz, hogy még a mély basszushangok több ciklusát is lássuk. Az eszköz egy McLeod-stílusú normalizált autokorrelációt futtat ezen az ablakon – összehasonlítja a legutóbbi hullámformát annak eltolt másolataival, és keresi a legerősebb ismétlődő ciklust. Ez a ciklushossz a hullám periódusa; a periódus reciproka pedig a frekvencia Hz-ben. A frekvenciát ezután a legközelebbi zenei hanggá alakítjuk, kiegészítve egy cent eltolódással (egy félhang = 100 cent).
Az elemzés előtt megkérjük a böngészőt, hogy hagyja ki az automatikus erősítést, a visszhangkioltást és a zajszűrést a mikrofonfolyamon. Ezek a szűrők eltorzítják a hullámformát, és halk hangok vagy mély hangszerek esetén akár több tíz centtel is eltolhatják a mérést, így ezek kikapcsolása a legnagyobb pontosságbeli nyereség. Az utolsó néhány képkockán alkalmazott rövid mediánszűrő elnyeli az egyszeri kiugró értékeket anélkül, hogy látható késleltetést okozna.
Ez a megközelítés jobban követi a kitartott, egyszólamú hangokat, mint egy sima FFT, különösen alacsony frekvenciákon, mert kevésbé valószínű, hogy összetéveszti a felhangokat az éppen játszott alaphanggal. A hátránya: nem tudja követni az akkordokat, a vibrato miatt ingadozhat a cent-érték, a zajos háttér pedig megzavarhatja az észlelést.
Referencia: standard hangolás
A detektor a A4 = 440 Hz koncertmagasságról indul, de módosíthatod a referenciát, ha a hangszered vagy az együttesed más szabványt használ. Minden más hang fix arányra van – a kettő tizenkettedik gyöke (≈1,05946) félhangonként. Az oktávok megduplázzák a frekvenciát: az A3 220 Hz, az A5 pedig 880 Hz. A centek azt mérik, mennyire vagy távol egy adott félhangon belül; a ±5 cent alatti különbségek általában nem hallhatóak.
A kijelző értelmezése
- Nagy hangjegy – a legközelebbi félhang, amelyet az utolsó néhány képkockában hallottunk.
- Cent skála – a jelző középen van, ha tiszta a hang, balra tolódik, ha mélyebb, és jobbra, ha magasabb. Zöld = tiszta (±5 ¢), sárga = közeli (±20 ¢), piros = egyértelműen hamis.
- Zongorabillentyűzet – kiemeli az észlelt hangot a megfelelő oktávban C1 és B6 között. Az ezen a tartományon kívüli hangok továbbra is megjelennek a szöveges kijelzőn.
- Legutóbb észlelt – minden alkalommal, amikor új, kitartott hangra váltasz, hozzáadjuk azt egy listához, így visszanézheted, mit énekeltél vagy játszottál.
Tippek a pontos méréshez
- Tarts ki egyetlen hangot legalább fél másodpercig – a detektornak szüksége van néhány egyező képkockára a véglegesítés előtt.
- Csendes szoba. A ventilátorok, a forgalom és a billentyűzet kattogása gyorsabban összeadódik, mint gondolnád.
- Tartsd stabilan a hangot. A vibrato eltolja a cent-értéket még akkor is, ha az átlagos hangmagasság helyes.
- Lehetőleg használj külső mikrofont. A laptop mikrofonok ~80 Hz alatt vágnak, ami levágja a legmélyebb basszushangokat.
- Menj közel. A mikrofontól való távolság megduplázása negyedeli a detektor által érzékelt szintet.
Gyakran ismételt kérdések
Milyen hangszereket tudok ezzel hangolni?
Bármit, ami egyetlen kitartott hangot produkál nagyjából a 40 Hz – 2,2 kHz tartományban: gitár, basszusgitár, ukulele, hegedű, brácsa, cselló, hárfa, rézfúvósok, fafúvósok és az énekhangod. A dobok, cintányérok és a teljes zongoraakkordok nem követhetők – az autokorrelációhoz egyetlen domináns frekvencia szükséges.
Ugrál a hangjegy, amikor énekelek – én vagyok az, vagy az eszköz?
Leginkább te, de nem úgy, ahogy gondolnád. A mikrofonok egyszerre érzékelik a hangodat, a lélegzetedet és a szobát, és a fül számára hallhatatlan apró ingadozások ±20 centes kilengésekként jelennek meg. Énekelj hangosabb, stabilabb hangot, és a kijelzés megnyugszik.
Miért áll le a mérés nagyon mély vagy nagyon magas hangoknál?
A detektor nagyjából a 40 Hz – 2,2 kHz tartományra van korlátozva. 40 Hz alatt a legtöbb laptop mikrofon vág; 2,2 kHz felett a felhangok elkezdenek torzulni, és a becslés megbízhatatlanná válik. Ezen a tartományon belül az eszköz mindent lefed az 5 húros basszusgitár alacsony B0 hangjától a szoprán hangterjedelem tetejéig.
Rögzít valamit az eszköz, vagy küld adatokat szerverre?
Nem. Minden audió elemzés a böngésződben történik a Web Audio API segítségével. Semmi sem kerül feltöltésre, tárolásra vagy továbbításra. Állítsd le a detektort vagy zárd be a fület, és a folyamat véget ér.