WaveWizard

j.baars, spreek je dan over in het puur analoge veld? Het is bekend dat deze vermenigvuldigers soms 'lekken'. Dat ingang A doorlekt naar ingang B, of andersom. Digitaal kan dit perfect en dus rekenkundig gelijk. Plaatje en patch is met een Multiplier module. Hier 2 sinussignalen. 100 en 300Hz. De output is dan 200 en 400 Hz.
 

Attachments

  • 100-300Hz A.pch2
    962 bytes · Bekeken: 87
  • 100-300Hz A.jpg
    100-300Hz A.jpg
    15 KB · Bekeken: 91
nou, laat ik het zo zeggen, ik ben eigenlijk nog nooit een apparaat tegengekomen, zowel een ringmodulator, alsook vermenigvuldigers, die aan beide ingangen hetzelfde gedrag vertoonden.

maar rekenkundig zijn ze dus gelijk?

:mega:

Zoals gezegd, ik weet niet genoeg van analoge electronische netwerken om precies te kunnen zeggen hoe het zit, maar zoals ook Roland hierboven suggereert, het gaat om het onderscheid tussen de principes en de implementaties. Het doel van het electronisch-analoge netwerk dat we een ringmodulator noemen is om Amplitude Modulatie te implementeren. Hoe goed of slecht dat precies gaat, welke complicaties daarbij kunnen optreden, weet ik niet. En vaak zijn het juist de missers die muzikaal toch wat interessants opleveren, zelfs als het doel niet geheel of geheel niet wordt bereikt.
Mijn uitgangspunt is altijd geweest dat ik niet tevreden ben met een "toevallig" leuk resultaat als dat iets anders is dan het resultaat waarnaar ik op zoek was. Als ik AM wil, dan wil ik AM en niet iets anders dat misschien ergens ook wel aardig is. Dat vind ik het sterke aan digitaal: je bent meestal (lang niet altijd of automatisch) veel dichter in de buurt van wat je beoogt. AM is daarvan een mooi voorbeeld: bij AM gaat het per definitie om een vermenigvuldiging van twee signalen; dat is precies wat een computer heel gemakkelijk, heel snel en met zeer hoge precisie kan, zonder mitsen en maren, zonder inputkanalen die 'more equal' zijn dan andere. Ik denk dat je mag zeggen dat de digitale signaalverwerking veel dichter in de buurt staat van de signaaltheoretische concepten dan de analoge signaalverwerking. Maar ik snap wel dat het muzikale succes van analoog vaak juist zit in het niet precies bereiken van wat het beoogt: soms faalt analoog op een heel charmante manier juist daar waar digitaal perfect z'n doel bereikt en daarmee roemloos ten onder gaat.
 
En buiten het 'lekken' van de RM, is het analoog ingangssignaal wel helemaal steady? :P
Dat maakt analoog zo aantrekkelijk/smeuïg, die beweging die erin zit.
AM: Draai de level knop naar het midden:
Buiten het carrier signaal hoor je de opgetelde en gedeelde sinustonen. Bij RM verdwijnt het carrier signaal.(zie laatste plaatje).
 

Attachments

  • AM Sidebands pch.jpg
    AM Sidebands pch.jpg
    56,3 KB · Bekeken: 93
  • AM Sidebands.jpg
    AM Sidebands.jpg
    25,6 KB · Bekeken: 88
Laatst gewijzigd:
ik ben best wel gek op ringmodulators..

alleen waar het mij om ging was of ringmodulatie nou hetzelfde was als vermenigvuldiging.

ik heb namelijk ooit eens in een erg grijs verleden een verhandeling gelezen ( volgens mij van Bob Moog), waarin hij uiteenzette dat er verschillen waren.

maar dat document is natuurlijk nergens meer te vinden.

maar ik ga ervanuit dat het hetzelfde is ( rekenkundig dan)

:koffie:
 
ik ben best wel gek op ringmodulators..

