Weeklybeats is a 52 week long music project in which artists compose and publicly release 1 song a week for the entire year.
Starting January 1st 2024 GMT each participant will have one week to upload one finished composition. Any style of music or selection of instruments are welcomed and encouraged. Sign up or Login to get started or check our FAQ for any help or questions you may have.

WeeklyBeats.com / Music / kevanatkins's music / Hundred Operator

Hundred Operator

By kevanatkins on February 2, 2020 11:56 pm

This track is based around a bit of an experiment that I've been working on lately with FM synthesis. It is an FM synth with one hundred operators cascading serially. Each operator's gain and frequency are randomly generated with exponential distributions. Frequencies range from DC up to 20kHz so some operators can function as LFOs. This can lead to very complex modulations between operators. A lot of the time it just creates noise, but sometimes you get some interesting stuff.

I did a very last minute arrangement with some of the samples it came out with in Renoise only processing with a bit of reverb on some things, but that's about it and I think a bandpass filter on one thing. I might upload the samples I ended up with or if you're so inclined you can compile this thing yourself and have a play. I haven't compiled it for Windows, so I don't know if that works, but let me know if you do.

https://github.com/unclewalter/hundred-operator

very cool! dreamy, unusual

Trying to understand the technical description but am always intrigued with how natural and organic electronically generated sounds can be. Is this all software based or any hardware involved?

zabutom wrote:

very cool! dreamy, unusual

Thanks.

NWSPR wrote:

Trying to understand the technical description but am always intrigued with how natural and organic electronically generated sounds can be. Is this all software based or any hardware involved?

Put simply. The program I wrote takes a sine wave oscillator, modulates its pitch with another. That modulating oscillator is modulated by another and so on until you have 100 oscillators all cascading into one another. The frequency and the amount that each oscillator will affect the next is just a set of random numbers. I decided to write my own software to do this because even doing it in something like MaxMSP would be tedious.

No hardware involved. All software-based. I think a lot of the organic quality comes from the fact that all the sound is comes from randomised sources. The distribution of those random numbers is what tends to determine the likely quality of the sound, but it will usually take a few shots before I get output that I like. A bit of well-tweaked reverb helps as well. wink

Oh man, the sounds here are just gorgeous. I love how the "just so" combination of sounds with FM can sound like all kinds of things; birds voice, human voice, classic "synth" sounds, rain, etc. Very cool. I love this piece.

fc wrote:

Oh man, the sounds here are just gorgeous. I love how the "just so" combination of sounds with FM can sound like all kinds of things; birds voice, human voice, classic "synth" sounds, rain, etc. Very cool. I love this piece.

Thanks. FM is definitely one of my favourite forms of synthesis. I definitely want to delve into this little project more. Speaking of FM, I’m on the train right now and there is literally a guy behind me with a DX7 on his lap.

Here is some raw output from the program for anyone who wants to use and abuse.

kevanatkins wrote:
fc wrote:

Oh man, the sounds here are just gorgeous. I love how the "just so" combination of sounds with FM can sound like all kinds of things; birds voice, human voice, classic "synth" sounds, rain, etc. Very cool. I love this piece.

Thanks. FM is definitely one of my favourite forms of synthesis. I definitely want to delve into this little project more. Speaking of FM, I’m on the train right now and there is literally a guy behind me with a DX7 on his lap.

Where was he going without ever knowing... eh that doesn't really work.

I love this idea and the result is very nice.

Yeah this is awesome. I made a version in SuperCollider:

{ (1..100).inject(0, {|mod| SinOsc.ar(1.exprand(1000), mod * 0.5.rrand(2)); }) ! 2 }.play;

I think I'll make it stereo next smile

license wrote:

I love this idea and the result is very nice.

Thanks.



license wrote:

Yeah this is awesome. I made a version in SuperCollider:

{ (1..100).inject(0, {|mod| SinOsc.ar(1.exprand(1000), mod * 0.5.rrand(2)); }) ! 2 }.play;

I think I'll make it stereo next smile

I love the left fold move. Very elegant. I might reimplement similarly with std::accumulate.

kevanatkins wrote:

I love the left fold move. Very elegant. I might reimplement similarly with std::accumulate.


Oh nice! I am a total C++ noob, but I'm a huge left fold fanboy smile

kevanatkins wrote:

Here is some raw output from the program for anyone who wants to use and abuse.


*yoink*

You need to login to leave a comment.
Login Sign-up