WaveWizard

Klopt verruimteling was niet het goede woord. Ik bedoelde ruimtelijkheid. In deze links-rechts. Niet diffuus. Het ging mij om van 1 signaal, filtermorphing en ring modulator een gelijktijdig spectrum- en kanaalverloop te verkrijgen.
 
ruimte-simulatie en galm door directe convolutie met nieuwe functie FIR-filter

https://www.synthforum.nl/forums/showpost.php?p=1502332&postcount=178
Patat:
(...)
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.
(...)
Door directe convolutie kun je zeer natuurgetrouwe simulaties maken van akoestische ruimten, maar er is enorm veel rekenwerk mee gemoeid (zie https://www.synthforum.nl/forums/showpost.php?p=1502641&postcount=181); zoveel dat er nog steeds speciale hardware aan te pas komt om 't realtime te kunnen doen. Al die snelle galm-algo's, zoals Schroeder/Moorer en, vooral tegenwoordig, FDN, zijn er niet voor niets en maken galm ook voor een PC realtime.

Maar dat betekent natuurlijk niet dat directe convolutie met een gewone, moderne PC onmogelijk zou zijn. Juist omdat 't zo'n natuurlijk proces is, ben je voor interessante experimenten graag bereid om wat langere rekentijden voor lief te nemen. Vandaar dat de nieuwe versie van WaveWizard beschikt over een functie, FIR-filter, waarmee je, onder vele anderen, ook galm kunt maken door directe convolutie. Dat komt omdat het filter een in principe onbeperkt aantal filtercoëfficiënten kan verwerken (aantal hangt in feite alleen af van geheugen dat Windows beschikbaar kan maken en dat is tegenwoordig altijd meer dan genoeg).

In de onderstaande preset wordt gedemonstreerd dat galm ontstaat doordat een geluid door een filter wordt gehaald waarvan de impulsresponsie bestaat uit.... gedempte, witte ruis! Het is heel merkwaardig om de sensatie van een echte, akoestische ruimte te beleven die door niets anders gecreëerd wordt dan door ruis! Het laat meteen ook mooi zien waarom galm decorrelerend werkt en waarom een galmbak is op te vatten als een ruisgenerator! (een voorbeeld van ruis als FDN-impulsrespons gaf ik al eerder:
https://www.synthforum.nl/forums/showpost.php?p=1502299&postcount=176)

.
 

Attachments

  • Preset Galm dmv FIR met gedempte witte ruis als impulsrespons.txt
    1,3 KB · Bekeken: 136
Dank je, Roland.
Goeie vakantie in Het Land Van de Witte Zomernachten. :biertje: :mega: :koffie:
 
Laatst gewijzigd:
BETA-versie WaveWizard_2012

BETA-versie WaveWizard_2012

Dat FIR-filter bestaat alleen in de nog te verschijnen nieuwe versie ;) (zoals ook gezegd in #243)....


Een beta-versie waar je de FIR-functie wel op kunt draaien, is te downloaden vanaf de site:

http://muziekexact.nl/WaveWizard_2012_BETAVERSIE_augustus.exe

Het handigst is 't om deze versie in dezelfde map te plaatsen als de oude. Je kunt ze naast elkaar gebruiken.
 
Start niet op :
"Error : rtl150.bpl niet gevonden."


Bedankt, Audio! :halleluja

De fout is, denk ik, inmiddels hersteld; deze nieuwe WaveWizard-versie is met de meest recente versie van de ontwikkelsoftware gemaakt en ik had daar een veld in de packages opties over 't hoofd gezien, waardoor ook bpl-files bijgesloten moesten worden.

Als alles goed is, is dat nu niet meer het geval. (ik kan dat in de gauwigheid niet zelf controleren, omdat de ontwikkelsoftware ook op mijn laptop staat zodat de bpl's automatisch worden opgehaald als die niet worden aangetroffen).

Als je WaveWizard nog even een keer ophaalt van de site en runt, moet je geen foutmeldingen meer krijgen....(ga ik mijn hoed moeten opeten?:mexico:)
 
...Als je WaveWizard nog even een keer ophaalt van de site en runt, moet je geen foutmeldingen meer krijgen....(ga ik mijn hoed moeten opeten?:mexico:)
Bedoel je WaveWizard_2010_10_25.exe ? (Nee toch.)
Die staat en werkt hier nog hoor dus ...

(In elk geval neem je tijd maar ... ik weet wat het is om iets te programmeren en dan uit enthousiasme soms een te korte deadline voor te stellen.)
 
Bedoel je WaveWizard_2010_10_25.exe ? (Nee toch.)
Die staat en werkt hier nog hoor dus ...

(In elk geval neem je tijd maar ... ik weet wat het is om iets te programmeren en dan uit enthousiasme soms een te korte deadline voor te stellen.)

ik bedoelde de nieuwe versie, dus WaveWizard_2012_BETAVERSIE_augustus.exe. Die heb ik opnieuw gecompileerd, ditmaal in stand-alone vorm, dus zonder runtime packages (bpl-files); de nieuwe exe heb ik met dezelfde naam geupload, dus die kun je downloaden vanaf de link in #249.

Wat die beloofde deadline betreft, september, die ga ik niet halen (zucht), zal wel december worden... Vandaar deze beta-versie, waar je in ieder geval de presets op kunt draaien die ik eerder in deze draad gaf. Deze beta bevat al een boel nieuwigheid, zoals FIR, 16-kanaals Feedback Delay Network (galm), decorrelatie-algo, nieuwe grafische functies, nieuwe implementatie van FFT die ook complexe signalen aan kan ("quadratuursignalen"), automatische lineaire interpolatie van buffers, (waar je bijv. heel gemakkelijk laagfrequente ruis mee kunt maken) en nog veel meer.

Ik heb ook nog nagedacht over jouw opmerkingen over de magere real-time mogelijkheden van WaveWizard, met name van de spectrum-analyzer. Ik denk nu dat het vrij eenvoudig is om het signaal van de line-in van je computer in realtime weer te geven op de scoop en de spectrum-analyzer. Die extra mogelijkheid is natuurlijk heel interessant, met name voor het natuurkunde-onderwijs op middelbare scholen, en die wil ik er graag in hebben. Maar dat kost wel wat extra tijd. Vandaar dat uitstel van de deadline.

Zo lang de nieuwe versie er nog niet is, zal ik hier af en toe aangepaste beta-versies posten, zodat het voor deze draad eigenlijk niet uitmaakt wanneer de nieuwe versie verschijnt.
 
...Ik heb ook nog nagedacht over jouw opmerkingen over de magere real-time mogelijkheden van WaveWizard, met name van de spectrum-analyzer. Ik denk nu dat het vrij eenvoudig is om het signaal van de line-in van je computer in realtime weer te geven op de scoop en de spectrum-analyzer. Die extra mogelijkheid is natuurlijk heel interessant, met name voor het natuurkunde-onderwijs op middelbare scholen, en die wil ik er graag in hebben. Maar dat kost wel wat extra tijd. Vandaar dat uitstel van de deadline.
:okdan:
 
nieuwe functie: DFT

nieuwe functie: DFT

Ik kreeg laatst een mailtje van iemand die vroeg waarom WaveWizard geen DFT-functie heeft. De DFT is de Discrete Fourier Transformatie, waarvan de FFT de snelle, maar minder flexibele variant is. Bij de FFT moet de lengte van het geluidsfragment waarvan je het spectrum wilt berekenen, uitgedrukt in samples, altijd een macht van 2 zijn, dus bijv. 256, 512, 1024 ... Bij de DFT daarentegen kun je elk willekeurig aantal samples gebruiken en dat is met name zinvol als je van een toon waarvan je de frequentie (en dus de periode) precies weet, exact het spectrum moet weten. (Met de FFT gaat dat alleen maar bij benadering.)


Inmiddels heeft de nieuwe versie van WaveWizard (https://www.synthforum.nl/forums/showpost.php?p=1531771&postcount=247) ook een DFT-functie, die je aanstuurt met de volgende code:

Code:
DFT
  Buffer In             F1[0]
  Buffer Out Amp        F2[0]
  Buffer Out Fase       F3[0]
  Buffer Out Re (cos)   F4[0]
  Buffer Out Im (sin)   F5[0]
  Venstergroote (Ts)    100
  eerste harmonische    0
  laatste harmonische   100

Als WaveWizard deze functie niet zou hebben, dan nog zou je die zelf als preset kunt implementeren. Zie bijlage. Maar die code is wel veel langzamer dan de nieuwe menufunctie hierboven.
 

Attachments

  • Preset DFT amp- en fasespectrum.txt
    2,9 KB · Bekeken: 140
samplebuffers nu in floating point

samplebuffers nu in floating point

thx, Roland!

RMS
Hoe je met WaveWizard de RMS (Root Mean Square) van een signaal uitrekent vind je in de preset-bijlage van
https://www.synthforum.nl/forums/showpost.php?p=1538682&postcount=70


float buffers
Als je de oude versie van WaveWizard gebruikt krijg je een ietsje andere uitkomst dan die in de preset zelf wordt gegeven.
Dat komt omdat de sample-buffers in de oude versie nog 16 bits integers waren; in de nieuwe versie (download: http://muziekexact.nl/WaveWizard_2012_BETAVERSIE_augustus.exe) zijn ze 32-bits floating point.

In dit geval, de RMS berekenen, is dat niet zo heel spectaculair, maar juist bij recursieve berekeningen, zoals filters en snaarpluk, geeft dat enorme voordelen, omdat je zulke processen nu simpel kunt programmeren in de meest directe vorm, nl. de differentievergelijking zelf. Zou je dat doen met 16-bits integers, dan vervormt het geluid veel te snel als gevolg van de steeds verder accumulerende afrondingsfout; snaarpluk raakt bij 16-bits integers al na zo'n 2 seconden (toch nog 100.000 samples) het spoor bijster en loopt vast in een (puur periodiek) bromtoontje. Maar bij 32-bits en floating point blijft snaarpluk fraai en frequentie-afhankelijk dempen tot volledig onhoorbaar. Ook resonantiefilters kun je nu heel snel aanmaken en hebben een zeer hoge kwaliteit.
 
Back
Top