From the original SynthMaker forum (2004–2014), with its members’ names and dates.
LarsXI ·
Hi
I've been working on a method for taking a sine wave and and muting a portion of the wave every cycle. I recently achieved this in synthedit by limiting a pulse wave to values between 0 and 1 and then multiplying (AM) the sine by the pulse. The pulse osc. was hard synced to the sine, so changing the pulse width would determine the length of the muted section, and phase determined position relative to the sine wave.
This is the effect I am looking for. Taking into account aliasing, and cpu usage, what would be the best way for me to do this in synthmaker? If I coded a simple square wave and used it to modulate a VCA, would I still have to deal with the coded square's aliasing? Does it make more sense to continuing pursuing the multiplication method?
Thanks in advance and excuse me if I'm not explaining myself adequately.
infuzion ·
Welcome to SM Lars!
I think I get the gist of what you want...
I would use the Sine OSC & put a Code primitive after it to alter the output how you'd like. You'll need to study this "conditional_statements_and_assignments":
[old link]
& go through Oddson's excellent "Starting Out" series on how to work SM if you don't know the basics:
[old link]
If you need more help, a picture/graph is needed.
LarsXI ·
Ah, so with code, I should be able to define a period of time in each cycle during which out the signal will be cut.
Thanks
I went through the tutorials and I experimented with some simple oscillator coding, so I feel pretty confident I'll be able to pick up on it.
The nice thing about cutting out sections of sine waves is that you end up with jumps in the signal on the edges of the muted section. Forgive my ignorance about aliasing, but these jumps won't put me above Nyquist in any way, will they?
Also, I remember reading an old post that mentioned sine waves written in simple code don't alias like the simple code saws and others. If this is true, I should be able to code some through-zero sine oscillators without having to worry about them being inferior?
Thanks again
stefan ·
You will get aliasing noise. You could reduce it by low pass filtering the windowing wave (the square wave), but you won't remove all aliasing by doing this.
LarsXI ·
I see. I may explore some other options, then.
As an aside, how do we typically deal with ring modulation/AM? Is it adequate to multiply two half-sized waves, Or should I use a 1 pole lowpass to put each wave at half nyquist before multiplying?
Thanks again
infuzion ·
LarsXI wrote: As an aside, how do we typically deal with ring modulation/AM?
For AM, I've seen examples where the 2 outputs are simply multiplied.
Have you looked into the Oversampling Toolkit?
LarsXI ·
The example module with the overdrive was informative. The polyphase options were impressive.
Wrote something here? To have a post removed or your name hidden, write to [email protected].