Кіріспе

Физикалық модельдеу синтезінің әдісі

Карплюс-Стронг сап синтезі – қысқа толқынды сүзгіленген кешіктіру желісі арқылы қайталап, соғылып немесе тартылған саптың, сондай-ақ кейбір перкуссиялық аспаптардың дыбысын модельдеуге арналған физикалық модельдеу синтезінің әдісі. Алғашқы қарапайым көзқарас бойынша, бұл техника z-трансформациясын талдау үшін тісті сүзгіге ұқсас кері байланыс циклына негізделген, шығару синтезі ретінде қарастырылуы мүмкін. Дегенмен, оны сигналдың бір периодын сақтауға арналған кешіктіру желісінің қатысуына байланысты, қазіргі уақытта цифрлық толқын жетектері синтезі деп аталатын толқындық модификация алгоритмдерінің ең қарапайым түрі деп санауға болады. Александр Стронг бұл алгоритмді ойлап тапты, ал Кевин Карплюс оның жұмыс істеу принципін алғаш талдады. Олар бірлесіп алгоритмнің бағдарламалық және аппараттық түрлерін, соның ішінде арнайы VLSI чипін жасады. Алгоритмді "цифрлық гитара" деген сөздің біріктірілімінен жасалған "Digitar" синтезі деп атады.

Қалай жұмыс істейді

Қысқа қозу толқынының формасы (ұзындығы L үлгі) жасалады. Алғашқы алгоритмде бұл ақ шудың күркіреуі болды, бірақ ол кез келген кең жолақты сигналды, мысалы, жылдам синустық толқынның шырылы немесе жиілік өзгеруі, немесе тісті немесе шаршы толқынның бір циклын да қамтуы мүмкін. Бұл қозу шығарылады және бір мезгілде L үлгілік ұзындығы бар кідіріс желісіне кері беріледі. Кідіріс желісінің шығысы сүзгі арқылы өтеді. Сүзгінің күшейтуі тұрақты оң кері байланыс циклын сақтау үшін барлық жиіліктерде 1-ден кем болуы керек. Сүзгі бірінші реттік төмен өткізгіш сүзгі болуы мүмкін (суретте көрсетілгендей). Алғашқы алгоритмде сүзгі екі жақын үлгінің орташасын алудан тұрды, бұл өте қарапайым сүзгі, оны көбейту операциясынсыз іске асыруға болады, тек ығысу және қосу операциялары қажет. Сүзгінің сипаттамалары жойылатын тонның гармоникалық құрылымын анықтауда маңызды рөл атқарады. Сүзгіленген шығыс бір мезгілде шығысқа қосылады және кідіріс желісіне кері беріледі.

Сызықты баптау

Негізгі жиілік (әсіресе, ең төменгі нөлдік емес резонанстық жиілік) алынған сигналдың ең төменгі жиілігі болып табылады, онда кешіктіру және сүзгінің каскадтағы фазалық жауабының ашылмаған бөлігі болады. Белгілі бір негізгі жиілік F0 үшін қажетті фазалық кешігу D, D = Fs/F0 формуласы бойынша есептеледі, мұнда Fs – дискреттеу жиілігі. Кез келген цифрлық кешіктіру желісінің ұзындығы дискреттеу периодының толық сан еселігі болып табылады. JND (Just Noticeable Difference) деңгейінен төменгі тізгіні дәл реттеу үшін, көбінесе бөлшек кешігу қажет, сондықтан негізгі жиілікте тиісті фазалық кешігуді қамтамасыз ету үшін параметрлері таңдалған интерполяциялық сүзгілер қолданылады. IIR немесе FIR сүзгілерін қолдануға болады, бірақ FIR сүзгілерінің артықшылығы – бөлшек кешігу уақыт өте келе өзгерсе, өткір өзгерістер жойлады. Ең қарапайым бөлшек кешігу – екі үлгі арасындағы сызықтық интерполяция (мысалы, s(4.2) = 0.8s(4) + 0.2s(5)). Егер фазалық кешігу жиілікке байланысты өзгерсе, гармоникалар негізгі жиілікке қатысты күшейе немесе әлсірейе алады. Алғашқы алгоритм екі жақын үлгіге бірдей салмақ берді, себебі мұны көбейту құрылғыларынсыз жасауға болады, бұл өте төмен құнмен жүзеге асыруға мүмкіндік береді. Z-трансформациясын талдау арқылы гармоникалардың биіктігі мен ыдырау уақытын 1983 жылғы мақалада сипатталғандай, дәлірек анықтауға болады. Karplus Strong алгоритмінің демонстрациясын келесі Vorbis файлында тыңдауға болады. Алгоритм 0,98 циклдік күшейтуді және бірінші реттік төмен өткізгіш сүзгілердің күшін арттыруды қолданды. Нотаның биіктігі A2, яғни 220 Гц болды. Кешіктіру желісінің ұзындығын (периодты) тұрақты ұстау, сабының немесе қоңыраудың тербелісіне ұқсас тербелістерді тудырады. Алғашқы сигналдан кейін периодты күрт ұлғайту барабанға ұқсас дыбыстарды шығарады.