alleen waar het mij om ging was of ringmodulatie nou hetzelfde was als vermenigvuldiging.

ik heb namelijk ooit eens in een erg grijs verleden een verhandeling gelezen ( volgens mij van Bob Moog), waarin hij uiteenzette dat er verschillen waren.

maar dat document is natuurlijk nergens meer te vinden.

maar ik ga ervanuit dat het hetzelfde is ( rekenkundig dan)

:koffie:

Elke ring modulator is een multiplier. Maar niet elke multiplier is een ring modulator. De ring modulator kan signalen verwerken die zowel positieve als negatieve waarden hebben. Er bestaan multipliers die alleen maar positieve waarden kunnen vermenigvuldigen of waarvan slechts één van beide inputs negatieve waarden kan verwerken. Tot zover durf ik mij wel te wagen op het glibberige, maar altijd weer boeiende pad van de analoge tronica.

Wat mij vooral boeit is die Single SideBand Modulatie. Niet alleen signaaltechnisch interessant, maar ook sterk in muzikale toepassingen. Trouwens als je SSBM hebt, krijg je de vertrouwde "Double-Side" modulatie er gratis bij :P
 
Bij dit soort bewerkingen ruik ik de geur van Studio BEA5 (in het souterrain van het KonCon) weer en prevel ik: "Tazelaar-operators...".;) Ik heb er nooit zo goed de zin van begrepen, ook al snap ik wel dat het een gevoel van overwinning geeft als je ze weet uit te beitelen in klassiek-analoge troniek, om er vervolgens heel elementaire dingetjes mee te doen in de puur-analoge studio. Dingetjes die je digitaal realiseert met een enkel plus- of maal-teken of andere zeer elementaire manipulatie. Bijvoorbeeld, je kunt de bewerkingen in jouw afbeelding wiskundig samenvatten als:

Code:
Bipolair:         sin(x)
Bipolair Invers:  sin(-x)
Positief:         0,5*(sin(x)+1) 
Positief Invers:  0,5*(sin(-x)+1) 
Negatief:         0,5*(sin(x)-1)
Negatief Invers:  0,5*(sin(-x)-1)

(Als het signaal, i.p.v. een sinus-, een randomsignaal is, dan krijg je bewerkingen die in soortgelijke uitdrukkingen zijn te verwoorden.)

Wat mij verder opvalt is dat de enige operator, die in deze klasse zou kunnen vallen en die echt een niet-triviale bewerking oplevert er niet bij staat! En dat is de bewerking die alle spectraalcomponenten van een willekeurig signaal een 90-graden fasezwiep geeft. Dan heb je een heel mooie Hilbert-bouwsteen die in combinatie met een delaylijn een kwadratuursignaal oplevert, zodat je bijvoorbeeld Single-SideBand modulatie en pitch shifting kunt doen.
 
Bij dit soort bewerkingen ruik ik de geur van Studio BEA5 (in het souterrain van het KonCon) weer en prevel ik: "Tazelaar-operators...".;)

:)

