Vés al contingut

Síntesi de corda Karplus-Strong

De la Viquipèdia, l'enciclopèdia lliure

La síntesi de corda Karplus-Strong és un mètode de síntesi de modelatge físic que fa circular una forma d'ona curta a través d'una línia de retard filtrada per simular el so d'una corda picada o picada o alguns tipus de percussió.[1]

A primera vista, aquesta tècnica es pot veure com una síntesi subtractiva basada en un bucle de retroalimentació similar al d'un filtre de pinta per a l'anàlisi de transformació z. Tanmateix, també es pot veure com la classe més senzilla d'algoritmes de modificació de taula d'ona coneguts ara com a síntesi de guia d'ona digital, perquè la línia de retard actua per emmagatzemar un període del senyal.[2]

Alexander Strong va inventar l'algorisme i Kevin Karplus va fer la primera anàlisi de com funcionava. Junts van desenvolupar implementacions de programari i maquinari de l'algorisme, inclòs un xip VLSI personalitzat. Van anomenar l'algoritme de síntesi "Digitar", com a acrònim de "guitarra digital".[3]

Com funciona[modifica]

  1. Es genera una forma d'ona d'excitació curta (de mostres de longitud L). A l'algoritme original, es tractava d'una ràfega de soroll blanc, però també pot incloure qualsevol senyal de banda ampla, com ara un xip ràpid d'ona sinusoïdal o un escombrat de freqüència, o un sol cicle d' ona de dent de serra o ona quadrada.
  2. Aquesta excitació s'emet i simultàniament es retorna a una línia de retard L mostres de llarg.
  3. La sortida de la línia de retard s'alimenta a través d'un filtre. El guany del filtre ha de ser inferior a 1 a totes les freqüències, per mantenir un bucle de retroalimentació positiva estable. El filtre pot ser un filtre de pas baix de primer ordre (com es mostra a la imatge). A l'algorisme original, el filtre consistia a fer una mitjana de dues mostres adjacents, un filtre especialment senzill que es pot implementar sense multiplicador, i que només requeria operacions de canvi i suma. Les característiques del filtre són crucials per determinar l'estructura harmònica del to en decadència.
  4. La sortida filtrada es barreja simultàniament a la sortida i es retorna a la línia de retard.

Afinació de la corda[modifica]

Karplus-Strong #1

F1 = 220Hz

Problemes de reproducció? Vegeu l'ajuda

La freqüència fonamental (específicament, la freqüència de ressonància més baixa diferent de zero) del senyal resultant és la freqüència més baixa a la qual és la resposta de fase sense embolcall del retard i el filtre en cascada. . Per tant, el retard de fase D requerit per a una freqüència fonamental donada F 0 es calcula segons D = Fs/F0 on Fs és la freqüència de mostreig.

La longitud de qualsevol línia de retard digital és un múltiple sencer del període de mostreig. Per tal d'obtenir un retard fraccionari sovint necessari per ajustar la corda per sota de JND (just Noticeable Difference), s'utilitzen filtres d'interpolació amb paràmetres seleccionats per obtenir un retard de fase adequat a la freqüència fonamental. Es poden utilitzar filtres IIR o FIR, però el FIR té l'avantatge que els transitoris es suprimeixen si el retard fraccionari es modifica amb el temps. El retard fraccionari més elemental és la interpolació lineal entre dues mostres (per exemple, s(4,2) = 0,8s(4) + 0,2s(5)). Si el retard de fase varia amb la freqüència, els harmònics es poden afinar o aplanar en relació amb la freqüència fonamental. L'algorisme original utilitzava la mateixa ponderació en dues mostres adjacents, ja que això es pot aconseguir sense maquinari de multiplicació, permetent implementacions extremadament barates.

L'anàlisi de la transformació Z es pot utilitzar per obtenir els tons i els temps de decadència dels harmònics amb més precisió, tal com s'explica al document de 1983 que va introduir l'algorisme.

Es pot escoltar una demostració de l'algorisme Karplus-Strong al següent fitxer Vorbis. L'algorisme va utilitzar un guany de bucle de 0,98 amb filtres de pas baix de primer ordre cada cop més atenuants. El to de la nota era A2, o 220 Hz.

Mantenir constant el període (= longitud de la línia de retard) produeix vibracions semblants a les d'una corda o una campana. Augmentar bruscament el període després de l'entrada transitòria produeix sons semblants a la bateria.[4]

Aplicacions musicals[modifica]

El primer ús musical de l'algoritme va ser a l'obra May All Your Children Be Acrobats escrita el 1981 per David A. Jaffe, i amb partitura per a vuit guitarres, mezzosoprano i cinta estèreo generada per ordinador, amb un text basat en Carl Sandburg, La gent, sí. Jaffe va continuar explorant les possibilitats musicals i tècniques de l'algoritme a Silicon Valley Breakdown, per a cordes pinçades generades per ordinador (1982), així com en treballs posteriors com Telegram to the President, 1984 per a quartet de corda i cinta, i Grass per a cor femení i cinta (1987).

La patent es va llicenciar primer a Mattel Electronics, que va fracassar com a empresa abans que es desenvolupés cap producte que utilitzés l'algoritme, i després a una empresa inicial fundada per alguns dels executius de Mattel acomiadats. Mai van obtenir finançament suficient per acabar el desenvolupament i, per tant, tampoc no van portar cap producte al mercat. Finalment, Yamaha va llicenciar la patent, com a part del paquet de patents Sondius de Stanford. Es desconeix si es va vendre algun maquinari que utilitzava l'algoritme, tot i que s'han llançat moltes implementacions de programari (que no pagaven cap taxa de llicència als inventors).

Tot i que potser no s'adhereixen estrictament a l'algorisme, s'han produït comercialment molts components de maquinari per a sistemes modulars que invoquen els principis bàsics de Karplus-Strong Synthesis: utilitzar un sistema de control invertit i escalat per a valors de temps molt petits en una línia de retard filtrada per crear notes reproduïbles al sistema d'afinació Western Tempered, controlades amb seguiment de volts per octava o dades MIDI. Els inventors no van ser acreditats específicament, tot i que el terme "Karplus-Strong Synthesis" es fa referència en alguns dels manuals.

Referències[modifica]

  1. «The Karplus-Strong Algortihm» (en anglès). [Consulta: 22 juny 2024].
  2. «Karplus-Strong String Synthesis» (en anglès). [Consulta: 22 juny 2024].
  3. «https://www.math.drexel.edu/~dp399/musicmath/Karplus-Strong.html» (en anglès). [Consulta: 22 juny 2024].
  4. «Music and Computers» (en anglès). [Consulta: 22 juny 2024].