WaveWizard

...en die te ring moduleren met een klank van een ander slot. Dan kan, maar het is anders.

Ja, heel anders! HET grote verschil is dat convolutie een lineaire bewerking is (sinus-in, sinus-uit); je doet niks anders dan reflecties toevoegen aan een geluid. Terwijl ringmodulatie nonlineair is: er ontstaan frequentie-componenten die in geen van beide signalen aanwezig waren.
(ringmodulatie is een spectrale convolutie; filteren is een tijdconvolutie).

Gisteren schoot door mijn hoofd de pulsresponsies van een tam-tam en daarmee de klank van een trombone te convolveren. Helaas geen G2 werk. Zat nog te denken aan het re-synthetiseren van een bepaalde nagalm van 1 slot(de hardware NM en de NMG2 hebben 4 slots ,zeg maar klank sporen). en die te ring moduleren met een klank van een ander slot. Dan kan, maar het is anders.

die tam-tam-trombone lijkt mij een geweldig idee!
Maar waarom doe je dat niet gewoon met WW?
 
zojuist nieuwe betaversie geupload:

WaveWizard_2012_BETAVERSIE_december.exe


die je kun downloaden via link hieronder in handtekening

Een van de vele nieuwigheden: in de convolutie-functie (FIR-filter) is een extra parameter: schaalfactor. Daardoor hoef je wav-pulsresponsies niet eerst op te schalen voordat je B]FIR-filter[/B] aanroept.
De nieuwe code luidt:

Code:
FIR-filter
  Input                   S1[0]
  Output                  S2[0]
  coef's                  F1[0]
  M                       100
  Duur (ook 'sec')        10*Fs
  Additief ('j' of 'n')   n
  Schaalfactor coef's     1
 
Ha Rutger, Wat een prachtige en mooie code. En weer een update. Bedankt :okdan:.
Waarom niet met WaveWizz vroeg je. Natuurlijk ga ik daar mee stoeien. Maar ik wil daar eerst goed tijd voor kunnen maken. Alleen dan kan ik echt inhoudelijk op je programma reageren. Nu blijft het bij vragen. Waar mogelijk wil ik wel de G2 en WW vergelijken. Wat een bijna onmogelijke opgave is. Ik blijf WW interessant als tool vinden. Compositorish weet ik het nog niet. Maar dat is alleen een gevoel en tijdsgebrek.
 
TUTORIAL CONVOLUTIE

TUTORIAL CONVOLUTIE

Hoi Roland. Ja, tijd is inderdaad altijd een lastig punt. Daarom hier een tutorial voor de convolutie.
Ik blijf even bij dat yoghurt-bakje en de weerman. Je kunt daar zelf gemakkelijk iets anders van maken.

De volgende handelingen moeten worden uitgevoerd:
(1) open wav pulsrespons;
(2) zet pulsrespons op spoor S3 d.m.v. Preset 1;
(3) open wav van een of ander geluid;
(4) doe convolutie d.m.v. Preset 2.


Preset 1: de pulsrespons op spoor S3 zetten
Open het wav-bestand dat de pulsrespons (de "tik") bevat. Dit is meestal een signaal van slechts enkele tientallen milliseconden en in het meest extreme geval, bijvoorbeeld de galm in een kerk, een seconde of 7 - 10.
Als je een geluid opent, komt dat automatisch op sporen S1 en S2 te staan. Neem aan dat de pulsrespons mono is (stereo kan ook, maar dat wordt ietsje ingewikkelder). We moeten die pulsrespons verplaatsen voordat we het te bewerken geluid (weerbericht) kunnen openen.

Je moet WaveWizard dus eerst vertellen hoeveel samples verplaatst moeten. Dat aantal hangt af van twee dingen:
(1) de duur van de pulsrespons in seconden; de pulsrespons van yoghurt-bakje is 0,013 sec. (dat getal geeft WaveWizard door met de rechter muis te klikken op het puntje van de "staart" van de golfvorm)
(2) de sampling frequentie. In WaveWizard geef je die aan met 'Fs' dat een default-waarde heeft van 44100.

Er moeten dus 0,013 X 44100 samples worden verplaatst. Uiteraard ga je dat niet zelf uitrekenen, maar laat dat over aan WaveWizard door in te typen: 0,013*Fs

