SirSickSik Contributions


#161

sweeeeeet! just finished entering all the values and writing the morphing code. my whrist hurts haha
running the vowel controller together with an LFO, counter and 4RngCnt pattern module only asks 2%

Over to the filter! this is gonna be the hard one I guess..


#162

You'll need to find some mechanism for controlling the bandwidth of the filters in exact Hz. I don't think the factory objects have a mechanism for that.

a|x


#163

I know, that's why I'm going to try to use the biquad filter in the audio cookbook.
it's the same code that was used for the filter in synthedit (by Dave Haupt).

oeh, almost there, seems the axoloti allows the code, haven't finished it yet (first gonna get me some food before stores close), but might be finished tonight! :stuck_out_tongue:


#164

it works!! 20% cpu though..


#165

Excellent!
The vocal synth I was working on used 4 8-bit sine waves and a square wave, instead of several filters, so was a bit less resource-intensive. On the other hand, it's very low-res/grungy...

a|x


#166

If you have separate controller and synthesis modules, you can have fun with an intermediate module that rearranges the connections between the two.

I did that with my a 'transformer' object for my Talkie set, works well!

a|x


#167

already doing that :wink:
now busy on the vosim/vowel oscillator for the audio source of the filter
almost done


#168

My re-routing object was a bit more complicated than it could have been, because I had to add logic to bit-shift signals up or down depending on number of source and destination bits.

a|x


#169

this is starting to sound really creepy overhere.... aliens talking?? wtf
formants are really clear now, though the pitchtracking still sounds quite synthetic (like, just mixing in a sine that plays the tune)


#170

I'm really digging the sound of fatbasterd! This will come really nice for saturation delay feedback loops!

I also tried the 64 step sequencer, and while I like the general concept I'm missing some inlets for external controll:
channel
barlenght,
preset
bars etc
Also outlets for each steps state would be cool. If we then had inlets for turning steps on and of with the cotroll module we all could start building proper drum machines with midi controllers and led feedback and everything.

Like it is now you can't really programm rhythms on the fly, you can only preprogramm them in the patcher software.


#171

thanks for the feedback, I hope to develop this sequencer way further.
at the moment I'm mainly laying out a "patch" of things that I would like to have in a single synthesizer. From there I want to combine modules into selectable functions (eg for modulation, select an envelope, LFO, automation recording, etc) and to enlarge their functionality within the range of parts of the synthesizer (building each up alongside of the others, just like evolution..)

