next up previous contents
Next: Lydbehandling og syntese i Up: Digital lydbehandling Previous: Lydbehandling og syntese i

Fysisk modellering

Fysikerne begynner etterhvert å få ganske god oversikt over hvilke prosesser som foregår i vibrerende musikkinstrumenter. Vi kan lage matematiske modeller for dette, og implementere dem på datamaskinen. Vi simulerer således de fysiske prosessene i musikkinstrumentet, og kan på den måten produsere lyd.

Denne syntesemetodikken har mange tiltalende sider. For det første kan man produsere lyd som låter svært naturlig og ekte. For det andre kan en musiker kommunisere med datamaskinen gjennom en fysisk begrepsverden, og f.eks. bygge opp et musikkinstrument på skjermen ved hjelp av objekter som strenger, resonanskasser, membraner, buer, hammere, plektre, rør etc. Man kan benytte hvilke byggematerialer man vil, og lage instrumenter av alle kategorier og størrelser. Det er også mulig å lage gradvise overganger fra ett instrument til et annet ("morfing"). Syntetiske instrumenter basert på fysisk modellering vil også reagere på en ordentlig måte på forskjellige spilleteknikker. Hvis man f.eks. presser hardt på en virtuell fiolinbue, kan man forvente at modellen gir en styggere lyd på samme måte som en ekte fiolin gjør det.

Mange teknikker for fysisk modellering er svært beregningskrevende. Ofte dreier det seg om å løse såkalte partielle differensiallikninger numerisk. Bølgelikningen, som beskriver hvordan bølger forplanter seg, og Navier-Stokes-likningen, som beskriver turbulent luftstrømning, er to slike likninger som dukker opp i musikalske anvendelser. Å løse partielle differensiallikninger koker gjerne ned til å løse lineære likningssystemer med mange tusen likninger og tilsvarende antall ukjente. Dette tar tid.

I de senere år er det imidlertid kommet både maskiner som er raske nok til å gjøre slike ting på en rimelig tid, og nye, mer effektive algoritmer. Fysisk modellering står nå antagelig foran et gjennombrudd både i eksperimentell og kommersiell musikk.

En enkel fiolin-modell

La oss se på et enkelt eksempel hvor vi prøver å etterlikne en fiolinlyd ut fra fysiske betraktninger. I heftet om akustikk så vi at vi kan anvende en eksitator-resonator-modell på fiolinen. Eksitator består av en sagtann-liknende kurve, som stammer fra "slip and grip"-interaksjonen mellom bue og streng. En slik sagtann kan vi enkelt generere i en analog synthesizer eller i datamaskinen.

Resonator består av fiolinkassen og andre mekaniske elementer som filtrerer sagtannkurven fra strengen. Frekvensresponsen til fiolinkassen kan måles i laboratoriet, eller vi kan prøve å regne den ut på grunnlag av kassens form (det er ikke lett!). Vi lager oss så et filter med tilsvarende respons, og kjører sagtannkurven gjennom dette.

Dette er en enkel modell, der vi har utelatt et utall av subtile fysiske effekter. For eksempel vil ikke eksitator gi en ren sagtann-kurve, men en komplisert kurve som bl.a. avhenger av buetrykket.

Et annet problem er at da vi konstruerte resonatoren, tok vi utgangspunkt i fysiske målinger på en virkelig fiolin. Dette gjør modellen lite fleksibel.

Karplus-Strong-algoritmen

"The Karplus-Strong Plucked String Algorithm" er en spesialisert metode for å syntetisere gitar-liknende lyder. Denne algoritmen er kanskje lite fleksibel, men den gir glitrende god lyd og er ekstremt beregningseffektiv.

La oss si at vi sitter på et fast sted på en gitarstreng og observerer hva som farer forbi. På dette punktet har vi også plassert en mikrofon hvor vi plukker opp strengens utslag.

Når strengen klimpres på et punkt et stykke unna oss, vil strengens deformasjon forplante seg utover til begge sider. Vi kan regne med at denne deformasjonen har en nokså tilfeldig form, med et rikt spektrum. På veien mot oss vil imidlertid de høyeste frekvenskomponentene dempes mer enn de laveste. Dette har å gjøre med hvordan friksjonen behandler ulike frekvenser forskjellig. Strengen fungerer altså som et lavpassfilter.

Denne noe lavpassfiltrerte kurveformen farer forbi oss, og blir samtidig plukket opp av mikrofonen. Bølgen farer så videre mot enden av strengen, blir reflektert, lavpassfiltrert en gang til på veien, og kommer tilbake til oss. Slik pendler bølgebevegelsen fram og tilbake, samtidig med at den filtreres stadig mer. Bevegelsen dør da etterhvert ut, og de høyeste frekvensene forsvinner først.

