Algoritm Karplus-Strong

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

Algoritmul Karplus-Strong este o metodă utilizată în domeniul acusticii care manipulează o formă de undă printr-o linie de întârziere cu filtre pentru a simula sunetele corzilor plectrumate ( chitară ) sau de percuție ( pian ). Este o tehnică de sinteză subtractivă bazată pe feedback (buclă de feedback) similară cu cea a unui filtru de pieptene .

Cum functioneazã

  • se generează o formă de undă scurtă (lungimea probelor L) de excitație. În algoritmul original era zgomot alb , dar poate fi orice semnal de bandă largă .
  • această excitație este adusă la ieșire și simultan la feedback într-un lanț de întârzieri (linie de întârziere) eșantioane L lungi.
  • ieșirea lanțului de întârziere este adusă la un filtru . Câștigul filtrului trebuie să fie mai mic de 1 la toate frecvențele. Acesta este de obicei un filtru trece jos de primă ordine.
  • ieșirea filtrată este amestecată simultan cu ieșirea și înapoi la feedback în lanțul de întârziere.

Iată mai multe detalii:

Partea fundamentală a algoritmului Karplus-Strong este utilizarea unui filtru de tip pieptene de tip feedback, pentru a exploata capacitatea intrinsecă a algoritmului de a fi identică din punct de vedere structural cu modelul de ghid de undă fizic mai simplu.

L ' din următoarea formulă pentru un filtru de feedback pe pieptene:

își asumă valoarea rezistenței care devine apoi:

cu funcție de transfer:

Polii din sunt derivate din și, prin urmare, filtrul are L poli pentru echivalent în jurul cercului (în planul complex ) al razei R. Filtrul produce un spectru armonic cu vârfuri corespunzătoare multiplilor întregi ai frecvenței fundamentale

Hz

O undă , considerată ca o perturbație, se propagă prin mediu (limitat la a fi de lungime L ) și sare înapoi și înapoi în conformitate cu condițiile limită care o reglementează. Cu fiecare pas energia este disipată în ramura de feedback. Dacă semnul undei este inversat la fiecare reflecție are un semn negativ și formulele rezultate sunt:

În acest caz, polii vor fi pentru . Aceasta înseamnă că vârfurile corespunzătoare vor fi deplasate cu un unghi egal cu . În acest fel, frecvențele vârfurilor vor fi multipli impari întregi ai frecvenței fundamentale

Hz

Redefinirea filtrului de pieptene

Julius O. Smith III și colab. Au observat că algoritmul Karplus-Strong era fizic analog cu abordarea ghidului de undă a unui semnal. Feedback-ul a reprezentat pierderea totală a unei unde (produsă de exemplu de un șir) pe o perioadă. Datorită acestei intuiții este posibil să se modeleze cu unde acustice deoarece algoritmul Karplus-Strong este structural identic cu modelele mai simple de ghid de undă.

În lumina celor susținute, structura filtrului pieptene poate fi redefinită pentru a sintetiza sunete de tip armonic precum cele produse de o chitară . Modificările care vor fi făcute vor trebui să implementeze o descompunere dependentă de frecvență a armonicelor individuale. Cu alte cuvinte, modulul armonicelor va trebui să se descompună pe măsură ce frecvențele cresc, astfel încât armonicele inferioare să dureze mai mult decât cele superioare. Acest lucru se realizează prin inserarea în direct (nu feedback) a unui filtru low-pass crearea unui filtru de pieptene low pass . Intuitiv, la fiecare pas componentele de înaltă frecvență sunt atenuate mai accentuat decât cele de joasă frecvență. Având în vedere un filtru FIR de ordinul întâi, formulele vor deveni următoarele:

Răspunsul în frecvență corespunzător este:

Rețineți că faza filtrului trece jos adaugă o întârziere suplimentară a probei. În consecință, noua frecvență fundamentală generată va fi:

Aceste mici abateri de frecvență sunt nesemnificative atunci când se consideră o valoare a rezistenței R apropiată de 1.

Acordarea corzii

Întârzierea necesară D pentru o anumită frecvență fundamentală F 1 se calculează conform formulei D = F s / F 1 unde F s este frecvența de eșantionare . Lungimea liniei de întârziere este un număr multiplu al perioadei de eșantionare . Pentru a obține o întârziere fracționată, se utilizează filtre de interpolare . Se pot folosi atât filtre de tip FIR, cât și IIR . Cu filtrele FIR există avantajul că tranzitorii se termină într-un număr finit de pași.

Prin menținerea constantă a perioadei (= lungimea liniei de întârziere), se obțin vibrații similare cu cele ale unui șir sau ale unui clopot . Creșterea perioadei rapid imediat după tranzitorie produce sunete de tip percuziv ( tobe ).

Bibliografie

  • Kevin Karplus, Alex Strong, Digital Synthesis of Plucked String and Drum Timbres , în Computer Music Journal , vol. 7, nr. 2, MIT Press, 1983, pp. 43-55.
  • David A. Jaffe, Julius O. Smith, Extensions of the Karplus-Strong Plucked String Algorithm , în Computer Music Journal , vol. 7, nr. 2, MIT Press, 1983, pp. 56-69.

Alte proiecte

linkuri externe

Muzică Portal muzical : accesați intrările Wikipedia care se ocupă de muzică