If you want to have control over parameters, just embed the module and add "inlet_........" (where "..........." is the name of the input, don't include the brackets :wink: ) to every part that says "param_.......". Then go to the "inlet' tab and add the inlet's you just named.. whoop, there you go!

like:

original=

freq=param_freq;

new=

freq=param_freq+inlet_freq;

don't forget to add the ;
at the end of the sentence to close the "instruction" (or better: leave it, as it's already there....otherwise the module wouldn't have worked in the first place...)


#172

oeh, just found my latest vocal project in synthedit... my own voice.... how do you mean, 5 vowels??? moehahhahaaaa
https://www.facebook.com/SirSickSik/videos/10157074152775626/


#173

what is this going to be? :wink:


#174

The money adder. Will add money to you bank account, delete it, or mark it as used. Value=Pounds/euros/dollars.
Position=Who knows?


#175

hint: "I'm framing you"


#176

This has got my brain occupied too much these last hours... still trying to guess.
The only thing I thought of, before the "framing you" quote, was a some kind of table editor. But it doesn't make much sense.

I then thought about what I really needed, and hoped it would be an audience controller :imagine a concert room, position is the row number, value the column number. Then you can add someone to the audience, or delete them (if they are too noisy, fallen asleep, or not drunk enough) and used tells us if the seat is taken or free.

But I wouldn't mind @the19thbear 's guess either

I'm sure it will be fun / useful anyway (like most of your stuff, at least the ones I understand)
@SirSickSik you sure know how to tease (looking forward to testing your vowel synth too)


#177

well, I guesss your guess is pretty close with the "table editor", go look up the eurorack modular "frame module".
Though I must say, the thing you see here is still an empty shell as I want to make it a little bit nicer and need to figure out how to code that :wink:
end goal (for following module): a preset-learning module where presets are positioned in a multi-dimensional grid., based on coordinates you set yourself (name the "dimensions", eg, you could use "feelings" as name, and dial in the position you think the preset should take. From there you could multi-dimensionaly morph through all your presets (it's a wish I have had for many years, but couldn't be done in synthedit without making a SERIOUSLY HUGE project which would have cpu problems because of the immense graphics (millions of lines to be drawn)) :imp:


#178

pfoeh, that frames module is a bit more work then I previously thought..got to learn a bit more first I guess haha
so in the meanwhile something else:

NEW MODULE:

FILTER
"resonatorP"

Complex Resonator filter

Filter can be used for formant creation, allpass effects, frequency-resonator, plucked string (using dirac module), percussion, etc..

pitch control is in semitones (0=440hz, this is changable to other values if you want, just embed the module and change the "440" in the code to the required base-frequency).

resonance sets resonation length (the higher the tone, the shorter it will be->logarithmic response). When fed a dirac pulse it will make a sine that quickly fades out.

gain and max controls are from the "fatbasterd" distortion, to saveguard the output and enabling a nasty resonating distortion.

Max sets max-output value (where the amplitude will be dampened at a max level)

Gain sets the rate at which the output goes to the max, respectively to the input.


#179

an oscillator with a limited amount of waveforms now belongs to the past!
I've added some more sculpting toys (an harmonic sine generator to add harmonics to the current waveform) and a progressive "changer (the longer you hold the button, the more it gets changed->saves you lots of whrist-pain).

and a fast update, the module just got really awesome! XD
While holding down the "sine" button, you now progressively add an harmonic series to the existing waveform. This can be done realtime without bleeping! Depending on the parameters, you can set the amount of harmonics in the series, their even/odd phase-offset and the harmonic-spreading of the series.

NEW MODULE:

OSC

"sculptor"
-sculptor is based on wavetable synthesis and uses a table to save it's waveforms.

-each waveform is 1024 samples long.

-pressing the "clear" button will clear the current table->no sound!

-holding "sine" will progressively add sine-waves to the existing table.
-The "harmonic" box sets the start harmonic the first added sine will be on.
-Even/odd harmonics have a # degrees phase shift depending on the "phase" box.
-Each higher harmonic will be of a lower volume than the previous lower harmonic (quarter of the volume less then the previous one).
-"jump" sets the harmonic-spreading between each extra sine that's added while holding down the "sine" button.
-"steps" sets the count-max for the amount of sines you want to add, before the count starts again and just adds the same ros of harmonics again, saturating the volume of these harmonics.
-don't forget to push "normalise" and "dcRemove" every once in a while, so the waveform doesn't become too "hot".

-holding change will progressively add small random shapes to the current waveform.

-pressing the "randomise" button will randomise the waveform.

-though the randomised waveform is full of harmonics, holding the smooth-button will progressively smooth out the waveform by averaging each point in the table with another point that has a selectable offset position to the table-position being avaraged ("with" parameter).

-with the "with" parameter you select with which other position you average the selected table position (which is in a "for-loop", so all table positions are being recalculated after each other.
So if "with" is set to 1, each point will be averaged with the next one. If set to 5, each point will be averaged with a point 5 steps next to it. The higher you go, the more you alter the harmonic content: notch or upper harmonic creation.

-after sculpting, you can subtract any DC-offset from the table and normalise the waveform.

-if you have your waveform, you save it using the "save" button to any of the available preset-positions (preset box) (depending on the table-size you have set on the allocation module). I set mine to 524288, which allows me to store up to 512 waveforms!

-to load a waveform, select a preset number and press "load". (REMEMBER!! you need to have a filled table-allocation module to load the waveform from!! If there isn't one yet, it can't find anything and thus won't load anything! In this case (first time you use this module), you first have to make your own table!)

-"morph" sets the rate the current table is morphed into the next selected preset after you hit "load". This is done by fading between 2 arrays and updating them one by one. NOTE! If you hit "load" before a new table is totally faded in, it will update the other and thus immediately change the sound instead of morphing it! Don't worry though, it won't bleep!

NOTE! To be able to actually save your waveforms, you need to add the table-save and table-load modules from the axoloti table folder! This way you can reload your carefully created waveforms after shutdown!

-when you have a preset-file, load it into the table (loud long beep as always) and hit "load" on the "sculptor" oscillator. Now it loads the selected preset from the table WITHOUT A BEEP! For any of your other waveforms, you won't hear any beep while switching presets as long as you don't use the "table save/load" mechanism! (keep that for after your recording/liveset/etc)

-"softness" controls a lowpass filter, the higher the value, the more it dampens the sound.


#180

NEW MODULE:

TABLE
"saveloadPreset"
combination of the save and load table modules, saving a bit of space.

To be used with the "sculptor" and other modules that have "presets" based on tables, so you can later recall your saves.