[Bijvoorbeeld, je kunt de bewerkingen in jouw afbeelding wiskundig samenvatten als:

Code:
Bipolair:         sin(x)
Bipolair Invers:  sin(-x)
Positief:         0,5*(sin(x)+1) 
Positief Invers:  0,5*(sin(-x)+1) 
Negatief:         0,5*(sin(x)-1)
Negatief Invers:  0,5*(sin(-x)-1)
(Als het signaal, i.p.v. een sinus-, een randomsignaal is, dan krijg je bewerkingen die in soortgelijke uitdrukkingen zijn te verwoorden.)[/QUOTE]

Juist :okdan:

[Wat mij verder opvalt is dat de enige operator, die in deze klasse zou kunnen vallen en die echt een niet-triviale bewerking oplevert er niet bij staat! En dat is de bewerking die alle spectraalcomponenten van een willekeurig signaal een 90-graden fasezwiep geeft. Dan heb je een heel mooie Hilbert-bouwsteen die in combinatie met een delaylijn een kwadratuursignaal oplevert, zodat je bijvoorbeeld Single-SideBand modulatie en pitch shifting kunt doen.[/QUOTE]

Deze zit nog in mijn mouw, had nog niet alle kaarten op tafel ;)
 
Wat doet de Hilberttransformatie?

Wat doet de Hilberttransformatie?

Pitch shifting is te realiseren door o.a. een heel bijzondere vorm van Amplitude Modulatie, namelijk Single SideBand Modulation (SSBM). Voor SSBM heb je een bouwsteen nodig die de Hilberttransformatie wordt genoemd (zie #495)

De Hilbertransformatie is een doodgewoon filter. Alleen het heeft als bijzonderheid dat het geen enkele frequentiecomponent versterkt of verzwakt; daarom wordt het een "All Pass" filter genoemd. De output van een Hilbert-filter klinkt dus precies hetzelfde als de input. Maar wel is de golfvorm totaal veranderd! Dat geluiden met verschillende golfvormen identiek kunnen klinken hebben we al eerder geconstateerd (zie #61 en verder). Die verandering van golfvorm onstaat doordat de fases van de boventonen door het filter worden veranderd.

Een Hilbertfilter is een All Passfilter met een heel bijzonder fase-gedrag: alle boventonen (spectraalcomponenten) ondergaan een faseverschuiving van precies 90 graden. Dus je zou kunnen zeggen dat de output van het Hilbertfilter in zeker zin "haaks" staat op de input. In signaalverwerkingsjargon zeggen we dan dat input en output een "kwadratuursignaal" vormen.

Een heel bekend voorbeeld van een kwadratuursignaal-paar zijn de sinustoon en de cosinustoon. Als je een sinustoon door een Hilbertfilter haalt, krijg je een cosinustoon. Als je vervolgens beide signalen moduleert met resp. een sinus en een cosinus van een andere frequentie, dan krijg je een soort "super AM": als je beide signalen mixt krijg je niet twee tonen te horen, zoals bij gewone AM, maar slechts één! Die toon heeft een frequentie die de som is van de oorspronkelijke sinus en die van de modulator. De verschiltoon, die je er bij gewone AM altijd ongevraagd, en soms zeer ongewenst, bij cadeau krijgt, ontbreekt! Dat is geweldig goed nieuws! Want nu blijft bijvoorbeeld een harmonisch signaal puur harmonisch klinken. Die eigenschap kun je gebruiken om een willekeurig muziek- of spraaksignaal alleen maar hoger of lager te laten klinken, en daarmee beschik je dus over een pitch shifter.

Met de bovenstaande "specificatie" van een Hilbertfilter, kun je met WaveWizard de structuur ervan blootleggen, het filter realiseren en toepassen in SSBM-Pitch Shifter. De hele procedure leg je natuurlijk vast als preset, die je later ook in andere presets kunt invoegen.
 
...
Die eigenschap kun je gebruiken om een willekeurig muziek- of spraaksignaal alleen maar hoger of lager te laten klinken, en daarmee beschik je dus over een pitch shifter.

...en toepassen in SSBM-Pitch Shifter.

Oeps! :o:
Vervang dat woord "pitch" door "frequency"...
 
Hier een WaveWizardvoorbeeld van een dispersieve snaarklank door partial-synthese met resonantiefilter.
 
Super Saw met 50 generatoren

Super Saw met 50 generatoren

In de draad "Wat is de hardware equivalent van deze VST" (https://www.synthforum.nl/forums/showthread.php?t=165136) gaat het ook over de SuperSaw, met in post #6 een (als altijd) informatieve reactie van Yoozer.
Daardoor geïnspireerd heb ik een SuperSaw gemaakt met WW. Hier staan 50 toongeneratoren te brullen, met randomfrequenties die maximaal slechts 1 Hz afwijken van de bedoelde toonhoogte. Dat moet wel zo'n kleine afwijking zijn omdat het hier gaat om een heel lage toon: 32 Hz. Ik dacht daarbij aan die onvergetelijke openingsnoot van de contrabassen in "Also sprach Zarathustra" van Richard Strauss.

De toongenerator die de zaag maakt heet "Feedbackgenerator". In eerste instantie ontworpen om snaarpluk (Karplus-Strong) mee te doen. Het bevat ook een ingebouwde ADSR. Dit is de snelste toongenerator van WW en de 50-voudige aanroep ervan plus filtering kan binnen realtime. Het Laagdoorlaatfilter erachter is van het type Butterworth.

Experimenteer met de preset-code!!
 

Attachments

  • SuperSaw.txt
    2,2 KB · Bekeken: 84
  • SuperSaw.mp3
    582,7 KB · Bekeken: 98
Vette Super Saw chromatisch stijgend (maar met dalend cholesterol-gehalte)

Vette Super Saw chromatisch stijgend (maar met dalend cholesterol-gehalte)

Nog steeds 50 generatoren. De bedoeling was om de toon zo legato mogelijk te maken, geen felle attack. Het probleeem is namelijk, als je 50 generatoren met identieke golfvorm synchroon laat lopen, met 50 random frequentie-afwijkingen, dan krijgt de attack een accent, omdat de generatoren op tijdstip nul in fase lopen en van daaruit meer en meer uit fase gaan. Daardoor krijgt elke toon-aanzet een lelijke, onnatuurlijke "hump". Dat kun je voorkomen door de begintijdstippen van de 50 generatoren gelijkelijk te verdelen over een tijdinterval van bijv. de periode van de grondtoon, dus frequentie-afhankelijk. Met WW kan dat heel comfortabel en precies, want je kunt het begintijdstip van elke toon tot op de sample nauwkeurig specificeren (zelfs ook fractionele waarden zijn mogelijk door de automatische lineaire interpolatie van WW). Opvallend is de typische "strijkers-achtige" ruis in de bastonen, die geleidelijk afneemt met de toonhoogte. Het karakter daarvan is goed te regelen met een filter. Hier een Butterworth Low Pass met een zeer geringe flanksteilheid en een vrij willekeurig gekozen afsnijfrequentie van 1000 Hz. In de bijlage het resultaat.
 

Attachments

  • Super Saw chromatische toonladder.mp3
    2,9 MB · Bekeken: 88
  • SuperSaw toonladder.txt
    2,3 KB · Bekeken: 88
Je drukt de delay inderdaad uit in sample-tijden. Binnen de code van de Feedback Generator kun je aangeven niet alleen op welk spoor het outputsignaal geplaatst moet worden, maar ook het begintijdstip, uitgedrukt in aantal samples, dus 'n getal. Bijv. S1[100] betekent dat het outputsignaal begint na een delay van 100 unit-samples = 2,26 milliseconde. Maar in plaats van een getal kun je die delay-tijd ook weergeven d.m.v. een formule. Daarin kun je een willekeurig aantal variabelen plaatsen (die je eerder hebt gedeclareerd). In dit geval bestaat de delay uit k*(Fs/f)/N samples:

Code:
S1[k*(Fs/f)/N]  Spoor 1 met delay van k*(Fs/f)/N samples

Daarin hebben de symbolen de volgende betekenissen:

Code:
Fs              Samplingfrequentie (=44100 Hz)
f               frequentie van de toon
N               aantal zaagtand generatoren; hier is N = 50.
k               nummer van huidige zaagtandgenerator in de rekenlus die alle 
                zaag-signalen berekent.
 
Fs/f            de duur van de periode van de zaagtandtoon, uitgedrukt als
                aantal samples.
(Fs/f)/N        het N-de deel van de periode, dus je verdeelt de periode
                van de toon in N gelijke delen.
k*(Fs/f)/N      de sample-delay van de k-de saw-generator
 
Back
Top