Karplus-Strong synthese

In het kort:

De ruis stuur je naar een VCA gestuurd door een envelop.
Dit signaal stuur je naar een mixer.
De uitgang van de mixer stuur je naar een delay waarvan je de delay tijd erg kort kunt zetten (2ms en hoger)
De uitgang van de delay stuur je naar een filter (6dB) zonder resonantie (dit is erg belangrijk).
Dit signaal stuur je terug naar de mixer en je kunt het signaal daar ook aftappen als audio out.

Hier zijn ook nog wat variaties op dmv een allpass filter of dubbele delay lines e.d.. Zeer interessante klanken kun je er mee maken.



Deze structuur is, globaal gezien, die van een feedback-circuit zoals idd ook in Karplus Strong (KS) wordt toegepast. Maar ik heb wel problemen met de specificatie van het filter.

"6 dB": geen dwingende eis. "zonder resonantie" daarmee bedoel je waarschijnlijk dat het geen feedbackfilter mag zijn, want alleen feedbackfilters hebben een oneindige pulsresponsie (waardoor ze kunnen "resoneren", zelfs bij 0 Hz). Maar ook die eis is niet dwingend, zoals je zelf al aangeeft, want je noemt het gebruik van een all pass filter in KS; een all pass filter is per definitie een feedbackfilter - zonder feedback is all pass niet realiseerbaar.) Je kunt gerust een feedbackfilter gebruiken, maar dan krijg je wel stabiliteits issues, juist omdat KS van zichzelf al een feedbacksysteem is: het feedbackfilter moet dan "unitair" zijn en elke frequentie doorlaten met een factor kleiner dan 1. Dan moet je een voorversterking (of beter: verzwakking) heel exact kunnen uitrekenen. Daarnaast veroorzaken feedbackfilters dispersie (frequentie-afwijkingen in de boventonen, zodat die niet meer harmonisch zijn en metaal-achtig gaan klinken) en dat kan soms juist gewenst zijn.

Wil je die problemen allemaal uisluiten, zoals Karplus en Strong, dan maak je geen gebruik van een feedback-filter, maar van een feedforwardfilter. Dat forward is bij snaarpluk het buzz-word. K en S nemen steeds het gemiddelde van twee opeenvolgende samples, m.a.w: zij werken met een 1ste orde FIR met coefficienten gelijk aan 1/2. FIR-filters hebben de eigenschap dat ze niet kunnen resoneren (Finite Impulse Response). Daardoor zijn zowel instabiliteit als dispersie van meet af aan uitgesloten.

FIR-filters kunnen wel "antiresoneren" dwz zekere frequenties volledig onderdrukken. Bij KS wordt precies de Nyquistfrequentie geheel weggedrukt (dat is de halve samplingfrequentie), terwijl de 0-Hz component wordt doorgelaten met sterkte exact 1. Dat betekent dat KS "inherent" stabiel is en dat de feedbacklus altijd zal neigen naar stilte (behalve die 0 Hz "toon" dan, maar die haalt je versterker wel weg; als-ie dat niet doet dan moet je ervoor zorgen dat de ruis die je het circuit instuurt geen 0 Hz-component bevat (zero mean noise) Ik zou dat laatste trouwens altijd doen om rare plopgeluiden te voorkomen.
 
De beschrijving (volgens mij uit Computer Music Tutorial van Curtis Roads ;) ) die je geeft beschrijft een model in software en is onmogelijk te maken met een modulair systeem. De TS werkt volgens mij met een modulair en vroeg om een simpele patch...dus violá.

Uit eigen ervaring kan ik meegeven dat experimenteren het toverwoord is. Ik heb op diverse systemen KS synthese (MaxMSP - SC - Kyma - NM - CSound) gemaakt en wat op 1 systeem prima werkt werkt niet op het anderen.
 
Karplus-Strong IS software...

Verder snap ik je punt wel. En modulaire systemen die je noemt ken of heb ik (Kyma-Capybara), maar uiteindelijk heb je software als WaveWizard of Matlab nodig om echt direct Karplus Strong te doen en echt goed te kunnen experimenteren.

