Karplus-Strong strengsyntesealgoritmen er en metode til lydsyntese , der består i at sende et kort signal gennem en forsinkelseslinje med et filter. Afhængigt af parametrene kan den resulterende lyd ligne lyden af en streng, ekstraheret ved et hak eller bank , eller til lydene fra nogle percussion-instrumenter .
Denne teknik kan opfattes som feedback-line subtraktiv-granulær syntese , svarende til et kamfilter til z-transform analyse . Det kan også betragtes som det enkleste tilfælde af bølgesyntese , da forsinkelseslinjen fungerer som et lager for en periode af signalet.
Alexander Strong opfandt algoritmen, og Kevin Karplus var den første til at analysere dens funktion. Sammen udviklede de software- og hardwareimplementeringer af algoritmen, herunder en implementering på VLSI . De kaldte algoritmen "Digitar" ( et spil med ord fra den engelske digital guitar - digital guitar).
Grundfrekvensen (mere præcist, den laveste ikke-nul harmoniske) af det modtagne signal er den laveste frekvens, ved hvilken sweep-responsen af lagfasen og filteret i scenen er lig med . Den nødvendige faseforsinkelse D for en given tonehøjde F 0 beregnes med formlen D = F s / F 0 , hvor F s er samplingsfrekvensen .
Længden af enhver digital forsinkelseslinje er et heltalsmultipel af samplingsperioden. For at opnå en fraktionel forsinkelse anvendes interpolerende filtre med parametre svarende til faseforsinkelsen ved den valgte grundfrekvens. IIR- eller FIR- filtre kan bruges , dog har FIR-filtret den fordel, at transient støj undertrykkes, hvis fraktionelle lag ændres over tid. Den enkleste måde at beregne fraktioneret forsinkelse på er at lineært interpolere to samples (f.eks . s (4.2) = 0,8 s (4) + 0,2 s (5)). Hvis faseforsinkelsen ændres med frekvensen, kan de harmoniske forstærkes eller dæmpes fra grundfrekvensen. Den originale algoritme brugte gennemsnittet af to på hinanden følgende samples, hvilket gjorde det muligt at implementere filteret ved kun at bruge addition og bitskift, hvilket gjorde implementeringen meget effektiv.
Det originale arbejde i 1983 påpeger, at Z-transformanalyse kan opnå frekvenser og henfaldstider for harmoniske med højere nøjagtighed.
Resultatet af Karplus-Strong-algoritmen kan høres i den vedhæftede lydfil. Algoritmen bruger en forstærkning på 0,98 med successiv frekvensblødgøring af et førsteordens lavpasfilter. Tonen for anden oktav lyder , 220 Hz .
Karplus-Strong #1 | |
F 1 = 220 Hz | |
Hjælp til afspilning |
En konstant periode (det vil sige længden af forsinkelseslinjen) frembringer en lyd, der ligner strenge eller en klokke. En kraftig stigning i perioden umiddelbart efter signalets start frembringer trommelignende lyde.
Alex Strong og Kevin Karplus indså, at algoritmen er fysisk analog med at registrere afbøjningen af en streng på et fast tidspunkt over tid, og filteret karakteriserer strengens energitab i én periode. Julius O. Smith [1] og andre forskere generaliserede ideen om algoritmen til den digitale bølgeledermetode , som også kan anvendes til syntese af vind- og membraninstrumenter. Det første sæt af udvidelser og generaliseringer blev præsenteret i et papir fra 1982 på International Computer Music Conference i Venedig og offentliggjort med tilføjelser i 1983 i Computer Music Magazine, i artiklen "Extensions of the Karplus Strong Plucked String Algorithm", af David Jaffe og Julius O. Smith [1] .
Alex Strong har skabt en mere avanceret modifikation ved hjælp af wavetables til syntetisering af plukkede instrumenter, offentliggjort som et patent.
Metoder til lydsyntese | |
---|---|
Samplet syntese |
|
Fysisk lydmodellering |
|