Алгоритмге түзетулер

Белгілі бір режимдерде тартылған ішек дыбысының болуына байланысты Алекс Стронг пен Кевин Карплюс Карплюс-Стронг (KS) алгоритмінің белгілі бір дәрежеде дірілдейтін ішек симуляциясы екенін болжады және олар оның дірілдейтін ішекке арналған толқын теңдеуін шешетінін көрсетуге тырысты, бірақ бұл жұмыс аяқталған жоқ. Джулиус О. Смит III KS-нің беру функциясының цифрлық сүзгі ретінде қарастырылғанда дірілдейтін ішектің беру функциясына сәйкес келетінін, ал кері байланыс тізбегіндегі сүзгінің бір период ішіндегі ішектің жалпы шығындарын көрсететінін анықтады. Кейіннен ол KS алгоритмін цифрлық толқын жетекшісі синтезінің ерекше жағдайы ретінде тудырды, ол ішектердегі, түтіктердегі және мембраналардағы акустикалық толқындарды модельдеу үшін қолданылды. Karplus Strong алгоритмінің кеңейтулері мен жалпыламаларының алғашқы жиынтығы, әдетте кеңейтілген Karplus Strong (EKS) алгоритмі деп аталады, 1982 жылы Италияның Венеция қаласында өткен Халықаралық компьютерлік музыка конференциясында ұсынылып, 1983 жылы Computer Music Journal журналында Дэвид А. Джаффе мен Джулиус О. Смиттің "Karplus Strong тартылған ішек алгоритмінің кеңейтулері" атты мақаласында және Смиттің PhD/EE диссертациясында толыққанды жарияланды. Алекс Стронг тартылған ішек синтезі үшін жоғары сапалы толқындық модификация әдісін жасады, бірақ оны тек патент ретінде ғана жариялады.

Музыкалық қолдану

Алғашқы музыкалық қолданылуы 1981 жылы Дэвид А. Джаффе жазған «May All Your Children Be Acrobats» шығармасында болды, ол сегіз гитара, меццо-сопрано және компьютерлік стерео таспасымен ноталанған. Шығарманың мәтіні Карл Сэндбургтың «The People, Yes» туындысынан алынған. Джаффе алгоритмнің музыкалық және техникалық мүмкіндіктерін «Silicon Valley Breakdown» (1982) шығармасында, компьютерлік тартылған ішектер үшін, сондай-ақ кейінірек «Telegram to the President, 1984» (тартылған квартет және таспа үшін) және «Grass» (әйелдер хоры және таспа үшін, 1987) сияқты туындыларында зерттеуді жалғастырды. Патент алдымен Mattel Electronics компаниясына лицензияланды, бірақ алгоритмді қолданатын қандай да бір өнім жасалмастан компания банкротқа ұшырады. Содан кейін патент Mattel басшыларының бір бөлігі құрған стартап компаниясына берілді. Олар жеткілікті қаржы таба алмағандықтан, дамуды аяқтамады және өнімді нарыққа шығара алмады. Ақырында Yamaha патентті Стэнфордтан алынған Sondius патенттерінің бір бөлігі ретінде лицензиялады. Алгоритмді қолданатын аппараттық құралдар сатылды ма, жоқ па, белгісіз, бірақ көптеген бағдарламалық жасақтамалар (өнертапқыштарға лицензиялық төлем жасалмаған) шығарылды. Олар алгоритмге қатаң түрде сәйкес келмесе де, модульдік жүйелерге арналған көптеген аппараттық компоненттер Karplus Strong синтезінің негізгі принциптерін қолдана отырып, коммерциялық өндіріске шығарылды: фильтрленген кешіктіру желісінде өте кішкентай уақыт мәндері үшін инверттік, масштабталған басқару жүйесін пайдаланып, Батыс Темперленген күйінде ойнатуға болатын ноталарды жасау, вольтқа октаваның немесе MIDI деректерінің бақылауымен. Өнертапқыштарға ерекше назар аударылмады, бірақ кейбір нұсқаулықтарда «Karplus Strong синтезі» термині қолданылған. Karplus Strong стиліндегі синтезге қабілетті аппараттық компоненттерге Moog Clusterflux 108M, Mutable Instruments Elements and Rings, 4ms Company Dual Looping Delay, 2HP Pluck, Make Noise Mimeophon, Arturia MicroFreak, Non Linear Circuits Is Carp Lust Wrong? және Strymon Starlab жатады.