Het verplaatsen van de samples doe je met een heel simpele en uitermate krachtige instructie: "Bewerk signaal". Daarmee kun je niet alleen een signaal verplaatsen, maar ook versterken, verzwakken, mixen met een ander signaal, echo's toevoegen; je kunt er zelfs, met een extreem korte formule, Karplus Strong mee doen, of resonantiefilters mee maken. In modulair zou je vele verschillende modules nodig hebben voor wat je hier realiseert met een enkele, zeer eenvoudige instructie. In dit geval doen we er niks anders mee dan wat samples op een ander spoor zetten. De code luidt:

Code:
!********************************************
! Preset 1: de pulsrespons op spoor S3 zetten
!********************************************
Bewerk signaal
  n0          0
  n1          0,013*Fs       ! 0,013 seconden
  Bewerking   S3[n] = S1[n]


Nu de pulsrespons op spoor S3 staat, kun je het te bewerken geluid openen. Neem even aan dat ook dit mono is. En dat het 14 seconden duurt.
Nu kun je de convolutie doen d.m.v. onderstaande code. De laatste parameter, 'Schaalfactor coef's', moet je experimenteel vaststellen. Dat doe je door te beginnen met bijv. '1' in te vullen. Als 'FIR-filter' klipt, dan krijg je een melding (in Memo, dat is het grijze veld, links boven in het scherm) en weet je dat 'Schaalfactor coef's' kleiner moet worden. Maak 'm maar gelijk 10 of 100 of 1000 keer zo klein.
Als je eenmaal een waarde hebt gevonden die niet tot klip's leidt, dan kun je met 'Schaalfactor coef's' het volume van de output fijnregelen.
(Merk op dat ook hier de precizie orden van magnituden groter is dan bij NM, nl. zoals altijd bij WaveWizard, 14 cijfers achter de komma.)

Tussen haakjes, van de code-blokken hoef je altijd alleen maar de rechter kolom zelf in te vullen; de namen van de parameters, zoals 'Input'
of 'Additief ('j' of 'n')' worden automatisch geprint in Commando-venster als je een betreffende menu-functie hebt aangeklikt. Bij bijna alle menu-functies is de rechter kolom ook al ingevuld, bij wijze van voorbeeld.

Code:
!************************************
! Preset 2: de eigenlijke convolutie:
!************************************
 
FIR-filter
  Input                   S1[0]
  Output                  S2[0]
  coef's                  S3[0]
  M                       0,013*Fs     ! duur puls
  Duur (ook 'sec')        14*Fs        ! duur geluid
  Additief ('j' of 'n')   n
  Schaalfactor coef's     4*10^(-6)    ! 4 X 0,000001

Dus alles bij elkaar realiseer je deze universele signaalbewerking (die met NM onuitvoerbaar is) in WaveWizard door slechts 12 regels tekst....
 
snaarpluk (Karplus-Strong)-tonen laten klinken in akoestische gitaar-kast

snaarpluk (Karplus-Strong)-tonen laten klinken in akoestische gitaar-kast

Een voorbeeld van convolutie dat misschien wat muzikaler is dan dat yoghurt-bakje, is snaarpluktonen laten klinken op de plaats waar ze vandaan komen: de klankkast van een akoestische gitaar! De impulsrespons daarvan krijg je door een tik op het voorblad van de gitaar te geven.
Snaarpluktonen kun je met WaveWizard niet alleen maken door een rechtstreekse formule (zie NLT-module Sound Design), maar, wat comfortabeler, aanzienlijk sneller en ook wat meer toegespitst op muziek, d.m.v. de Feedback-generator.
Met de convolutie tutorial hierboven kun je zelf een "gitaar-"preset bouwen, die je uiteraard ook met een MIDI-bestand kunt aansturen.
MIDI heb je overigens voor testen niet altijd nodig. Je kunt met WaveWizard op simpele wijze (1 regel tekst) alle "toetsen van de piano" laten horen, d.w.z. een chromatische toonladder maken en daar de snaarpluk-gitaar mee bespelen, zoals in de preset hieronder, die ook de snaarpluk-kast-convolutie uitvoert.
Resultaat van de preset hoor je in de bijgevoegde MP3.
Merk op hoe mooi je bij sommige toonhoogten de resonanties van de gitaar-body kunt horen!
 

