Chainsaw Oscillator

Post any examples or modules that you want to share here
Post Reply
User avatar
martinvicanek
Posts: 1334
Joined: Sat Jun 22, 2013 8:28 pm

Chainsaw Oscillator

Post by martinvicanek »

Hey gang, here is something I've been working on lately. I call it the chainsaw oscillator :lol: .

:idea: The basic idea is to take a random sequence of samples (= a chunk of noise) and repeat it periodically. Like a random wavetable. The result is a tone with a funamental frequency according to the repetition rate and a random harmonic spectrum. (Cut the trebble if it sounds too harsh. :mrgreen: ) The nice thing is that you can take a different random sequence and get a different random harmonic spectrum, so every note may sound slighlty different. It is very easy to generate a (pseudo-)random sequence.

Now if we slowly vary the random sequence, each sample individually while it is playing, we get a constant morphing between different timbres. At higher variation rates it sounds like many (hundreds) slightly detuned oscillators (phat! 8-) ). At still higher rates the sound gets more and more noisy.

You might think that it would be a tremendous CPU load to constantly update all samples of the random sequence. Like hundreds of simultaneous oscillators! The point is that you only need to update each sample once every cycle, not constantly. So the effective load is actually similar to one oscillator! :shock:

There are some details like what if the size of the sequence is not integer (which it never is), aliasing and so on. Perhaps the hardest part was to make the thing poly safe. Whatever.

Below is the chainsaw oscillator and a little demo synth. I imagine that it could be of use in EDM. However, with some proper filtering you can also create some very soft, evolving pad sounds.
Attachments
chainsaw-osc.fsm
(47.84 KiB) Downloaded 1307 times
User avatar
Duckett
Posts: 132
Joined: Mon Dec 14, 2015 12:39 am

Re: Chainsaw Oscillator

Post by Duckett »

First to download ;)

I'm always delighted to have something genuinely new to play with (although taking something bog-standard and seeing how far you can go with it leads to some pretty amazing results too).

Of course, not only will this be fascinating to try as an osc, but as a modulation source etc.

Thank you so much!
We have to train ourselves so that we can improvise on anything... a bird, a sock, a fuming beaker! This, too, can be music. Anything can be music. -Biff Debris
User avatar
guyman
Posts: 207
Joined: Fri Mar 02, 2018 8:27 pm

Re: Chainsaw Oscillator

Post by guyman »

2nd
User avatar
martinvicanek
Posts: 1334
Joined: Sat Jun 22, 2013 8:28 pm

Re: Chainsaw Oscillator

Post by martinvicanek »

Below is a synth based on the chainsaw osc with filtering and a few more features. This implementation is in blue rather than poly (white). All presets use only one osc per note, and no chorus or other effects.
Attachments
ChainsawSynth.fsm
Bugs pointed out by Adam (see below) fixed. Thanks Adam!
(117.2 KiB) Downloaded 1272 times
Last edited by martinvicanek on Sun Mar 21, 2021 9:46 pm, edited 1 time in total.
User avatar
Spogg
Posts: 3368
Joined: Thu Nov 20, 2014 4:24 pm
Location: Birmingham, England
Contact:

Re: Chainsaw Oscillator

Post by Spogg »

Another amazing oscillator idea Martin! :o :shock: :ugeek:

I did some quick experiments with envelope, LFO and audio rate modulation and got sounds that it would be difficult (and expensive) to get any other way. One I liked was a snare sound which was never the same per hit (just the snare, not the drum body). And all with one low CPU oscillator.

Martin, you are a treasure! Thank you so much for all you do for us. :D :D
Halon
Posts: 321
Joined: Sat Nov 28, 2015 4:42 pm
Location: Norway

Re: Chainsaw Oscillator

Post by Halon »

Thank you! Very cool! :o
adamszabo
Posts: 667
Joined: Sun Jul 11, 2010 7:21 am

Re: Chainsaw Oscillator

Post by adamszabo »

Thanks Martin! You might want to upload an updated version with some fixes because it does not make sound in the alpha because of these errors (even though it doesnt show them, I had to hunt for them):

In the envelopes you comment the hop:

Code: Select all

//mov eax,ecx; and eax,15; cmp eax,0; jnz hop;


But do not comment out the closing tag.

In the Filter lowpass -> Approx. Matched LP module "movapsout,xmm0;" there is a whitespace typo in all of them.
User avatar
martinvicanek
Posts: 1334
Joined: Sat Jun 22, 2013 8:28 pm

Re: Chainsaw Oscillator

Post by martinvicanek »

Thanks for all your comments, guys!
Adam, many thanks for taking the pain to hunt down those bugs. I should make it a habit to check my uploads with FS alpha before posting! :oops:
adamszabo
Posts: 667
Joined: Sun Jul 11, 2010 7:21 am

Re: Chainsaw Oscillator

Post by adamszabo »

The strange thing is that it didnt even show any errors in the alpha, it just didnt make any sound, so then I started investigating.
Post Reply