Synteza strun Karplusa-Stronga

Synteza strun Karplus-Strong to metoda syntezy modelowania fizycznego , która zapętla krótki przebieg przez filtrowaną linię opóźniającą, aby symulować dźwięk młotkowanej lub szarpanej struny lub niektórych rodzajów instrumentów perkusyjnych .

Na pierwszy rzut oka technikę tę można postrzegać jako syntezę subtraktywną opartą na pętli sprzężenia zwrotnego podobną do tej stosowanej w filtrze grzebieniowym do analizy transformacji z . Jednak można go również postrzegać jako najprostszą klasę tablicę falową , znaną obecnie jako cyfrowa synteza falowodów , ponieważ linia opóźniająca służy do przechowywania jednego okresu sygnału.

Algorytm wynalazł Alexander Strong, a Kevin Karplus przeprowadził pierwszą analizę jego działania. Wspólnie opracowali programowe i sprzętowe implementacje algorytmu, w tym niestandardowy VLSI . Nazwali syntezę algorytmu „Digitar”, jako kufer dla „gitary cyfrowej”.

Jak to działa

Karplus-strong-schematic.svg


  1. Generowany jest krótki przebieg wzbudzenia (o długości L próbek). W pierwotnym algorytmie był to impuls białego szumu , ale może on również obejmować dowolny sygnał szerokopasmowy , taki jak szybki sygnał sinusoidalny lub przemiatanie częstotliwości, albo pojedynczy cykl fali piłokształtnej lub fali prostokątnej .
  2. To wzbudzenie jest wyprowadzane i jednocześnie podawane z powrotem do linii opóźniającej o długości L próbek.
  3. Wyjście linii opóźniającej jest przepuszczane przez filtr . Wzmocnienie filtra musi być mniejsze niż 1 dla wszystkich częstotliwości, aby utrzymać stabilną pętlę dodatniego sprzężenia zwrotnego . Filtr może być filtrem dolnoprzepustowym pierwszego rzędu (jak na rysunku). W oryginalnym algorytmie filtr składał się z uśrednienia dwóch sąsiednich próbek, co jest szczególnie prostym filtrem, który można zaimplementować bez mnożnika, wymagając jedynie operacji przesunięcia i dodania. Charakterystyka filtra ma kluczowe znaczenie dla określenia struktury harmonicznej zanikającego tonu.
  4. Filtrowane wyjście jest jednocześnie mieszane z wyjściem i podawane z powrotem do linii opóźniającej.

Strojenie struny

00 Częstotliwość podstawowa (w szczególności najniższa niezerowa częstotliwość rezonansowa) sygnału wynikowego jest najniższą częstotliwością, przy której nieopakowana odpowiedź fazowa opóźnienia i filtra w kaskadzie wynosi . Wymagane opóźnienie fazy D dla danej częstotliwości podstawowej F jest zatem obliczane zgodnie z D = Fs / F , gdzie Fs jest częstotliwością próbkowania.

Długość dowolnej cyfrowej linii opóźniającej jest całkowitą wielokrotnością okresu próbkowania. W celu uzyskania opóźnienia ułamkowego stosuje się filtry interpolujące o parametrach dobranych tak, aby uzyskać odpowiednie opóźnienie fazowe przy częstotliwości podstawowej. Można zastosować filtry IIR lub FIR, ale filtry FIR mają tę zaletę, że transjenty są tłumione, jeśli ułamkowe opóźnienie zmienia się w czasie . Najbardziej elementarnym opóźnieniem ułamkowym jest interpolacja liniowa między dwiema próbkami (np. s (4,2) = 0,8 s (4) + 0,2 s (5)). Jeśli opóźnienie fazowe zmienia się wraz z częstotliwością, harmoniczne mogą być wyostrzone lub spłaszczone względem częstotliwości podstawowej. Oryginalny algorytm wykorzystywał równe wagi dwóch sąsiednich próbek, ponieważ można to osiągnąć bez sprzętu mnożącego, co pozwala na niezwykle tanie implementacje.

transformacji Z może być wykorzystana do dokładniejszego uzyskania tonów i czasów zaniku harmonicznych, jak wyjaśniono w artykule z 1983 r., W którym przedstawiono algorytm.

Demonstrację algorytmu Karplusa-Stronga można usłyszeć w poniższym pliku Vorbis . Algorytm wykorzystywał wzmocnienie pętli 0,98 z coraz bardziej tłumiącymi filtrami dolnoprzepustowymi pierwszego rzędu. Wysokość nuty wynosiła A2, czyli 220 Hz.