Attachments

  • Preset convolutie snaarpluk met pulsrespons gitaarbody.txt
    2,6 KB · Bekeken: 157
  • chromatische toonladder snaarpluk convolutie met gitaarbody.mp3
    1,2 MB · Bekeken: 126
zo maar eens een software checklijstje

zo maar eens een software checklijstje

Nu we in deze draad zo vaak verschillende software-pakketten vergelijken met WW, zou je n.a.v. die resonanties van de klankkast van een akoestische gitaar (hierboven) voor jezelf eens kunnen nagaan of je met de software die jij (ik bedoel iedereen die dit leest) gebruikt het volgende kunt:


(1) een spectrumplaatje maken waarin de resonantie-frequenties van de gitaarkast direct zijn af te lezen.

(2) een spectrumplaatje maken waarin de sterkten van die resonanties direct zijn af te lezen.

(3) de gitaarkast "doorfluiten" (zie #302: https://www.synthforum.nl/forums/showpost.php?p=1560286&postcount=302) met een lineair toenemende frequentie, zodat je ook zonder spectrum-analyse een plaatje kunt maken waarin de resonantiepieken duidelijk zijn af te lezen.

(4) het pulsrespons-signaal van de gitaarkast zo bewerken dat de resonanties sterker of zwakker worden?

(5) het pulsrespons-signaal van de gitaarkast zo bewerken dat de resonanties terecht komen bij andere, door jouzelf opgegeven frequenties?

Vanuit praktisch-muzikaal standpunt gaat het natuurlijk vooral om punten (4) en (5). Maar die laten ook goed zien dat je daarvoor die analysefuncties (1) t/m (3) ook nodig hebt om precies datgene te doen waar het in electronische- en computermuziek vooral om draait: de controle over het klankproces maximaliseren.

Post jouw resultaten hier!
 
Toevallig geef ik een NMG2 lezing Modular reflections and shape in maart op de
Göteborgs universitet, Zweden.
Dat gaat over van alles hoor: klankkast, ambiophonics t/m granulaire delays.


Heel interessant, Roland, maar het gaat nu vooral even over concrete antwoorden op de concrete vragen:

... zou je n.a.v. die resonanties van de klankkast van een akoestische gitaar (hierboven) voor jezelf eens kunnen nagaan of je met de software die jij (ik bedoel iedereen die dit leest) gebruikt het volgende kunt:

(1) een spectrumplaatje maken waarin de resonantie-frequenties van de gitaarkast direct zijn af te lezen.

(2) een spectrumplaatje maken waarin de sterkten van die resonanties direct zijn af te lezen.

(3) de gitaarkast "doorfluiten" (zie #302: https://www.synthforum.nl/forums/show...&postcount=302) met een lineair toenemende frequentie, zodat je ook zonder spectrum-analyse een plaatje kunt maken waarin de resonantiepieken duidelijk zijn af te lezen.

(4) het pulsrespons-signaal van de gitaarkast zo bewerken dat de resonanties sterker of zwakker worden?

(5) het pulsrespons-signaal van de gitaarkast zo bewerken dat de resonanties terecht komen bij andere, door jouzelf opgegeven frequenties?
 
effectitiviteit math-functies Reaktor en WaveWizard vergeleken

effectitiviteit math-functies Reaktor en WaveWizard vergeleken

Reaktor 7.5.10 Math
Math Modules form the backbone of every REAKTOR Structure. Very simple but essential operations can easily be implemented using Math Modules. For example, mixing two signals together (at equal amplitude) entails adding the two signals using the Add Module. Also, setting the amplitude of a signal can be done by multiplying the signal by a constant value. The multiplication is done with the Multiply Module and the constant value usually is delivered by the Constant Module or a Knob of Fader Module. This is not to say that the amplitude of a signal cannot be determined by something completely different, like the output signal of an envelope.

Math functions in Reaktor:

Constant
Add
Subtract
Invert, -x
Multiply
Mult/Add, a*b+c
Reciprocal, 1/x
Divide, x/y
Modulo, x%y
x||Rectify, |x|
Rectify/Sign
Compare
Compare/Equal
Quantize
Expon. (A)
Expon. (F)
Log. (A)
Log. (F)
Power, x^y
Square Root
1 / Square Root
Sine
Sine/Cosine
ArcSin
ArcCos
ArcTan

Al deze "math-atomen" heeft WaveWizard ook (behalve dat Compare/Equal in huidige versie alleen nog in de vorm van "iteratie-begrenzingen" bestaat, maar dat is wel de belangrijkste toepassing ervan). De grote zwakte van modulair, vind ik, is dat in dit rijtje twee fundamentele operatoren ontbreken, nl. direct voor de gebruiker toegankelijke lees-en schrijf-operatoren van sample-buffers. Daarom wordt het extreem moeilijk, zo niet onmogelijk, om zelf grotere "math-moleculen" te bouwen, zoals convolutie, correlatie, FIR- en IIR-filters, DFT, LPC-analyse, om slechts enkele te noemen. WaveWizard heeft daarvoor zowel zeer snelle "van de plank"-vormen, maar je kunt ze ook zelf van de grond af opbouwen met behulp van de fundamentelere math-atomen, waaronder de lees- en schrijf-operatoren en natuurlijk de iteratieve instructies zoals "Bewerk signaal" en "FOR...TO...NEXT".

Dit is een van de belangrijkste redenen waarom WaveWizard veel en veel krachtiger dan Reaktor, zoals de convolutie-en spectrumanalyse-voorbeelden in deze draad al lieten zien.
 
(https://www.synthforum.nl/forums/showpost.php?p=1576268&postcount=66)
Laboratory of Patching, Roland:

Ik ben net begonnen met de Modular IV uit te spitten van Sonic Core. Na dit alles ben ik er aan toe om meer in de core te gaan werken. Daarmee kom ik meer op jouw terrein. En eerlijk gezegd, kijk ik daar met verlangen naar uit. .
Uiteindelijk zijn alle modules in Virtual Analog gewoon stukjes code.
Maar eerst ga en wil ik dit doen(de M IV).

Ik heb ook gekeken naar de specs van Modular IV van Sonic Core. Niets ontdekt dat erop zou kunnen wijzen dat hier DSP-mogelijkheidsbarrières van bijv Clavia NM, Max of Reaktor zouden worden doorbroken - wellicht is de rekensnelheid hoger, maar daarmee overstijg je geen ontwerpgebonden grenzen (een auto kun je meer motorvermogen geven zodat hij harder kan, maar daarmee wordt het geen vliegtuig of duikboot). Daarom begrijp ik de tijdsinvestering die je in Sonic Core wilt gaan doen niet goed. Het is allemaal meer van hetzelfde, wel heel gelikt en commercieel aantrekkelijk, maar geen quantumsprong in de richting van het echte DSP-werk. Soms denk ik wel eens dat men in de modulaire wereld eenzijdig focust op wat er binnen een bepaalde ontwerpomgeving kàn. Ik heb altijd een andere vraag gesteld: wat wil ìk kunnen? Met welke middelen kan ik dat bereiken?
Bijoorbeeld die twee vragen die ik hierboven stelde:

(4) het pulsrespons-signaal van de gitaarkast zo bewerken dat de resonanties sterker of zwakker worden?
(5) het pulsrespons-signaal van de gitaarkast zo bewerken dat de resonanties terecht komen bij andere, door jouzelf opgegeven frequenties?

Dat zijn heel concrete, simpele, voor de hand liggende, muzikaal geïnspireerde vragen; ik vind die reso's van de gitaarkast gewoon onwerkbaar hard. Geeft DSP-theorie mij de middelen om daar iets aan te doen? Ja, duizelingwekkende, opwindende, inspirerende middelen. Kan ik die realiseren via modulair? Hell no. Waarom niet? Nou, onder vele anderen door wat ik al opmerkte in #411.
 
Laatst gewijzigd:
Begrenzingen voelen comfortabel en zijn ook prima om open te breken.

Wat voor gevoel begrenzingen oproepen is natuurlijk voor iedereen weer anders, maar met te zeggen dat ze prima zijn open te breken kom je op een tegenspraak: iets waarvan de begrenzing kan worden opengebroken houdt immers op een begrenzing te vormen.
En dat is precies waar het hier over gaat: de begrenzing van modulair is een echte - dus niet open te breken - begrenzing. Dat wil zeggen dat je de set van mogelijkheden van modulair alleen maar kunt vergroten door modulair te verlaten en andere methodes te gaan gebruiken.

Als je de "klankruimte" (de verzameling van alle mogelijke geluiden) voorstelt als een cirkel, dan stel ik me de relatie tussen DSP-software en modulair voor zoals in onderstaand plaatje:

attachment.php
.

Dit drukt dus ook uit dat met DSP-software niet alle mogelijke geluiden gemaakt kunnen worden. Bijvoorbeeld een piano, een zangstem of een analoge synth zijn bestaande (dus mogelijke) geluiden, maar ze zijn nog steeds niet voldoende nauwkeurig digitaal te realiseren.
Wel heb ik het rode DSP-gebied optimistisch groot gemaakt!:P
 

Attachments

  • klankruimte.jpg
    klankruimte.jpg
    33,2 KB · Bekeken: 113
Laatst gewijzigd:
weerman in de piano

weerman in de piano

Hier zit de weerman IN de piano en spreekt terwijl hij het doorklinkpedaal ingedrukt houdt.
Tussen haakjes, aangezien de galmtijd van de snaren tien seconden is, moet je, bij modulair, een patch aanleggen van 10*Fs*2 = 882000 modules.
Met WaveWizard doe je dat met 12 regels tekst, zie #404, https://www.synthforum.nl/forums/showpost.php?p=1576372&postcount=404.

De pulsrespons van klankkast piano met ongedempte snaren is praktisch bruikbaar in een physical pianomodel; voor het modelleren van het sustain-pedaal kun je de output van de snaar-waveguides convolveren met deze pulsrespons.
 

Attachments

  • Weerbericht convolutie pulsrespons piano_met_pedaal.mp3
    884,7 KB · Bekeken: 126
Leve modulair!

Leve modulair!

Wat mooi!
Het modulaire. Het is mijn passie en mijn brood, dus geef dit niet op.
Nieuwe paden worden al onderzocht. Zou sneller willen ....tijd, tijd.

Ah! Zo ongeveer het laatste dat ik van je zou vergen is dat je het modulaire zou opgeven! Integendeel. In deze draad heb ik al meerdere malen de kracht en de charme van modulair onderstreept. Ik kan me levendig voorstellen dat dat jouw passie is en vermoedelijk altijd zal blijven. Maar dat is helemaal niet het punt. We verkennen hier de grenzen van verschillende architecturen met de bedoeling om meer inzicht te krijgen niet alleen in de mogelijkheden en onmogelijkheden van die verschillende systemen, maar ook in eigen aspiraties en welke wegen het best bewandeld kunnen worden om die te verwezenlijken.

Maar jou inmiddels enigszins kennende, kan ik niet anders concluderen dat ook jijzelf meer en meer de eindigheid van modulair begint te zien en ook in andere richtingen begint te kijken, zonder overigens de oude middelen los te laten. Ik heb hier een DX7 onder handbereik, en meer dan 85% van de tijd luister ik naar muziek van voor 1950 en daarvan weer minstens 50% van voor 1700. En ik denk niet dat dat ooit gaat veranderen. Maar het staat ook weer helemaal los van mijn passie om nieuwe technieken te verkennen, te bestuderen en liefst direct toe te passen. Het is niet of/of, maar en/en ;)
 
Ha Rutger, Hier wat resonanties. De voor de NMG2 simpele manier:
https://www.synthforum.nl/forums/showthread.php?p=1578606#post1578606

[Maar jou inmiddels enigszins kennende, kan ik niet anders concluderen dat ook jijzelf meer en meer de eindigheid van modulair begint te zien en ook in andere richtingen begint te kijken, zonder overigens de oude middelen los te laten.]

Dat klopt. Wat ik al schreef, het heeft beperkingen. Daarbij ook niet mijn eigen vergetend. Gelukkig is er ongelooflijk veel gaande op dit gebied. Denk maar aan de ontwikkeling van nieuwe modulaire modules. En dan is DSP-'peuteren' onmisbaar.
 
Prachtige thread dit, al begrijp ik er te weinig van om gekluisterd te blijven. Wat ik wel grappig vond was het Shepard/Risset verhaal op pagina 7 waar ik net aan werd herrinerd door een YT clip van John Selway zelf. Hierin reageert hij op een opmerking van bezoeker waarin hij zelf zegt dat het verschil tussen Shepard en Risset het feit is dat de eerste in stappen gaat en de tweede vloeibaar.
Onderstaand de link, hoop ik, zodat jullie Selway terecht kunnen wijzen ;-).



Mocht het niet werken, het gaat om de clip van Christian smith & John Selway - total Departure

Keep up the good work
 
Back
Top