SynthMaker

Experimenting with audio rate tremolo

Archive · 2008 7 old posts

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].

Before your first post

A few rules keep this a friendly place. You agree to them once.

Shown next to what you post, here and in the app. It doesn’t have to be your real name: 3–24 lower-case letters, digits or _ (capitals become lower case, spaces become _).

    Then your post goes up straight away.

    Delete this reply?

    Open it in SynthMaker?

    It goes on the track you’re editing there, in place of that track’s sound, and into My sounds. Your other tracks stay as they are.

    Want to keep that track’s sound? Start a new song in SynthMaker first (Song › New song), then open this.

    Report this reply?

    Only the developer reads reports. The person isn’t told who reported them.

    What’s wrong with it?

    Block this person?

    You won’t see their posts and replies here any more. They aren’t told, and you can unblock them at any time.

    People you’ve blocked

    Their posts and replies are hidden from you. Unblock someone to see them again.

    The community rules

    A few rules keep this a friendly place. Everyone agrees to them once, before their first post.