Utrzymanie stałego okresu (= długości linii opóźniającej) wytwarza wibracje podobne do wibracji struny lub dzwonka. Gwałtowne zwiększenie okresu po wprowadzeniu sygnału transjentowego generuje dźwięki przypominające perkusję.

Udoskonalenia algorytmu

Ze względu na dźwięk szarpanej struny w niektórych trybach, Alex Strong i Kevin Karplus przypuszczali, że algorytm Karplus-Strong (KS) był w pewnym sensie symulacją wibrującej struny i pracowali nad wykazaniem, że rozwiązał on równanie falowe dla wibrującej struny , ale nie zostało to zakończone. Julius O. Smith III [1] uznał, że funkcja przenoszenia KS, postrzegana jako filtr cyfrowy, zbiegła się z funkcją wibrującej struny, przy czym filtr w pętli sprzężenia zwrotnego reprezentuje całkowite straty struny w jednym okresie. Później wyprowadził algorytm KS jako szczególny przypadek cyfrowej syntezy falowodu , który był używany do modelowania fal akustycznych w strunach, rurkach i membranach. Pierwszy zestaw rozszerzeń i uogólnień algorytmu Karplusa-Stronga, zwykle znany jako algorytm Extended Karplusa-Stronga (EKS), został przedstawiony w artykule w 1982 roku na Międzynarodowej Konferencji Muzyki Komputerowej w Wenecji we Włoszech [ potrzebne źródło ] i opublikowane bardziej szczegółowo w 1983 r. w Computer Music Journal w artykule zatytułowanym „Extensions of the Karplus Strong Plucked String Algorithm” autorstwa Davida A. Jaffe i Juliusa O. Smitha oraz w rozprawie doktorskiej Smitha / EE.

Alex Strong opracował doskonałą metodę modyfikacji wavetable do syntezy szarpanych strun, ale opublikował ją jedynie jako patent. [ wymagane wyjaśnienie ]

Aplikacje muzyczne

Pierwsze muzyczne użycie algorytmu miało miejsce w utworze May All Your Children Be Acrobats , napisanym w 1981 roku przez Davida A. Jaffe i przeznaczonym na osiem gitar, mezzosopran i wygenerowaną komputerowo taśmę stereo, z tekstem opartym na Carl Sandburg „ s Ludzie, tak . Jaffe kontynuował badanie muzycznych i technicznych możliwości algorytmu w Silicon Valley Breakdown , na generowane komputerowo szarpane struny (1982), a także w późniejszych utworach, takich jak Telegram to the President, 1984 na kwartet smyczkowy i taśmę oraz Grass na chór żeński i taśmę (1987).

Licencja na patent została udzielona najpierw firmie Mattel Electronics, która upadła jako firma przed opracowaniem jakiegokolwiek produktu korzystającego z algorytmu, a następnie firmie start-up założonej przez niektórych zwolnionych dyrektorów Mattel. Nigdy nie otrzymali wystarczających funduszy, aby zakończyć rozwój, więc nigdy nie wprowadzili produktu na rynek. Ostatecznie Yamaha udzieliła licencji na patent jako część pakietu patentów Sondius ze Stanford. Nie wiadomo, czy jakikolwiek sprzęt korzystający z algorytmu został kiedykolwiek sprzedany, chociaż wydano wiele implementacji oprogramowania (które nie płaciły wynalazcom żadnych opłat licencyjnych).

Chociaż mogą nie być ściśle zgodne z algorytmem, komercyjnie wyprodukowano wiele komponentów sprzętowych do systemów modułowych, które odwołują się do podstawowych zasad syntezy Karplus-Strong: użycie odwróconego, skalowanego systemu sterowania dla bardzo małych wartości czasu w filtrowanej linii opóźniającej do tworzenia grywalne nuty w systemie strojenia Western Tempered, kontrolowane za pomocą śledzenia woltów na oktawę lub danych MIDI. Wynalazcy nie zostali specjalnie wymienieni, chociaż w niektórych podręcznikach pojawia się termin „Karplus-Strong Synthesis”.

Komponenty sprzętowe zdolne do syntezy w stylu Karplus-Strong obejmują Moog Clusterflux 108M, Mutable Instruments Elements, 4ms Company Dual Looping Delay, 2HP Pluck, Make Noise Mimeophon, Arturia MicroFreak i Strymon Starlab.

Cytowania
Bibliografia
  • Smith, Julius O. (1983). Techniki projektowania filtrów cyfrowych i identyfikacji systemów, z zastosowaniem na skrzypcach (doktorat / EE). Uniwersytet Stanford.
  •   Moore, F.Richard (1990). Elementy muzyki komputerowej . Upper Saddle River: Prentice-Hall. ISBN 0-13-252552-6 .

Linki zewnętrzne