SirSickSik Contributions


#1074

oh oh oh, a spectral oscillator is coming closer and closer, guess corona gives us something positive after all :stuck_out_tongue:
based on the fft frequency analyser, it will enable you to "draw" your spectrum live and modulate it (I'm working on several basic shapers that can be added, subtract, multiplied or taken the max peak value).
So inversely to the analyser, where you put in a waveform and you can see it's spectrum, this one lets you build a spectrum shape and the oscillator then uses the fft to build it's waveform live.
Nice thing is that it can automatically take into account the highest allowed harmonic to prevent anti-alliasing and no filtering is needed afterwards as you can make your filter sweeps in the spectrum already!
Next to this, by using several shapers together, you can modulate them all seperately to build up your sound part by part, making very weird movements eg. independent control over odd/even/any harmonic stepsize, sidewards spreading of harmonic peaks from a center, where the spread is different for going up/down, intervals in the spectrum that move up while others move down, harmonic thinning/thickening ((inverse)-exponential curve) etc etc..
Atm the cpu readout shows 4% cpu, building&playing a 128-point interpolated waveform, though, as I haven't optimised all of the code yet, it has some cpu peaks due to the amount of calculations in the krate code, causing it to glitch sometimes. But after having updating part of the code by now, it already shows lots of improvement. At first I was doubtful if the axoloti could put such a feature off, but I'm starting to get more and more positive about it's possibility.
Though, from what I have now it's already an oscillator with quite a bizarre sound that goes way beyond wavetable synthesis as if your doing all synthesis forms altogether.. Additive, subtractive, fm, am, wavetable, filtering, distortion, phasing, etc.

a little demo :slight_smile:

demo track


#1075

Sounds Gorgeous, like a mechanical planet


#1076

Sounds really great!!!


#1077

I cannot help checking my mail every hour to see if the oscillator has yet arrived !!! :slight_smile:
This sounds amazing... You are one Sick Sik, Sir! Many thanks, you are great!!


#1078

I'm not bringing it out yet. It's still constantly on the brink of glitching.
If you use only basic shapes to save cpu, it is a bit useless, as you could very well just use a saw oscillator and filter it. So unless I can get the more advanced effects working without glitching and able to add other external fx/mods to actually make it a synth instead of only the oscillator, I won't bring it out..


#1079

Okay I respect that of course!!
Thanks for letting me now so I can go on with my life. :-):-):slight_smile:

All the best, good health and many greetings


#1080

anyways, I'm still busy on it. I was just very happy to see that I could at least get it to work live instead of only for creating wavetables (which is also still in the planning, which will be more or less like the thing I've done now, but then you'll make a wavetable using these spectrum shapers, modulating their parameters by the morphs axis/axes.)
It seems that most of the cpu spikes are created by my own modifications of the arm_math processes (I adjusted the basic math functions in the hope I could make use of their optimalisations), so perhaps there's still some things to gain there, but I know too little about programming to know how these optimalisations work when it comes to "programming rules".
eg. most of those math functions work with a "while" function, performing 4 calculations per cycle, combining 2 arrays into 1. Some of my calculations need more then just adding/multiplying, so I added those calculations within those cycle-blocks, but I'm not sure how this influences the cpu use of that calculation. It might be that I should put those other calculations within another "while" cycle, or to maximally allow 1 point to be calculate per cycle and use 4 different maths calculations for that point,but I'm not sure.. if somebody knows, please share that information :slight_smile:


#1081

What's the Scnt parameter on your sinoid module for?


#1082

could you tell me the folder the module is in? Can't remember all of my modules just like that..


#1083

its in the sss/osc folder.

I love your modules. Whenever I need a new sound, I just look through and see what module of yours I haven't really jumped into yet


#1084

as in the overview "An internal counter can switch the play-direction after x-amount of zero-crossings of the phase".
oh, I had an explanation overhere, but after trying the module out again, it was definitely wrong haha
anyways, the zero-crossings of the phase are counted and after an x amount of steps set by the scnt parameter, it flips the direction of the frequency, so the oscillator plays the other way. The effects can be all kinds of things depending on modulation settings.


#1085

secret surprise package with some new modules :sunglasses:
if you have a patch with a factory-"delay-write" in it (or any other delay using array[]), you can add these modules to spice it up (mimeophone anyone? :wink: ) . Also some extra goodies for melodies/modulations

nested scatter0.2.axp (99.9 KB)


#1086

oh, hold on!
I made a couple of mistakes late at night, screwing up the interpolation of some of the readouts causing some soft noise.
This is the right patch!
nested scatter0.2.axp (109.7 KB)


#1087

ok, final one haha
added another goodie and fixed some small issues
sit back, close your eyes and relax :slight_smile:
nested scatter0.4.axp (143.1 KB)


#1088

Great Patch.:...I would like to have midiclock though


#1089

Hi, sir, I just wanted to congratulate you for the MultiNoise osc; I just use it all the time for my Harsh Noise Wall project! This Random input is simply perfect!


