Muzikaal Gepiel dl. 2: Karplus–Strong Synthese

De output U[n] is dus opgebouwd uit een "DC-component" e en twee gedempt harmonische signalen:

P[n] = 2 · ρ[SUB]3 [/SUB]· ρ[SUB]1[/SUB][SUP]n[/SUP] · cos(φ[SUB]1[/SUB] · n + φ[SUB]3[/SUB])

Q[n] = 2 · ρ[SUB]4 [/SUB]· ρ[SUB]2[/SUB][SUP]n[/SUP] · cos(φ[SUB]2[/SUB] · n + φ[SUB]4[/SUB])

Voor dit topic zijn vooral de waarden ρ[SUB]1[/SUB] en ρ[SUB]2[/SUB] (voor de demping) en φ[SUB]1[/SUB] en φ[SUB]2[/SUB] (voor de frequenties) van belang.
 
Even terug naar berichtje #40:

40.png

Daaruit zien we dat:

ρ[SUB]1[/SUB] = √(a[SUP]2[/SUP] + b[SUP]2[/SUP])
ρ[SUB]2[/SUB] = √(c[SUP]2[/SUP] + d[SUP]2[/SUP])


Zodat voor ons geval:

ρ[SUB]1[/SUB] = 0,94312
ρ[SUB]2[/SUB] = 0,74975

Dus Q[n] wordt duidelijk sterker gedempt dan P[n].
 
Verder met φ[SUB]1[/SUB] en φ[SUB]2[/SUB] .

φ[SUB]1[/SUB] = arg( a + bi )
φ[SUB]1[/SUB] = 1,390836 rad

φ[SUB]2[/SUB] = arg( c + di )
φ[SUB]2[/SUB] = 2,672642 rad

In principe kunnen φ[SUB]1[/SUB] en φ[SUB]2[/SUB] aftelbaar oneindig veel waarden hebben (aangezien e[SUP]ix[/SUP] periodiek is), maar ervan uitgaande dat aan het nyquistbemonsteringscriterium voldaan is moeten we - zoals hier gedaan - de kleinste niet-negatieve waarden kiezen.
 
Je hebt het steeds over "we" en "ons", maar volgens mij ben je hier toch echt voornamelijk tegen en met jezelf aan het praten. :z

Zit er een idee achter deze topics, want het lijkt voornamelijk alsof je heel erg bezig bent je wiskundeknobbel te etaleren zonder dat het verder ergens heen lijkt te gaan. Mag natuurlijk, maar het oogt allemaal wat manisch.
 
Het gebruik van "we" en "ons" is standaard in theoretische lectuur zonder dat de schrijver ook maar de illusie heeft dat het geschrevene door veel mensen gelezen of gewaardeerd zal worden. Wie er niet in geïnteresseerd is hoe dingen in elkaar steken kan mijn theoretische topics dan ook gerust negeren, daar is voor hen dan niets aan verloren.

Wel bevreemdt mij de anti-wetenschappelijke geest die hier kennelijk rond waart: men maakt dankbaar gebruik van de wonderen der techniek, maar enige belangstelling voor de theoretische grondslagen daarvan wordt niet gewaardeerd...
 
Anti-wetenschappelijk ben ik zeker niet, ik vraag mij gewoon af wie je denkt met deze schermen vol formules en getallen een plezier te doen. Voor mij voelt het een beetje als op een forum voor schilders te komen om vervolgens imposante chemische structuren van bepaalde verfsoorten uit te werken, terwijl de overige leden voornamelijk geïnteresseerd zijn of bepaalde soorten verf lekker op het doek smeren en of de kleur na 10 jaar nog steeds mooi is.
 
Ik zie het probleem niet, als dat forum voor schilders ook een subforum voor theoretische zaken heeft kunnen zulke discussies in dat subforum gewoon gevoerd worden zonder dat iemand daar ook maar last van hoeft te hebben. Zo zijn er ook allerlei aspecten aan synthesizers: hun prijs, nieuwe en oude modellen, bijeenkomsten van liefhebbers, met synthesizers gemaakte muziek, etc. En ja - ook de onderliggende theorie van synthesizers is zo'n aspect! Voor (nagenoeg) alles wat met synthesizers te maken heeft lijkt mij hier op dit forum een toepasselijke plaats (= subforum) te zijn, en het een hoeft het ander dan ook beslist niet in de weg te zitten.

