15 april 2012, 11:29
|
#161
|
|
Rutger Teunissen
Geregistreerd: 12 november 2009
Berichten: 716
|
Van Der Pol heb ik helaas in de ijskast moeten zetten, Roland. Er zijn zoveel belangrijke, slapende functies in WaveWizard die actief moeten gaan worden in de upgrade in september (ik wilde al voor die tijd hier een beta-versie posten).
Hierboven noemde ik al de LPC-vocoder.
Op dit moment werk ik aan de galm-functie en breid het Feedback Delay Network uit van 4 naar 16 lijnen, waardoor een veel hogere mode density mogelijk zal worden. Elke lijn krijgt ook een eigen filterbank.
Dan is ook het grafisch systeem op de schop gegaan en uitgebreid naar 3D met ray tracing. Een deel daarvan is al klaar (zie http://muziekexact.nl/NLT/sonogram_e..._landschap.pdf), want veel mensen zien sonogrammen ook wel eens graag als 3D berglandschap.
Ook wordt er in de versie die ik hier gebruik al automatisch lineair geïnterpoleerd, zodat je ingewikkelde stuursignalen of laag frequente ruis kunt maken zonder ingewikkelde code te moeten schrijven.
Juist vanwege experimenten met galm is ook een verdubbeling van de maximale frequentieresolutie van de Fourieranalyse nodig. Daarom wordt de FFT uitgebreid van 16 naar 17 bits, waardoor de maximale resolutie wordt verdubbeld tot Fs/(2^17) = 0,33 Hz ofwel een duur van 2,9 sec.
Zo zijn er nog tal van andere zaken meer op de achtergrond die aangepast of aangevuld moeten worden.
Na sept hopelijk tijd voor Van Der P.
Wel kom ik van de week nog even terug op die knik van audiocollage, als ik tijd heb
|
|
|
|
15 april 2012, 15:51
|
#162
|
|
Vintage lid
Geregistreerd: 14 oktober 2008
Woonplaats: NL
Berichten: 1.426
|
Oorspronkelijk geplaatst door WaveGuide7
|
Wel kom ik van de week nog even terug op die knik van audiocollage, als ik tijd heb
|
Ik niet.
Boeiend die update, ben benieuwd!.
Hier alvast een preview van een galm experimentje uit SoundLab II. Met het virtuele keyb of anders los midi keyb te bespelen. Nu is dit random galm tot delay, maar deze kan ook sequensbaar veranderen. Have fun:
http://www.synthforum.nl/forums/show...00#post1497100
Laatst gewijzigd door roland kuit; 15 april 2012 om 16:02
|
|
|
|
16 april 2012, 18:41
|
#163
|
|
Vintage lid
Geregistreerd: 14 oktober 2008
Woonplaats: NL
Berichten: 1.426
|
Dat Delay netwerk klinkt ook lekker. Met de G2 heb ik er 1 van 6 delay's gebouwd dmv modal resonators en deze in een DX7 FM matrix gezet. Waardoor je al de 32 FM algoritmes erop kan loslaten. Geen operators maar met galm dan.
|
|
|
|
16 april 2012, 18:52
|
#164
|
|
Rutger Teunissen
Geregistreerd: 12 november 2009
Berichten: 716
|
Misschien moeten we even oppassen voor spraakverwarring.
De matrix waarvan sprake is bij FDN is een matrix in puur wiskundige zin, met heel precies omschreven (stabiliteits-)eigenschappen. Wat ik moet verstaan onder een "DX7 FM matrix" in verband met galm is me niet helemaal duidelijk.
|
|
|
|
16 april 2012, 19:19
|
#165
|
|
Vintage lid
Geregistreerd: 14 oktober 2008
Woonplaats: NL
Berichten: 1.426
|
De DX7 FM matrix is een schakelmogelijkheid om 32 algoritmen te verkrijgen. Hierin zijn FM operators(sinus osc's) dragers of modulators (met FM input) met feedback. Mijn schakeling bevat die operators niet. Deze zijn vervangen door de bovengenoemde 'resonators' met dezelfde feedback mogelijkheden als in bijgevoegd plaatje.
|
|
|
|
16 april 2012, 19:37
|
#166
|
|
Rutger Teunissen
Geregistreerd: 12 november 2009
Berichten: 716
|
Ben benieuwd hoe galm via zo'n FM matrix klinkt!
Hieronder een voorbeeldje van de (slapende) FDN implementatie in WaveWizard.
Ik gebruik hier een 4X4 Householder matrix. Dat is een type matrix dat een optimum aantal reflecties veroorzaakt.
De filtering is zoals in Karplus - en dus niet optimaal. Vandaar de wat metaal-achtige klank. Er zijn ook 4 early reflecties.
(Werk nu aan een 16 X 16 versie en betere filtering)
|
|
|
|
19 april 2012, 17:58
|
#167
|
|
Vintage lid
Geregistreerd: 14 oktober 2008
Woonplaats: NL
Berichten: 1.426
|
Toch terugkomend op de Barberpole generator. Ik heb hier een lineaire maar deze geeft een exp stijging zonder knik. 8 fases.
Mijn vraag: hoe is die knik bij Audiocollage's geluid erin gekomen?
|
|
|
|
20 april 2012, 10:54
|
#168
|
|
Rutger Teunissen
Geregistreerd: 12 november 2009
Berichten: 716
|
Oorspronkelijk geplaatst door roland kuit
|
|
Mijn vraag: hoe is die knik bij Audiocollage's geluid erin gekomen?
|
Tja, alleen audiocollage kan dat vertellen, maar ik ben vooral benieuwd naar het antwoord op de vraag: hoe krijg je een frequentiestijging met NM lineair?
|
|
|
|
20 april 2012, 14:39
|
#169
|
|
Rutger Teunissen
Geregistreerd: 12 november 2009
Berichten: 716
|
Die vraag is voor de sound designer natuurlijk erg interessant (ook al zijn we in de muziek exponentiële stijging of daling gewend, zoals de toonladder en het pitch bend wiel). Een lineair stijgende toon is immers het geluid dat je hoort bij periodieke bewegingen met constante hoekversnelling. Bijvoorbeeld rollende voorwerpen of met een fiets een helling afrijden terwijl je een stok langs de spijlen van een hek laat ratelen.
|
|
|
|
20 april 2012, 15:27
|
#170
|
|
Vintage lid
Geregistreerd: 14 oktober 2008
Woonplaats: NL
Berichten: 1.426
|
Daar ga ik mij zeker over buigen. Zat nog even te stoeien met het maken van een digi rampwave. Daarna lag dit natuurlijk in het verlengde
http://www.synthforum.nl/forums/show...43#post1499043
|
|
|
|
21 april 2012, 12:34
|
#171
|
|
Rutger Teunissen
Geregistreerd: 12 november 2009
Berichten: 716
|
Is die knik nou hoorbaar of niet?
|
Citaat:
|
audiocollage: (http://www.synthforum.nl/forums/show...&postcount=143)
Die knik waar Guide7 het over heeft begrijp ik wel maar die kan je n.m.i. gehoormatig maskeren door de golfvorm te verrijken. Het gaat tenslotte om wat je hoort niet omwat je ziet.
Hoewel ik deze stelling ook wel interessant vind : "denk je echt dat ons gehoor zo slecht is dat je de knikpunten in dit sonogram alleen maar kunt waarnemen met je ogen en niet met je oren?"
|
Kun je de knik maskeren?
Een luide sinustoon kan een iets hogere of lagere sinus die veel zachter is maskeren. Maar de afstand van een octaaf is te groot voor maskering. Bovendien knikken bij Shepard-barber alle sinussen tegelijk. Dus zelfs al duwt een luide sinus een vlakbij gelegen zwakkere broeder aan de kant, de knik doet zich ook voor bij de sterkere.
De knik zou onhoorbaar kunnen worden als je die maar heeeeeeeeeel klein is. Maar wat noem je klein? In de preset hieronder stijgt een sinus eerst 20 sec van 1000 naar 2000 Hz en dan in nog eens 20 sec van 2000 naar 4000 Hz, precies zoals in audio's Shepard. De knik is duidelijk hoorbaar. Je kunt de preset zo uitbreiden dat de knik op een onvoorspelbaar tijdstip plaats vindt. Maar ook dan is de knik steeds goed hoorbaar. Het is alsof je in een accelerende auto zit en plotseling nog verder in de kussens wordt geduwd doordat de gaspedaal abrupt geheel wordt ingetrapt).
Let even op de nogal forse rekentijd (op mijn nieuwe laptop 65 sec). En dat voor slechts 40 sec geluid... Dat komt omdat dit een heel omslachtige manier van berekenen is. In de nieuwe versie van WaveWizard, die ik binnenkort als testversie hier hoop te posten, gaat dit veel comfortabeler en sneller. Daarover later meer.
|
|
|
|
21 april 2012, 14:36
|
#172
|
|
Vintage lid
Geregistreerd: 14 oktober 2008
Woonplaats: NL
Berichten: 1.426
|
Mooi WaveGuide, inderdaad lastig.
De G2 manier is minder omslachtig. Tekenen met controller waarden:
ps: @Audiocollage, dank voor je puzzle. Erg leuk om te onderzoeken.
Laatst gewijzigd door roland kuit; 21 april 2012 om 15:02
|
|
|
|
21 april 2012, 16:46
|
#173
|
|
Rutger Teunissen
Geregistreerd: 12 november 2009
Berichten: 716
|
Ja lastig inderdaad, maar wel erg instructief voor de werking van toongeneratoren met tijdveranderlijke frequentie!
In de nieuwe versie krijg je de volgende code, die niet alleen simpeler en universeler is, maar, in dit geval, ook ruim 14 maal zo snel:
|
Code:
|
Declareer duur
Data F1[0] 1000 2000 4000
duur = 20*Fs
Toongenerator
Frequentie (Hz of TOETS) F1[n/duur]
Amplitude 8000
Golfvorm sinus
Spoor: S?[?] S2[0]
Duur duur*2
Aantal harmonischen 1 |
Dat deze code werkt komt omdat de nieuwe versie van WaveWizard altijd automatisch lineair interpoleert in alle buffers. Discrete signalen zijn daardoor te beschouwen en te behandelen als continue signalen.
Hierboven worden in buffer F1 drie frequentiewaarden gezet (het hadden er ook 10 of 100.000 mogen zijn).
De Toongenerator zal voor sample n = 0 de waarde F1[0] lezen. Die is 1000 Hz.
Voor sample n = duur, leest hij F1[duur/duur] = F1[1] = 2000 en voor de laatste sample, n = 2*duur, leest hij F1[2*duur/duur] = F1[2] = 4000.
Alle tussenliggende samples worden automatisch geïnterpoleerd. Bijv. voor sample n = 1, krijg je F1[1/duur] = 1000,00113378685 Hz. Daar is de frequentie dus met ietsje meer dan een duizendste Hertz verhoogd. Dat getal kun je overigens direct uitlezen met instructie:
Door deze automatische interpolatie is het bijvoorbeeld heel gemakkelijk om laagfrequente ruis op te wekken die in heel veel processen als stuursignaal dient (bijv. chorus-effect, of tijdvariante galm). Ook envelop-generatoren met mogelijk vele duizenden segmenten kun je zo gemakkelijk aanmaken.
Er komen trouwens, naast de lineaire, ook nog andere vormen van interpolatie: Bezier- en spline, en vooral, wat minder bekend als numerieke interpolator, maar veel gebruikt in bijv. neurale netwerkmodellen, de sigmoïde, waarbij een overgang van 0 naar 1 vloeiend en een instelbare helling gebeurt, zoals bij de activatie van zenuwcellen. Interessante muzikale toepassing: toongeneratoren met portamento voor simulatie van een vloeiende toonhoogte-sprong, zoals bij zang. Je kunt zo een MIDI-bestand in portamento modus laten klinken.
|
|
|
|
21 april 2012, 17:44
|
#174
|
|
Vintage lid
Geregistreerd: 14 oktober 2008
Woonplaats: NL
Berichten: 1.426
|
Inderdaad snelle code. De zijsprongen zijn inderdaad geweldig leuk en leerzaam. Door websites neurologie in het kader patterns/logic erg leuke associatieve patches verkregen. Zo ook laatste pch SoundLab draad, waarin de barberpole in een logic experimenterende manier een audio processing betekenis krijgt. A la Bode.
http://www.synthforum.nl/forums/show...=150483&page=3
|
|
|
|
21 april 2012, 22:48
|
#175
|
|
Rutger Teunissen
Geregistreerd: 12 november 2009
Berichten: 716
|
Ook in de DSP-literatuur, waar het gaat om adaptieve filters, tref je, sinds zo'n jaar of 20, hoofdstukken over neurale netwerken, die in zekere zin zijn de beschouwen als adaptieve filters. Ik raakte daarin geïnteresseerd door LPC, dat eigenlijk ook een adaptief systeem is.
Hieronder een afbeelding van de sigmoïde curve, die z'n naam dankt aan die S-vorm. Er zijn een aantal vormen van getekend. De functie heeft een parameter waarmee je de steilheid kunt instellen. De sigmoïde gebruik je in al die situaties waarin je een curve wenst die in begin- en eindpunt ongeveer horizontaal lopen. Typisch muzikaal voorbeeld noemde ik al: portamento.
De code daaronder is een nieuw grafisch commando om functies te tekenen of de inhoud van buffers grafisch weer te geven. Je kunt hier het functievoorschrift direct intypen.
|
|
|
|
1 mei 2012, 14:26
|
#176
|
|
Rutger Teunissen
Geregistreerd: 12 november 2009
Berichten: 716
|
Galm d.m.v. 16 kanaals FDN
De nieuwe versie van WaveWizard zal over een hoogwaardige galm-functie beschikken die bestaat uit een 16-kanaals Feedback Delay Netwerk (FDN 16 X 16). Afgelopen weken opnieuw geïmplementeerd en getest. FDN is, zeker de laatste tien jaar, de state of the art methode voor de opwekking van galm en is superieur aan de klassieke Schroeder-Moorer serie-parallelschakeling van all pass / comb filters die sinds de jaren 80 de dienst uitmaakten - en nog steeds ("Freeverb").
Het grote probleem met galm is dat je niet alleen een zeer hoge dichtheid aan reflecties moet maken, maar vooral dat die dichtheid zo snel mogelijk tot stand moet kunnen komen. Er moet echt sprake zijn van een lawine aan reflecties. Je kunt de kwaliteit van galm het snelst en het best testen met een puls, net zoals je de akoestiek van een zaal het best en 't snelst test door een handklap of het doorprikken van een ballonnetje. Goede galm geeft dan pure ruis als output die heel gelijkmatig (maar ook weer niet TE gelijkmatig), exponentieel dempt en desgewenst ook geleidelijk doffer gaat klinken. Er mag geen duidelijke amplitude-modulatie te horen zijn (waardoor de ruis tijdens uitdempen afwisselend harder en zachter wordt) en er mogen geen opvallende toontjes in zitten ("ringing"). Die verschijnselen wijzen op een te geringe "mode density" ofwel het niet snel genoeg op gang komen van de reflecties.
WaveWizard had al jaren een "slapende" FDN 4X4, maar daarin waren die bijverschijnselen zo goed hoorbaar (mp3 post #166) dat ik de functie niet toegankelijk heb gemaakt. Met 4 delaylijnen wordt de dichtheid niet snel genoeg bereikt en krijg je altijd amplitudemodulatie en, met name bij muziek waarin steeds dezelfde tonen terug komen, een heel storende "ringing". Het is mij nooit gelukt om de lengten van de delaylijnen zo te kiezen dat die storende bijgeluiden niet optreden. Het is zoeken naar een speld in een hooiberg, zeker als het om galmtijden van langer dan een halve seconde gaat.
Maar met die 16 delaylijnen is dat heel andere koek! De kans op het vinden van goede delay-tijden (altijd HET grote twiek-probleem bij reverb) is heel aanzienlijk. Binnen een paar minuten heb je een goede set gevonden. Elk kanaal heeft een eigen feedback-loopfilter, waarmee je de galm "warmer" kunt maken (hoge tonen die sneller dempen dan lage). Aangezien WaveWizard allereerst bedoeld is om geluidseffecten en hun implementaties te leren snappen, heb je directe toegang tot alle parameters van het FDN netwerk. Dat zijn er om precies te zijn 115... Natuurlijk zou het enorm omslachtig en onverstandig zijn om voor al die instellingen aparte invul-velden te maken; je experimenteert veel sneller en efficiënter als je die instellingen kunt regelen via een preset, waardoor je op een gestructureerde manier groepen van parameters tegelijk kunt instellen. Zo kun je het typische twiek-werk dat gewoonlijk achter de schermen plaats vindt, zelf doen en zo een beter idee krijgen van hoe digitale galm werkt.
In de bijlage een typische pulsrespons van het 16-kanaals FDN netwerk van WaveWizard.
Zoals je hoort kun je ook de early reflections instellen (ook 16).
|
|
|
|
1 mei 2012, 15:09
|
#177
|
|
Vintage lid
Geregistreerd: 14 oktober 2008
Woonplaats: NL
Berichten: 1.426
|
Geweldige galm! Mooie densiteit.
|
|
|
|
1 mei 2012, 15:59
|
#178
|
|
TB or not TB
Geregistreerd: 25 april 2005
Woonplaats: Zak met Friet
Berichten: 3.468
|
Dit is pressies het soort galm waar ik al jaren naar opzoek ben. Tot nu tot was alleen convolutie een oplossing die voor mij goed was (afhankelijk van de impuls natuurlijk), maar dit heeft ook dat natuurlijke wat ik mis bij zelfs belachelijk dure hardware reverbs.
Ik wil hier een kastje van hebben zodat ik het in een life situatie kan toepassen
|
|
|
|
1 mei 2012, 17:17
|
#179
|
|
Vintage lid
Geregistreerd: 14 oktober 2008
Woonplaats: NL
Berichten: 1.426
|
@Patat, ja, ik vond de galm ook zo natuurlijk en mooi warm klinken..linken..inken..ken..nnn
|
|
|
|
2 mei 2012, 13:51
|
#180
|
|
Rutger Teunissen
Geregistreerd: 12 november 2009
Berichten: 716
|
Dank je, Roland! Een tijdje terug zag ik een NM-patch van jou, waarin je zo maar eventjes een complete galm-module van de plank haalde... Daar heeft WaveWizard het nakijken, dacht ik, en heb toen die FDN 4X4 nog eens beluisterd en direct besloten tot die uitbreiding naar 16 delay-feedbacklijnen...
|
|
|
|
| Discussietools |
Zoek in deze discussie |
|
|
|
Regels voor berichten
|
Je mag geen nieuwe discussies starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken
HTML-code is Uit
|
|
|
Alle tijden zijn GMT +2. Het is nu 22:40.
|
| |