La oss prøve å lage en modell for dette:

picture2545

Forsøk å se sammenhengen mellom forklaringen over og hvordan signalet går i modellen!

Forsinkelsen implementeres som en digital delay. Grunntonefrekvensen har å gjøre med lengden på strengen, og dermed hvor lang tid det tar for bølgen å komme tilbake til vår tapping. Lengden på forsinkelsen vil dermed bestemme grunntonefrekvensen: 1 millisek vil gi 1000 Hz, 2 millisek 500 Hz etc.

Lavpassfilteret kan være av enkleste type. Det er mer enn godt nok å simpelthen ta gjennomsnittet av nåværende og foregående sample. Av dette ser vi at Karplus-Strong-algoritmen nesten ikke krever regnekapasitet i det hele tatt.

Vi ser også at KS-algoritmen i sin enkleste form kan implementeres ved hjelp av en vanlig digitaldelay (effektboks) som er innstilt på en meget liten forsinkelsestid, et lavpassfilter (f.eks. tonekontrollen på en mikser) og en feedback.

Vi starter en note ved å fylle digitaldelayen med en tilfeldig sekvens (hvit støy). Tilfeldigheten gjør at vi får en noe annerledes klang for hvert anslag, og dette øker naturligheten. Denne snutten vil så fare rundt i systemet, samtidig med at den lavpassfiltreres igjen og igjen. Vi ender etterhvert opp med bare grunntonen (en sinus), men den forsvinner også til slutt. Noen eksempler er vist i fig. 5.14-5.16, der vi har brukt identiske parametre hver gang. Tilfeldigheten lager likevel variasjon i resultatet.

  figure2583
Figure:  

  figure2587
Figure:  

  figure2591
Figure:  

Ved å endre gain i feedback-løkken, kan vi styre hvor hurtig lyden skal dø ut. Vi kan si at vi da regulerer friksjonen i strengen.

Karplus-Strong-algoritmen kan utvides på mange måter. Vi kan benytte forskjellige slags filtre i feedback-løkken, filtrere sluttresultatet for å simulere gitarkasse, lage el-gitar-effekter som feedback og fuzz osv. En mykere attack kan oppnås ved å lavpassfiltrere hvitstøyen en gang før selve syntesen starter. Det går også an å putte naturlig lyd inn istedenfor hvit støy (dette er gjort i "Smalltalk" av Paul Lansky).

I det hele tatt er dette en morsom metode å arbeide med. En god demonstrasjon av Karplus-Strong-algoritmen er stykket "Silicon Valley Breakdown" av David Jaffe. Anders Vinjar i Norge har laget musikk som benytter utvidelser av Karplus-Strong-algoritmen. En implementasjon av Karplus-Strong finnes bl.a. i C-Sound.

Waveguides

Karplus-Strong-algoritmen er et spesialtilfelle av en mye større klasse av syntesemetoder basert på fysisk modellering, nemlig syntese ved waveguides. Dette er en helt ny metodikk, som er utviklet av Julius O. Smith III ved CCRMA, Stanford. Som i Karplus-Strong- algoritmen, forsøker man å sette opp digitale forsinkelser som etterlikner mediet som lydbølgene forplanter seg i. Langs disse "bølge-lederne" kan man sette inn elementer som modifiserer signalet på sin vei, f.eks. lavpassfiltre. På den måten kan man løse bølgelikningen på en effektiv og fleksibel måte.

Yamaha har nå satt i produksjon en synthesizer som benytter denne metoden. Den har bare to stemmer og koster 6000 dollar, men vi må regne med at dette bare er begynnelsen på en viktig kommersiell teknologi.

Ved CCRMA har man også utviklet et program for syntese av tale og sang, kalt SPASM, som bruker waveguides. Kvaliteten og fleksibiliteten til dette systemet skal være meget god.

Modal syntese

Det går også an å tenke fysisk modellering mer i frekvensdomenet: Hvilke frekvenser vil kunne finnes i det fysiske systemet, og hvordan vil de utvikle seg? Siden vi da ser på egenskapene til de ulike svingningsmodi som er tilstede, kan vi kalle dette for modal syntese.

Programmet Modalys, som delvis er utviklet ved IRCAM, benytter modal syntese i et system som lar brukeren bygge opp sine egne instrumenter ved hjelp av forhåndsdefinerte virtuelle fysiske objekter.

I Norge har Terje Syversen utviklet teknikker og programvare for modal syntese. Han har også planlagt hardware som skal kunne utføre dette i sann tid. gif


next up previous contents
Next: Lydbehandling og syntese i Up: Digital lydbehandling Previous: Lydbehandling og syntese i

\yvind Hammer
Fri Feb 21 21:39:51 MET 1997