Wel zal mijn publiek nogal beperkt zijn omdat de theorie van digitale signaalbewerking is nu eenmaal een zwaar wiskundig karakter heeft.
 
Een analoog harmonisch signaal kan worden geschreven als:

S(t) = A·cos(2πf·t + θ)

Sampling met een sample-tijd van T[SUB]s[/SUB] en sample frequentie van f[SUB]s[/SUB] geeft dan voor het gesamplede signaal S[n] dat:

S[n] = S(t[SUB]n[/SUB])
S[n] = A·cos(2πf·t[SUB]n[/SUB] + θ)
S[n] = A·cos(2πf·(T[SUB]s[/SUB] · n) + θ)
S[n] = A·cos(2πf·n/f[SUB]s[/SUB] + θ)
S[n] = A·cos((2πf)/f[SUB]s[/SUB] · n + θ)

Wanneer omgekeerd een gesampled signaal S[n] = A·cos(φ·n + θ) gegeven is (en weer aan het nyquistbemonsteringscriterium voldaan is), dan kunnen we de frequentie f van het oorspronkelijk analoge signaal S(t) daar aldus uit terug vinden:

(2πf)/f[SUB]s [/SUB]= φ
f = (φ·f[SUB]s[/SUB])/(2π)
f = φ/(2π) · f[SUB]s[/SUB]

Toegepast op P[n] en Q[n] geeft dit:

f[SUB]1[/SUB] = φ[SUB]1[/SUB]/(2π) · f[SUB]s[/SUB]
f[SUB]1[/SUB] = 0,22136 · f[SUB]s[/SUB]

f[SUB]2[/SUB] = φ[SUB]2[/SUB]/(2π) · f[SUB]s[/SUB]
f[SUB]2[/SUB] = 0.42536 · f[SUB]s[/SUB]


Echter klopt deze uitkomst (voor N=5) niet met de bekende Karplus-Strong formule:

f = f[SUB]s[/SUB]/(N + ½)
f = 0,18182 . f[SUB]s[/SUB]


Wat nu?
 
Dat de hier gevolgde heuristische procedure tot de correcte oplossing moet leiden kan men in een goed wiskundeboek over differentievergelijkingen nazoeken, aan de gebruikte methode kan het verschil tussen de door ons gevonden grondfrequentie en de uitkomst van de Karplus-Strong formule dus niet liggen. Wel zou ik ergens een foutje gemaakt kunnen hebben...
 
