Карплус-Стронг алгоритам

Карплус-Стронг алгоритам је метод физичке синтезе моделовања који кратак облик таласа филтрира кроз линије за кашњење да симулирају звук чекића или неке врсте удараљки .

На први поглед, ова техника се може посматрати као субтрактивна синтеза заснована на повратној петљи која је слична оној у комбинованом филтеру за анализу Z-трансформације . Међутим, такође се може посматрати као најједноставнија класа алгоритама за таласну модификацију, који су сада познати као синтеза дигиталних таласних валова, јер линија кашњења делује на смештање једног периода сигнала.

Александар Стронг је изумeо алгоритам, а Кевин Карплус је урадио прву анализу како то функционише. Заједно су развили софтверску и хардверску имплементацију алгоритма, укључујући прилагођени VLSI чип. Назвали су алгоритам "Дигитар" синтеза, као портмантo за "дигиталну гитару".

Принцип рада уреди

 
  1. Ствара се кратак талас ексцитације (узорака дужине L). У оригиналном алгоритму, tо је била експлозија беле буке, али такође може укључивати било коју широкопојасни сигнал као што је брз синусни таласа chirp(сигнал чија фреквенција се повећава или смањује с временом) или фреквенција sweep, или један циклус облика зубаца тестере таласа или квадратног таласа .
  2. Ова ексцитација се производи и истовремено враћа назад у линију одлагањ L узорака дуго.
  3. Излаз линије кашњења се пуни кроз филтaр . Појачање филтра мора бити мање од 1 на свим фреквенцијама, да би се одржала стабилна петља позитивне повратне спреге. Филтер може бити нископропусни филтер првог реда (као на слици). У оригиналном алгоритму, филтер се састојао од просечења два суседна узорка, посебно једноставног филтера који се може имплементирати без мултипликатора, захтевајући само померање и додавање операција. Карактеристике филтра су кључне за одређивање хармоничке структуре пропадајућег тона.
  4. Филтрирани излаз се истовремено меша натраг у излаз и враћа у линију кашњења.

Подешавање низа уреди

Темељна фреквенција (конкретно, најнижа нулта резонантна фреквенција) резултирајућег сигнала је најнижа фреквенција на којој је непремотани фазни одговор кашњења и филтра у каскади   . Потребно кашњење фазе D за дату основну фреквенцију F0 израчунава се према D = Fс/F0, где је Fс фреквенција узорковања.

Дужина било које дигиталне линије кашњења је цео број мултиплициран периодом узорковања. Да би се постигло фракционо одлагање, користе се интерполациони филтери са параметрима одабраним за добијање одговарајућег фазног кашњења на основној фреквенцији. Може се користити или IIR или FIR филтер, али FIR има предност у томе што су пролазни ефекти потиснути ако се фракцијско одлагање с временом мења. Најосновније фракцијско одлагање је линеарна интерполација између два узорка (нпр. s(4.2) = 0.8 s (4) + 0.2 s(5)). Ако кашњење фазе варира у зависности од фреквенције, хармоници се могу изоштрити или спљоштити у односу на основну фреквенцију. Оригинални алгоритам користио је једнако пондерисање на два суседна узорка, јер се то може постићи без хардвера за умножавање, омогућавајући изузетно јефтине имплементације.

Анализа Z-трансформацијe може прецизније одредити зазор и време распадања хармоника, као што је објашњено у раду из 1983. који је увео алгоритам.

Демонстрација Карплус-Стронг алгоритма може се чути у следећој Ворбис датотеци. Алгоритам је користио квоту петље од 0,98 са све слабијим филтрима ниског пропусности првог реда. Опсег ноте био је А2, односно 220 Hz. Држање константе периода (= дужина линије кашњења) ствара вибрације сличне онима жице или звона. Нагло повећање периода након пролазног уноса производи звукове који сличне бубњу.

Побољшања алгоритма уреди

Алекс Стронг и Кевин Карплус су схватили да је алгоритам Карплус-Стронг физички аналоган узорковању попречног таласа на гудачком инструменту, при чему је филтер у повратној петљи представљао укупне губитке низа током једног периода. Јулиус О. Смит Трећи [1] и други генерализовали су алгоритам за синтезу дигиталних таласних валова, који се такође могу користити за моделирање акустичких таласа у цевима и на мембрани бубња. Први скуп проширења и генерализација представљен је у раду 1982. године на Међународној конференцији о рачунарској музици у Венецији, а детаљније је објављен 1983. у часопису Компјутер Мјузик журналу, у чланку под називом „Проширења алгоритма Карплус-Стронг, "Давид А. Џеф и Јулиус О. Смит. [1]

Алекс Стронг је развио супериорну методу за модификацију таласних тачака за синтезу одрезаном струном, али објавио ју је само као патент. [2] [појаснити]

Музичке апликације уреди

Прва музичка употреба алгоритма била је у делу „ May All Your Children Be Acrobats“, које је написао је Давид А. Џеф 1981. године и компоновао за осам гитара, мецосопран и стерео траку са рачунаром генерисаним текстом, заснованим на делу Карла Сандбурга Људи, да . Џеф је наставио да истражује музичке и техничке могућности алгоритма у Распаду Силицијумске долине, компјутерски генерисане жице (1982), као и у каснијим радовима попут Телеграма председнику, 1984. за гудачки квартет и касету и Травнате подлоге за женски хор и трака (1987).

Патент је прво лиценциран за Мател Електроникс, који није успео као компанија пре него што је развијен било који производ који користи алгоритам, а затим стартап компанији коју су основали неки отпуштени Мател руководиоци. Никада нису добили довољно финансијских средстава да заврше развој, па тако ни никада нису довели на тржиште производ. На крају је Јамаха лиценцирала патент, као део Сондијусовог патента из Стенфорда. Непознато је да ли је икада продат било који хардвер који користи алгоритам, мада јесу многе имплементације софтвера (које изумитељима нису плаћали лиценцне накнаде).

Иако се они не могу стриктно придржавати алгоритма, многе хардверске компоненте за модуларне системе су комерцијално произведене које се позивају на основне принципе Карплус-Стронг алгоритма: коришћењем обрнутог, умањеног управљачког система за веома мале временске вредности у филтрираној линији кашњења за креирање репродуктивне ноте у систему за подешавање западне каљене вредности, контролисаним праћењем волта по октави или МIDI подацима. Изумитељи нису посебно заслужни, мада се у неким приручницима наводи и термин „Карплус-Стронг алгоритам“.

Хардверске компоненте способне за синтезу стила алгоритма Карплус-Стронг су Moog Clusterflux 108M, 4ms Company Dual Looping Delay, 2HP Pluck и Аrturia МicroFreak.

Референце уреди

Наводи
  1. ^ Jaffe & Smith 1983
  2. ^ „inventor:(Alexander R. Strong)”. Google Patents. Приступљено 2019-07-17. 
Библиографија

Спољашње везе уреди