Dave ·
Hi,
i wonder if PWM is possible for wavetable samples (looped waveforms)?
Also sync plus a ring modulator?
Unison?
Thanks, Dave
From the original SynthMaker forum (2004–2014), with its members’ names and dates.
Dave ·
Hi,
i wonder if PWM is possible for wavetable samples (looped waveforms)?
Also sync plus a ring modulator?
Unison?
Thanks, Dave
nix ·
This might help. Is PWM modulating pulse width with an LFO? Here is a WT synth with pulse width. It someone else's implementation which I copied-> WAV 108 i->draw waves with curves Cheers
Dave ·
No i mean directly PWM for an osc.
nix ·
I don't understand PWM then sorry. But having pulse width doesn't help? Not sure about sync, but you can make RM by multiplying 2 streams. Cheers
rl ·
> i wonder if PWM is possible for wavetable samples (looped waveforms)?
no, because this would require prior knowledge of the waveform to be pwm'd
> Also sync plus a ring modulator?
yes, wavetable read has a sync input, ring modulation is just a multiplication with another signal.
> Unison? maybe by using multiple wavetable read modules?
MegaHurtz ·
Shure it is.. Yust multiply the output wit a ((square +1)*0.5)...or ((square+A)*A*0.5) If the frequency is the same, and it`s in sync (probbably on key is enough), you have pwm.. what else?(yust adjust the square`s pw accordingly). The same goes if you dont rectify it but leave the output range on -1/+1. you`d have something.
oddson ·
I was thinking it would be possible to do something analogous to PWM by differentially streching and compressing the positive and negative portions of the wave table array prior to sending it to the Wave Table primitive.
The problem is I believe you'd have to use a loop to achieve this and for some reason looping green data is very slow in SynthMaker in the current version.
Tzarls ·
Couldn´t it be done with a combination of the Float Array Section and Float Array Resample primitives? Like, you have 100 points in your Float Array. You split that into 2 arrays of 50 values. Resample one to 75, the other one to 25, then combine them again to just 1 array.
nix ·
I'm not sure tzarls, i'd be curious to see if you wanna build it. I'm finding that float arrays are a great tool though. Cheers
Tzarls ·
Ok, I took the challenge and built something, quick and dirty, using a wave drawer I ripped off somewhere around here and the method I described above. Just draw a wave and then press the trigger. The trigger could be replaced with something that sends a trigger when releasing the mouse button, so it resamples only then (otherwise it is way too slow).
Lookign at the graph you can tell that the positive part of the wave has been stretched and the negative part has been compressed (by a fixed amount).
Just check it and tell me what you think.
*** Edit: Added 2 knobs: The first sets the split point in your wave. The second controls the amount of PWM. I don´t know if that´s how it is supposed to work, but I think you´ll find this useful.
*** Edit 2: Hey, nix, I didn´t realize that it was your .osm that I used to get that wave drawer! LOL!
MegaHurtz ·
Ì think you`d want the dirt of a dc offset. maybe rectifying the array, and a phase flip. only not quite shure what sounds you are after. it`s definetly the most dirty, most inexpensive, and spectrally accurate. (for as far as pw goes) It`s a pulse. If you like your speakers i`d run it through a lowpass filter, removes the hard edge a little. Does`nt force you speakers to do time travel. tell me what sounds your after, i may be able to help you better.
oddson ·
Ì think you`d want the dirt of a dc offset...
I'm not sure what this means but... the Wave Table primitive is supposed to remove DC unless you tell it not to.
What I was planning was a lot more complicated as I was bogged down in getting as accurate an analogy to PWM with a drawn wave-form as is possible.
Tzarls idea is very clever and very usable... but I don't think the example is quite right yet but I can't see why not (it just doesn't seem to be acting as I'd expect is some circumstances).
One warning though... actually modulating the pulse-width, even at modest rates, is not going to work as the wave table primitives cannot accomplish the audio processing required from having to recalc new wave forms many times per second.
MegaHurtz ·
I put the wrong word there.. yesterday i tried to build a more sexy solution. with a wavetable and "special" ramp, but didn`t quite manage to get it stable. started bevaving like a filter. maybe getting back to it today. If i do ill post it.
NekroDisko ·
Hello! I just want to tip you of a solution of my own some months back, where I´ve tried to use both pwm and phase (visible in the display) for wavetables. It might help you. Look up "Morph-Osc experiment" or this link: Morph-Osc experiment
Have fun!!!
Wrote something here? To have a post removed or your name hidden, write to [email protected].