Da jeg skrev min forrige artikkel (den om
frekvensanalyse, som jeg forøvrig føler ikke ble spesielt bra, så jeg lurer på å skrive den på nytt), innså jeg at veien ikke er lang til å skrive min egen gitar-synthesizer. Nøkkelen ligger i grafen som viser frekvenskomponentene til gitarlyden (Observante lesere vil merke seg at plottet ser litt annerledes ut enn i den forrige artikkelen. Det skyldes at der gjorde jeg alle verdiene positive.):
Relativ amplitude for de ulike frekvensene i en A fra en gitar
Det finnes et teorem som sier at enhver bølge kan skrives som en sum av sinusbølger med ulike frekvenser og amplituder. En sinusbølge er en helt jevn og fin svingning som kun har én frekvens. Lyden man får fra en stemmegaffel skal idéelt sett være slik, og derfor vil to stemmegafler med samme frekvens høres helt like ut. En gitar og en fiolin, eller for den saks skyld en trompet, høres imidlertid helt forskjellige ut, selv når de spiller den samme tonen. Grunnen til det er at tonen bestemmer bare grunnfrekvensen, mens overtonene er forskjellig fra instrument til intstrument.
Hvis vi tar en kikk på en øverste grafen ser vi at den laveste toppen ligger på rundt 440 Hz. Dette er altså grunnfrekvensen til tonen som spilles, og alle de andre toppene er overtoner. Hvis vi hadde kikket på et tilsvarende plott for et annet instrument som spiller den samme tonen ville vi funnet topper på de samme stedene, men høyden på de ulike toppene ville vært forskjellig, og nettopp det er grunnen til at en gitar og en fiolin høres forskjellige ut. Eller det er i alle fall noe av grunnen. Jeg må innrømme at jeg ikke er helt stødig når det kommer til musikkinstrumenter.
Uansett, det slo meg at jeg burde være i stand til å lage min egen gitarlyd hvis jeg skrev et lite python-script for å legge sammen sinusbølger med ulike frekvenser, hvis jeg bare passet på å kombinere frekvensene på riktig måte, som beskrevet av den første grafen. Og siden python er sånn et lettvint og trivelig språk var dette nesten like enkelt gjort som sagt.
Sum av sinusbølger
Figuren viser de ulike sinusbølgene jeg la sammen, og hvordan amplituden er forskjellig for de forskjellige frekvensene, sånn omtrent basert på frekvensplottet øverst i artikkelen. Nest nederst ser vi summen av alle disse bølgene, og helt nederst ser vi opptaket av gitaren. Så vi ser at ved å kombinere sinusbølger i riktige forhold har jeg greid å lage noe som ser ut som gitarlyd. Poenget med lyd er imidlertid ikke hvordan den ser ut, men hvordan den høres ut.
-Tor Nordam
Comments