Enne... Computer Music Tutorial.... doe me een lol zeg...;) de literatuur over dit onderwerp is bijv PASP van Smith, en heb vorig jaar beschreven in de Physical Modeling draad bijv. https://www.synthforum.nl/forums/showpost.php?p=1202928&postcount=60
 
Karplus-Strong IS software...

Ben ik niet mee eens. KS is een model welke je kunt maken met diverse systemen. Wil je accuraat simuleren dan kun je beter met software werken maar hardware werkt prima.

Sterker nog....de eerste keer dat ik het model hoorde was op een Hitachi analoge computer (lees complex modulair systeem).
 
Ben ik niet mee eens. KS is een model welke je kunt maken met diverse systemen. Wil je accuraat simuleren dan kun je beter met software werken maar hardware werkt prima.


Uit mijn vorige posts in deze draad en de verwijzingen die ik heb gegeven naar mijn omschrijving van Karplus-Strong in de draad over Physical Modeling mag, hoop ik, voldoende duidelijk zijn dat ik hier onder "software" een computer-algoritme versta. Ik heb in de Physical Modeling draad aan de hand van een simpel rekenvoorbeeldje uitgelegd hoe dat algoritme in elkaar steekt, zonder wiskunde te gebruiken.

Karplus-Strong is (door de beiden heren zelf) gepresenteerd als een computer algoritme. Analyseer je dat algoritme nader (en die analyse zul je NIET aantreffen in dat afgrijselijke onboek Computer Music Tut, een boek dat louter de verdienste heeft dat 't met z'n 2000 pagina's lekker lang brandt), dan kom je tot de conclusie dat het is te beschrijven als een wiskundige vergelijking. Die vind je op pagina 120 van de NLT-module Sound Design. Daar heb ik 'm aangeduid als de snaarplukvergelijking en wiskundig afgeleid. (Leerlingen wordt eerst gevraagd zelf de eigenschappen van die vergelijking te bewijzen en snaarpluk te realiseren, en er vervolgens mee te experimenteren, en muzikaal toe te passen, als ze willen in een eigen compositie.)

De snaarplukvergelijking is op zijn beurt weer niets andes dan een doodgewoon filter. Elk filter is trouwens wiskundig te beschrijven als een vergelijking (op verschillende manieren zelfs). Dit laatste waren Karplus en Strong zich aanvankelijk niet bewust. De eerste die snaarpluk als (differentie)vergelijking beschrijft was de boven al genoemde Julius Orion Smith. Je vindt de afleiding in zijn proefschrift en eigenlijk in elk boek over signaalverwerking, want dat je een filter beschrijft als vergelijking was in de achttiende eeuw al bekend. Sinds kort is het dan ook eindelijk middelbare-schoolstof!

Als jij KS graag een model wilt noemen, dan is dat jouw keus, niet de mijne, maar ik lig er niet wakker van.
Ik noem Karplus Strong een speciale filtervergelijking, nl. de snaarplukvergelijking.
 
Sly Dog, op de Nord Modular is het heel makkelijk te maken. Je kunt het eens in de G2 demo proberen, om te kijken wat voor effect het geeft. En we kunnen het ook wel een keertje op m'n evolver proberen, 't klinkt best tof :)
 
@ Fourier, @ ProtoHuman

Het zou natuurlijk heel interessant zijn als je een mp3 zou maken van de Karplus-Strong implementatie op het modulair systeem dat je gebruikt. Gewoon een enkele toon van bijv. 10 sec, zonder toevoeging van galm of zo. Ik ben heel benieuwd om te horen hoe dat klinkt en om er een analyse van te maken en te bepalen hoe hoog het "Karplus-Strong-gehalte" ervan is.
Is dat dan onomstotelijk vast te stellen? Onder simpele voorwaarden: ja. Zoals gezegd is KS een filter. Een filter kun je altijd herkennen aan z'n amplitudekarakteristiek die vertelt hoe sterk elke frequentie wordt doorgelaten (zie SynthWiki ->Filter). Hoe kun je de amplitudekarakteristiek van snaarpluk vaststellen? Precies zoals je dat doet voor elk willekeurig filter: stuur een puls door het filter, voer op de output de FFT uit, bepaal aan de hand daarvan het amplitudespectrum en maak daar een plaatje van.
De karakteristiek die je van het snaarplukfilter krijgt hangt slechts van 1 parameter af: de toonhoogte die je kiest (= de lengte van de delay-lijn). Je kunt in de karakteristiek van snaarpluk uiteraard ook de frequentie aflezen van de "eigentoon" van het gebruikte snaarpluk-circuit. Ook andere eigenschappen (dispersie, de aard van het interne loopfilter etc) kun je er uit aflezen.