#1090

Amazing work in this thread that just continues to inspire @SirSickSik did you end up completing the custom super synth all these modules were contributing to? Given the quality of your work I'd love to see it in action


#1091

I've made several setups, but I haven't been completely satisfied yet about the way I had to control all of it (bit hard with a small midi controller with no visual feedback of controlled parameters).
Though this is one of the latest track I recorded with my axo-case, (ab)using a beatstep pro (only c-scale notes are actually used to play notes from a 7-note scale, all others control others aspects like preset-randomisation, scale/key changing, so I could sequence those too. So only the actual drum sequencer plays the gates of all the voices&drums and some extra parameters.

Also I'm currently putting a bit more energy into my modular system to get that one ready. Of which one part is getting that new small axol and make me a live fft-oscillator module and a giant reverb/fx module.


#1092

Really like the song, sounds great


#1093

next "suitcase setup" track:

completely generated by 5 axoloti's. Just uses a single "core" drum sequence (variations are made on the fly using some algorithms), all other patterns and changes are created at function-controlled-random, no manual control here! Everytime I restart the axoloti's, it will sound different, even scale&chord progressions are randomised. Before this recording, I quickly recorded 16 samples of me saying some short nasty stuff with a nasty voice.

switch(axoloti_board_number)
{
case 1:
-midi control board generating a clock that randomly chooses between seconds and thirds and sends a message to all boards which it has chosen, so everything follows in the timing. Next to this, also the current play position is send, so everything is always locked to the same count. To make the timing of all modules really precise, I send out the current main k-rate tempo using 4 midi-CC, so all modules in other boards match the current tempo precisely.

-main "key" (rootnote of scale, tonnetz movement), scale (which note-spacings are used for the 7 notes of the scale) and a chord sequencer (which of the 7 notes may actually be used). Loosely based on the eurorack sinfonion and a bit further extended. Making sure all the voices keep in tune with each other no matter what.

-drum pattern midi generators: 16 step, 4 level sequencers with random flam and roll. One dedicated to kick and one for hihats (functioning as the legs). Then two others for the "arms" of the drummer, which will use patterns to select the different drums while taking into account how far the arm could have maximally moved based on the speed of the incoming triggers. Then one last one to force one of these sequencers to play the snare when needed.

-several of the same sequencers to trigger the bass, drone and "guitar" and voice-samples.

-16-sample 1.5sec/sample recorder and granular playback.
;break;

case 1:
-drum patch with the pattern-generator/"arm-allocator" featuring basskick, snare, 3 toms, 1 multi-function percussion, hihat, cymbal, fm-bell and 2 random percussion generators (all different kinds of synthesis). Kick goes out left channel, voice from board 1 gets mixed with the other percussion and being send out on right channel.
;break;

case 2:
-bass generator, started out as a vowel-oscillator, but proved to be awesome for a kind of "slap"-bass.
-percussion/voice/bass (no kick) stereo glitch fx with around 20 simultanuous fx (with a controllable "chance" randomly selected with a "max" amount of effects that can be simultanuously active). Bass goes through left channel, percussion&voice through right channel of glitch fx. Kick bypasses the glitch and is then mixed with the percussion output and going through a soft-drive. Drums are then output to the left channel, bass to the right channel.
;break;

case 3:
-mono voice/drone generator. Ifft-based oscillator that morphes through a bank of 2048 preset fft-spectra to set amplitudes of root and overtones of the waveform (throat), then windows/multiplies it by an 8-preset fft-window spectrum (serves as a fixed filter that doesn't follow the pitch, like the mouth changing the spectrum of the throat sound).
Also has a strummed semi-random overtone "plucker" to trigger individual overtones which can then damp and spread out their energy to neightbouring harmonics. Some extra functions serve to relocate/morph the amplitudes of the harmonics to other harmonics to continuously change the spectrum. Also the phase-values of the ifft are being slowely modulated independently to create an always evolving waveform. When the waveform-sample is generated, 4 sample-oscillators use this waveform, but can have different (random&fixed) pitch-offsets to create a kind of chorusing effect.
Percussion is send forward to the left channel output, bass is mixed with the drone voice and goes out right.
;break;

case 4:
"guitar" generator. Also a kind of vowel oscillator, but instead of having 3 seperate sine oscillators being synced and amplitude modulated by the main oscillator, this one just consists of 1 oscillator that morphs through sines, driven by the same phase, but having this phase multiplied at different amounts to create different harmonic overtones (up to 32 different rates still only takes 7%, as basically at every moment, it's just one phase and 3x a sine calculation instead of 32 different sines). This is followed by a set of distortions with biquad band-pass filters to set the distortion's character.
Actually, the amount of filters in all the patches is quite low, as the synthesis-modes used already limit the amount of harmonics being generated for most of the voices.
At the end of the chain, all channels are finally being mixed together and send out in stereo (yes, I do still need one more fx to create a nice stereo image)
;break;
}