From the original SynthMaker forum (2004–2014), with its members’ names and dates.
Keenan ·
I was actually hoping you folks could tell me if there's a more efficient way to go about this module? Here it is. I couldn't figure out sync, so the synced waveforms are just copies of the first two but with the same input connections. Could someone explain how to sync oscillators? I read a little about it on the forums, but from what I understand everything in each synced module has to be the same?
This LFO has two waveforms that morph (like in the Korg MS-20), and adjusts between 0.1 and 25 Hz. The triangle wave morphs saw-triangle-ramp and you can vary the pulse width of the rectangle. I made some nice vibrato out of this LFO. A word of thanks to Stefan for helping with the triangle. 🙂
Keenan
rl ·
I think there is a small error in the rectangle LFO. Try this:
Multiply the output of the 2nd Saw with -1 and *add* this to the output of the 1st saw.
Sync: Here is an example:
[old link]
Hope this helps,
Rudolf
stefan ·
If you could live with having the duty cycle as float data instead of stream you could move the divisions used in the triangle code I gave you outside of the code component using green float maths.
Calculate 1 / dutyCycle and 1 / (1 - dutyCycle) directly on the green data you get from the knob, then feed these values to the code module and multiply with them instead of doing it by division internally as it is done now.
OTOH, if you want to modulate the duty cycle with streams (audio signals) you need to keep the divisions inside the code component.
If all this is greek to you and you need more help, just say so 🙂
angstrom ·
if anyone comes up with a useable way of doing sync at audio rates please let me know.
Obviously the ways posted are great for LFOs, but I've never managed to get a synced oscillator to work (without aliasing). 🙁
stefan ·
angstrom wrote: if anyone comes up with a useable way of doing sync at audio rates please let me know.
Obviously the ways posted are great for LFOs, but I've never managed to get a synced oscillator to work (without aliasing). 🙁
Not doable without _lots_ of oversampling or BLIT / BLEP.
angstrom ·
yes, we've been here before I believe.
A shame, it is so easy in SE, yet I can't bring myself to open the damn thing.
stefan ·
angstrom wrote: yes, we've been here before I believe.
A shame, it is so easy in SE, yet I can't bring myself to open the damn thing.
There are standard BLIT / BLEP oscillators in SE, or are the default ones oversampled or something?
rl ·
There MUST be an easier way, eg. using lagrange or spline interpolators. Will delve into this sooner or later. Days are to short...
angstrom ·
stefan wrote:
angstrom wrote: yes, we've been here before I believe.
A shame, it is so easy in SE, yet I can't bring myself to open the damn thing.
There are standard BLIT / BLEP oscillators in SE, or are the default ones oversampled or something?
heh, think simpler
the main oscilators in SE are wavetables (same as SM) - but in SE the wavetables have an input to restart the dutycycle (called the 'sync' input same as any modular).
Any rising slope past 0 will trigger a restart I think. Obviously with the nature of the wavetable oscilator it is already bandlimited
For some reason I thought you used to use SE Stefan?
sambean ·
The problem with using the primitive osc's is if you wan't to phase reset, you have to drive the osc's with the phase, which means you're always running the wave with with most harmonics..
Here's a custom osc I was working on that has a HS input..
http://magalov.myweb.hinet.net/osc/HSosc.osm
Still get some aliasing but less than you would using the primitive oscs.. Not sure how it compares to SE, I'd be interested how they managed it..
The wavetables were created with my attempt at blit integeration and hence may be a bit ropey.. They are are the same format at the primitive wavedraw I think, ie 128*256 but there are 4 osc's so the memory is 4*128*256 if anyone is interested in making their own tables (integer inputs into the wave select offset the wave pointer by WaveNumber*128*256)..
I'd really like to be able to do this with the standard SM wave player ie have more than 1 wavetable input and have the option of different SSE channels with different waves.. hinthint
Let me know if it's suitable, it's not that well documented I'm afraid but feel free to ask..
Sam
angstrom ·
thanks sam, it sounds pretty good.
Like you say - still a few rogue harmonics - but pretty useful.
I think most of it is self-explanatory. The bit with the two reads is the flux-capacitance integrator right?
or is it interpolation , something like that.
thanks anyway 🙂
stefan ·
angstrom wrote:
stefan wrote:
angstrom wrote: yes, we've been here before I believe.
A shame, it is so easy in SE, yet I can't bring myself to open the damn thing.
There are standard BLIT / BLEP oscillators in SE, or are the default ones oversampled or something?
heh, think simpler
the main oscilators in SE are wavetables (same as SM) - but in SE the wavetables have an input to restart the dutycycle (called the 'sync' input same as any modular).
Any rising slope past 0 will trigger a restart I think. Obviously with the nature of the wavetable oscilator it is already bandlimited
For some reason I thought you used to use SE Stefan?
That can't be it. Even if they use band-limited wavetables you can't just restart them and expect there to be no aliasing. There will be "full" aliasing if you do so. They must be doing something else if they've reduced the aliasing..
No, never been a SE user. Sorry 🙂
angstrom ·
the se oscillators make use of a checkbox labelled "Gibbs Effect", also a little checkbox marked "Anti-alias (X fade) for sync"
I just opened SE to check it out with a simple test and of course there are aliased harmonics.
Comparing side by side with Sam's oscillator I am very happy with how well Sam's works. Pretty much the same aliasing. I think this is my new favourite oscillator
🙂
stefan ·
angstrom wrote: the se oscillators make use of a checkbox labelled "Gibbs Effect", also a little checkbox marked "Anti-alias (X fade) for sync"
I just opened SE to check it out with a simple test and of course there are aliased harmonics.
Comparing side by side with Sam's oscillator I am very happy with how well Sam's works. Pretty much the same aliasing. I think this is my new favourite oscillator
🙂
x-fade? they must be doing a windowed overlap then. weird but somewhat cool solution, but I guess it works to an extent 🙂
platinumears ·
The hard sync was always my least favorite aspect of the SE osc to be honest.. I always thought it was pretty decent otherwise though. 😉
Wrote something here? To have a post removed or your name hidden, write to [email protected].