Lijkt me leuk om de karakteristieken van jullie KS-tonen hier te posten en te vergelijken met die van wat Karplus en Strong zelf deden. (TS wil immers niet alleen KS zelf maken, maar ook graag snappen hoe 't werkt.)
 
...
De karakteristiek die je van het snaarplukfilter krijgt hangt slechts van 1 parameter af: de toonhoogte die je kiest (= de lengte van de delay-lijn).
...
Juist deze parameter is n.m.i. de voornaamste belemmering om KS op analoge wijze te bekomen.
Spanningsgestuurde analoge delays ???
Bovendien nog met zeer korte, stabiele en nauwkeurige tijdspanne om muzikaal bruikbaar te worden.
 
audiocollage,

spanningsgestuurde analoge delays, ze bestaan wel, dacht ik, maar waar ik het meest benieuwd naar ben is dat filter dat ze gebruiken, zoals hieboven al opgemerkt.
Het probleem met modulaire systemen is dat je in de handleiding meestal niet of niet voldoende informatie vindt over de specificaties van het filter. Om allerlei mooie geluiden te maken is dat natuurlijk ook geen enkel probleem, maar bij Karplus ligt dat anders. Daar plaats je dat (vaag gespecificeerde) filter in een delay-loop en dat is bijzonder precair, om redenen die ik al noemde. Dit filteren binnen een delay-lus (algemener: binnen een waveguide) is een van de moeilijkste problemen van Physical Modeling, en het is noodzakelijk voor bijv. de realisatie van zowat elke eigenschap van de snaar zoals die tot trilling komt op een akoestische gitaar of op een piano, zoals frequentie-afhankelijke demping, dispersie en met name de overdracht van de snaartrilling op de brug (die de geluidsenergie door geeft aan de klankkast). In PASP worden boekdelen gewijd aan dit probleem.


Fourier, ProtoHuman,

als je een Karplus-Strong voorbeeld-toon maakt, kun je elke toonhoogte kiezen, maar voor de analyse is het 't duidelijkst en simpelst als je een wat hogere frequentie kiest, bijv. in de buurt van 1000 Hz. De reden hiervan is dat er dan binnen het hoorbare frequentiegebied niet zoveel boventonen zijn en dat maakt de amplitudekarakteristiek wat helderder.
(bij een samplingfrequentie van 44kHz (zoals CD) heeft een toon van 1000 Hz 22 harmonischen, een toon van 100 Hz heeft er 220).
 
Juist deze parameter is n.m.i. de voornaamste belemmering om KS op analoge wijze te bekomen.
Spanningsgestuurde analoge delays ???
Bovendien nog met zeer korte, stabiele en nauwkeurige tijdspanne om muzikaal bruikbaar te worden.

Persoonlijk ben ik niet heel erg geinteresseerd in het perfecte model van een snaar. Dan neem ik wel een echte snaar. Het gaat mij juist om de muzikale toepasbaarheid. De imperfectie van het model in verschillende systemen boeit mij en zorgt juist voor inspiratie. Ook het veranderen van bepaalde waardes waardoor de snaar niet meer als een snaar klinkt zijn erg interessant en leveren voor mijn muziek heel bruikbaar materiaal op.

Ik heb ooit een compositie geschreven voor klavecimbel en tape waarbij de tape geheel bestond uit synthetische snaren die op verschillende manieren werden gemanipuleerd waardoor en een klanklaag onstond die je normaal niet op een klavecimbel kan creëren.

Op verzoek van Waveguide 7 zal ik, als ik tijd heb, wel wat voorbeeldjes posten van snaren die ik ooit heb gemaakt.

Fijne jaarwisseling allemaal :biertje:
 
@ fourier
Ook ik beoordeel een klanksysteem uiteindelijk om de mate van expressiviteit. Wel heb ik heel andere opvatting over "perfectie". Een perfect model van een snaar kan naar mijn gevoel alleen maar een model zijn dat juist al die ingewikkelde "imperfecties "van de trillende snaar en de interactie tussen snaar en klankkast tot uitdrukking brengt. De klank van een echte snaar is juist zo boeiend omdat die het resultaat is van een zeer complex trillingsgedrag dat nog steeds niet volledig wordt begrepen.
Karplus-Strong op zichzelf vind ik om die reden dan ook muzikaal niet erg interessant, het is imperfect omdat het de imperfecties van echte instrumenten niet bevat.
Ook ben ik het met je eens dat je er heel veel aan toe kunt voegen, bijv door er filters achter te plaatsen en de parameters daarvan aan te sturen door eigenschappen van snaarpluk zelf (in de MP3's van de NLT Module Sound Design vind je daar voorbeelden van).

Niettemin speelt Karplus het toch maar klaar om met extreem weinig middelen, voor extreem weinig rekentijd de voor het oor belangrijkste eigenschap van de trillende snaar te realiseren, nl. de frequentie-afhankelijke demping. Ga er maar aan staan om dat met een filter te regelen zodanig dat alle harmonischen niet alleen huin eigen dempingstijd hebben, maar ook nog eens exponentieel (dus zoals stemvorken) dempen - en dat laatste is een absolute vereiste voor de benadering van een (getokkelde of aangeslagen) snaarklank. Daarom is en blijft Karplus een van de meest populaire en verbluffende vormen van computerklanksynthese. (en ook heel instructief)

Ik ben erg benieuwd naar je snaar-tonen!

Beste wensen allemaal voor 2011. :biertje:
 
Bij deze schop ik dit draadje maar eens omhoog.
Ik ben samen met iemand anders bezig om een electrische gitaar in onze softsynth te hangen.
We zijn al een aardig eind op weg, en we hebben nu het standaard karplus-strong model erin zitten.
Maar nu willen we graag de klank hiervan veranderen zodat het beter op een echte electrische gitaar lijkt.

Ik heb alleen even geen idee in welke richting we dit moeten zoeken, en als ik deze thread zo lees is hier wel wat karplus-strong kennis aanwezig. :D
Dus wie zou ons wat tips kunnen geven.

voorbeeldje
Dit is een voorbeeldje van onze opzet in actie, met een relatief cleane string, en een akkoordje door een distortion heen gehaald.
 
Hoi Waveguide, het volgende zinnetje bleef nog een na-echo'en bij me
hoe hoger de frequentie van de boventoon des te korter de dempingstijd
Mag ik ook stellen dat het filter (en karakteristiek ervan) hierbij bepalend zijn voor de snelheid, ipv de frequentie van de boventoon zelf??

Als ik de module goed heb begrepen, komt de snellere demping van de hogere frequenties (vd ruis input) omdat die logischerwijs als eerste worden afgekapt na x-keer door het lowpass filter te zijn geweest. (successive echo's?)

Klopt het, dat als ik in de plaats van een Low-pass een High-pass in het circuit zet, dat de stelling omkeert? Dus hoe lager dan de frequentie hoe korter de dempingstijd daarvan?

Zoja, is het dan niet logischer dat het filter hier bepalend is en niet de hoogte van de boventoon?? (die is niet van invloed op z'n eigen dempingstijd, het filter wel)
 
Roland: Het is onze eigen software synthesizer, ik heb al met die feedback zitten spelen maar dat wil nog niet echt de klank teweeg brengen waar ik naartoe wil.

Ik heb net ook even op de g2 zitten stoeien met mijn karstrong-plus testing patch, variations 1 tm 3 zijn verschillende distortion instellingen, en 4 geeft af en toe flinke daft punk geluiden als je wisselt tussen 3 en 4. ;)

g2 snaar patch
 
Back
Top