We zijn uitgegaan (in berichtje #35) van deze differentievergelijking:

U[n] = 1/2 . ( U[n-4] + U[n-5] )

Echter denk ik bij nader inzien dat die vergelijking niet geldt voor N=5, maar voor N=4. Dan hebben we immers:

Click image for larger version  Name:	4.png Views:	1 Size:	10,1 KB ID:	3695127

Berekenen we nu de grondfrequentie f met de Karplus-Strong formule voor N=4 dan vinden we: f = 0,22222 . f[SUB]s[/SUB] . En dat is nu vrijwel gelijk aan ons hier afgeleide resultaat: f[SUB]1[/SUB] = 0,22136 · f[SUB]s[/SUB]
 
Laatst gewijzigd:
We zijn uitgegaan (in berichtje #35) van deze differentievergelijking:

U[n] = 1/2 . ( U[n-4] + U[n-5] )

Echter denk ik bij nader inzien dat die vergelijking niet geldt voor N=5, maar voor N=4.
Berekenen we nu de grondfrequentie f met de Karplus-Strong formule voor N=4 dan vinden we: f = 0,22222 . f[SUB]s[/SUB] . En dat is nu vrijwel gelijk aan ons hier afgeleide resultaat: f[SUB]1[/SUB] = 0,22136 · f[SUB]s[/SUB]

Dit is een wel heel vrijpostige verklaring van het afwijkende resultaat. Waarom geldt het dan niet voor N=5 maar wel voor N=4? En war zijn dan de restricties van N? En waarom zijn die dan niet vermeld? Zeker als het domein restricties kent dienen die te worden vermeld want zijn onderdeel van het model.
En wat ik al helemaal niet begrijp is dat je precies wilt weten hoe het werkt, vervolgens een volledige formele afleiding beschrijft en aan het eind neem je genoegen met “nee, weet je wat? Als ik N=4 neem dan lijkt mijn uitkomst een heel klein beetje op het resultaat dat ik verwacht”...

Ik ben wel blij dat je er geen QED onder gezet hebt. Ik denk dat je het wetenschappelijk op zult moeten lossen door of je afleiding na te lopen op fouten (reken- en denk-fouten) of dat je concludeert dat deze afleiding niet overeen lijkt te stemmen met de waarnemingen (waarbij de waarneming in dit geval de aanname is dat de gegeven differtiaalvergelijkingen correct zijn). Mislukken is geen zonde, foutjes zijn snel gemaakt. Resultaten naar je hand zetten met niet onderbouwde kunstgrepen is wel een (wetenschappelijke) zonde.

Ik ga heel eerlijk zeggen dat ik niet de moeite wil nemen om je hele afleiding na te lopen (of zelf de afleiding te doen). Hoewel ik zelf een wetenschappelijke opleiding heb genoten is voor mij muziek maken vooral een creatieve bezigheid. Ik vind het interessant om de uitgangspunten van de verschillende geluidssynthese methodieken te begrijpen maar ik hoef ze niet formeel te bewijzen. Zie ook je topic over fm synthese.

Als een implementatie van een model voor snaar synthese klinkt als een geplukte snaar dan is dat voor mij genoeg bewijs dat het model (tot op het oor waarneembaar niveau) een goed model is voor een geplukte snaar. Overtuigender dan jouw afleiding en jouw “verklaring” voor het afwijkende resultaat.

Neemt niet weg dat ik je topics blijf volgen want hoewel ik zelf de moeite niet neem is het interessant om andermans moedige pogingen te volgen. Als je nog steeds de motivatie hebt om iets te willen afleiden dan kan k je aanraden om helemaal opnieuw te beginnen en daarna zien of je op een ander resultaat uitkomt. Al je stappen controleren is vaak lastig omdat je snel dezelfde denkfout opnieuw maakt. Alleen rekenfouten kun je zo opsporen. Het beste zou zijn om een ander er naar te laten kijken... maar zoals gezegd: ik opt-out..
 
Dank voor de reactie! Mijn onderbouwing dat de gebruikte differentievergelijking hoort bij N=4 in plaats van bij N=5 (zoals ik eerst dacht) bestaat uit het in berichtje #50 geplaatste tekeningetje. Ik had al wel eerder gezien dat je voor N=4 wel een goede overeenkomst met mijn eigen uitkomst krijgt, maar dat was voor mij niet genoeg om te besluiten dat het dus N=4 moest zijn. Pas nadat ik nog eens goed had nagetrokken voor welke N de differentievergelijking waarop mijn hele afleiding gebaseerd is nu eigenlijk geldt werd het mij duidelijk dat die vergelijking inderdaad bij N=4 hoort. Dat kun je ook zelf aflezen uit het in berichtje #50 geplaatste tekeningetje. Er is dus ook geen sprake van "niet onderbouwde kunstgrepen". Dat laatste zou inderdaad een wetenschappelijk zonde zijn, waar ikzelf ook niet van gediend ben. Het enige dat nu nodig is om te zien of de fout hiermee gevonden is, is dat iemand met een grondige kennis van discrete signaalverwerking even nakijkt of de differentievergelijking waarop mijn afleiding gebaseerd is (te weten: U[n] = 1/2 . ( U[n-4] + U[n-5] ) ) hoort bij N=4 of bij N=5 (of bij nog iets anders?). In algebra ben ik goed thuis, maar discrete signaalverwerking is nieuw voor mij.
 
Back
Top