Aceeași notă, un sunet diferit: măsurătoarea pe care am greșit-o la început
Trei forme de undă la 528 Hz corespund aceleiași note, dar nu sună deloc la fel. Căutând explicația, am dat peste un număr care n-ar trebui să existe, iar prima mea încercare de a-l măsura a fost greșită.
Dacă redai o undă sinusoidală și o undă pătrată la aceeași frecvență, nimeni nu le confundă. Una este blândă, cealaltă este aspră. Totuși, dacă întrebi un instrument ce notă se aude, acesta îți va da același răspuns în ambele cazuri.
Această discrepanță constituie chiar subiectul în sine. De asemenea, m-a condus la o valoare care, conform teoriei, nu ar fi trebuit să existe deloc — iar prima mea măsurătoare a acelei valori a fost greșită, într-un mod care merită evidențiat, mai degrabă decât corectat în tăcere.
Nota nu este sunetul
Creează trei forme de undă la 528 Hz în Python — una sinusoidală, una pătrată și una triunghiulară — și aplică o transformată FFT fiecăreia. Toate trei indică o frecvență fundamentală de 528,00 Hz. Din punct de vedere al notei muzicale, acestea sunt identice.
Ceea ce diferă este tot ceea ce se află deasupra frecvenței fundamentale. O undă periodică poate fi reprezentată ca o suprapunere de unde sinusoidale simple, la multipli întregi ai acelei frecvențe fundamentale. Acești multipli sunt armonici, iar prezența lor și intensitatea lor sunt ceea ce urechea ta percepe ca timbru.
În cazul unui undă pătrată, regula este veche și specifică: supraviețuiesc doar multiplii impari, iar fiecare dintre aceștia poartă o fracțiune din amplitudinea fundamentală egală cu unul împărțit la propriul său număr. O treime din amplitudine la a treia armonică. O cincime la a cincea.
Măsurat pe propriul meu fișier:
| Harmonic | Predicted | Measured |
|---|---|---|
| 3rd | −9.5 dB | −9.5 dB |
| 5th | −14.0 dB | −14.0 dB |
| 7th | −16.9 dB | −16.9 dB |
| 9th | −19.1 dB | −19.1 dB |
Regula se aplică până la zecimală. Asta e partea ușoară.
Numărul care ar fi trebuit să fie zero
Aceeași regulă prevede că armonicele pare ar trebui să lipsească cu desăvârșire. Nu doar în cantități mici. Ci să lipsească cu totul.
Nu lipsesc. A doua armonică se află la 75,9 dB sub frecvența fundamentală — aproximativ o parte la șase mii. Infimă, inaudibilă, dar nu egală cu zero. Teoria spunea că este zero.
Suspectul evident este instrumentul de măsurare. Nu este așa: dacă se efectuează aceeași măsurătoare pe un semnal sinusoidal pur, același interval indică o valoare cu 238 dB mai mică, ceea ce nu reprezintă altceva decât zgomotul aritmetic al numerelor în sine. Instrumentul poate detecta semnale mult mai mici decât acesta.
Răspunsul corect este că unda pătrată eșantionată nu se repetă deloc la 528 Hz.
Se calculează cel mai mare divizor comun al frecvenței și al ratei de eșantionare: gcd(528, 44100) = 12. Modelul eșantioanelor se repetă doar de aproximativ douăsprezece ori pe secundă, așa că ceea ce vede transformata nu este o serie armonică curată, ci un pieptene cu o linie la fiecare 12 Hz. Unele dintre aceste linii ale pieptenului se află aproape de locul unde ar fi o armonică, iar una dintre ele este cea care apare în binul par.
Unde am greșit
Iată partea pe care videoclipul o prezintă în timp real, deoarece este partea pe care majoritatea canalelor ar omite-o.
Prima mea măsurătoare a acelei armonice pare a fi fost de −67,3 dB, iar eu am notat această valoare ca răspuns.
Nu era răspunsul. Căutasem vârful într-o fereastră cu o lățime de aproximativ ±14 Hz în jurul frecvenței așteptate, considerând că o mică toleranță ar fi acceptabilă. Dar liniile de pieptene sunt la o distanță de 12 Hz una de alta. O fereastră atât de largă conține cu siguranță o linie de pieptene învecinată, iar acea linie era mai puternică decât armonică pe care o vizam de fapt. Măsurarea a raportat conștiincios elementul cel mai puternic din fereastră, iar eu l-am confundat cu elementul despre care întrebasem.
Valoarea corectă, măsurată exact în intervalul respectiv și nu în funcție de cel mai puternic sunet din apropiere, este de −75,9 dB. Cu opt decibeli și jumătate mai silențios decât ceea ce am publicat inițial pentru mine însumi.
Lecția care se desprinde din acest articol este următoarea: intervalul de toleranță nu este arbitrar. Lărgirea acestuia din motive de siguranță crește probabilitatea ca măsurătoarea să răspundă la o întrebare diferită de cea pe care ai pus-o. Dacă trebuie să reții un singur lucru practic din acest articol, reține tocmai asta.
Când am mărit fereastra, am descoperit ceva și mai grav
Odată ce am încetat să mai acord încredere interpretării înguste și am analizat întregul spectru, a apărut un artefact mai mare, care nu are nicio legătură cu liniile de pieptene.
O undă pătrată are armonici la infinit. Tot ce se află peste jumătatea ratei de eșantionare nu poate fi reprezentat și se pliază înapoi în domeniul audibil. La o notă mai înaltă, se poate auzi acest fenomen fără nicio analiză: generați un undă pătrată la 3000 Hz și veți observa un ton joasă sub ea, care nu face parte din nota respectivă. Aceasta este a cincisprezecea armonică, la 45 kHz, care se pliază înapoi până la 900 Hz — cu două octave mai jos decât nota redată.
La 528 Hz, cea mai puternică pliere se situează la −33 dB. Aceasta este cu patruzeci de decibeli peste artefactul armonic par pe care îl căutam. Ceea ce numeam „artefact” nu era de fapt cel mai important.
Două teste confirmă faptul că este vorba de un fenomen de pliere și nu de altceva:
Dacă dublezi rata de eșantionare, nivelul armonicelor scade cu șase decibeli de fiecare dată. −33, −39, −45, −51. Nu e o chestiune de noroc: prima armonică care nu mai încape își dublează valoarea, iar o armonică de două ori mai înaltă este cu șase decibeli mai slabă, conform aceleiași reguli „unul la n”.
Construiește aceeași formă din sinusuri care se potrivesc perfect — fără serii infinite, fără margini care să provoace aliasing — și nivelul scade cu 236 dB, revenind la zgomotul aritmetic.
Trei lucruri pe care timbrul nu le este
Nu este nota. Toate cele trei forme au frecvența de 528,00 Hz. Dacă întrebi instrumentul ce sună, acesta îți răspunde de trei ori la fel.
Nu este vorba de intensitatea sonoră. La aceeași înălțime de vârf, unda pătrată transportă cu aproximativ 3 dB mai multă energie decât unda sinusoidală. Acest lucru este real, dar reprezintă o diferență de factor de creastă — cât de compactă este aceeași energie în raport cu vârful — și nu o dovadă că armonicele sporesc intensitatea sonoră. Dacă comparăm cele două în funcție de energie, frecvența fundamentală a undei pătrate se situează cu aproximativ 1 dB sub cea a undei sinusoidale: aceeași energie, distribuită pe mai multe trepte.
Nu e vorba de calitate. Nicio formă nu este mai bogată, mai pură sau mai bună pentru tine. Ceea ce am măsurat este o distribuție a energiei pe o scară — șase numere pentru pătrat, șase numere diferite pentru triunghi, aceeași notă sub ambele. Aceasta este o descriere completă a unui ton constant și reprezintă întreaga afirmație susținută de fizică. Un instrument real se schimbă, de asemenea, în timp ce cântă, ceea ce este o chestiune separată.
Încearcă și citește conținutul exact al coșului de gunoi
Patru linii. Construiți un semnal pătrat la 528 Hz cu 44.100 de eșantioane pe secundă, calculați transformata FFT a acestuia și citiți nivelul la de trei ori frecvența fundamentală și apoi la de două ori.
Citește binul exact, nu cel mai puternic semnal din apropierea lui, altfel vei repeta greșeala mea. Ar trebui să găsești −9,5 dB la cel impar și aproximativ 76 dB mai jos la cel par.
Apoi schimbă frecvența și rulează din nou programul. Valoarea de −9,5 nu se va modifica, indiferent de frecvența aleasă între 100 Hz și 1000 Hz, deoarece este o lege. Numărul par se va deplasa, iar tu poți prevedea unde anume înainte de a rula programul: calculează cel mai mare divizor comun al frecvenței tale și al lui 44.100; acesta este intervalul cu care se adaugă fiecare element al grilei de eșantionare.
Ambele corecturi menționate mai sus se regăsesc în versiunea publicată a videoclipului. Publicarea unei valori eronate alături de cea corectă nu ține de modestie; este singura modalitate prin care o afirmație privind o măsurătoare poate fi verificată de către altcineva decât persoana care o face.
Referințe
Conținutul prezentat aici se referă mai degrabă la noțiuni fundamentale de procesare a semnalelor decât la dovezi clinice: transformata Fourier discretă și grila sa de binuri (numpy.fft), scurgerea spectrală și rezoluția ferestrei, limita Nyquist și aliasingul, precum și seria Fourier pentru o undă pătrată cu amplitudinile armonicelor impare egale cu 1/n. Implementat cu numpy; scriptul de măsurare și rezultatul acestuia sunt afișate pe ecran în videoclipul însoțitor.
Conținut educațional despre procesarea semnalului audio. Nu constituie sfaturi medicale.
Listen · FFT-verified session Aceeași notă, un sunet diferit: măsurătoarea pe care am greșit-o la început Watch on YouTube →