and a sequencable variant with up to 8 bands and 16 randomisable presets
shows how to make use of the different filters
Note that the whole track is driven by a single saw oscillator!
equal EQ0.1.axp (50.4 KB)
and a sequencable variant with up to 8 bands and 16 randomisable presets
shows how to make use of the different filters
Note that the whole track is driven by a single saw oscillator!
equal EQ0.1.axp (50.4 KB)
and another step in the equal-amplitude EQ.. lets let it glide and use envelopes on the seperate bands!
and several other useful modules that come along with it
Time for some acid!
debug update2
equal amp EQ morphed.axp (80.9 KB)
The TZMMF object is insane. Played around with some heavy reverb while modulating the filter and resonance and got some terrifying (in a good way) haunted forest sounds out of it. That's just on the first mode, haven't even toyed around with the others yet!
And a nice DJ-style stereo filter along the architecture of the eurorack "overseer" module of WMD to put at the end of your mix.
It's a quad filter that outputs the input through to the output when "center" is at zero (though resonance is still hearable and lp/hp offset can be added/subtracted in which case you do hear a difference at zero), but removes the lows when going higher in cutoff and removes the highs when going lower in cutoff.
Tilting options and lp/hp offsets are included to create a nice stereo field, turn it into a bp (turn up hp and turn down lp) or widen the center where's no response and limit the cutoff range (so it doesn't go as far down/up).
Mute function is filtered at audio rate and works as a (fast) crossfader, so you can drive it with fast gates for some kind of amplitude modulation.
Highpass filter can be oversampled so it can filter out all high frequencies at 4x oversampling (lowpass filter always filters out all frequencies at low cutoff, but this can be changed by setting "lp" to a higher value even though this means the lp filter will kick in later).
mix out filter.axp (28.2 KB)
and a stereo oscillator to play around with
together with the morphing EQ it's a fun sound generator that goes all over the stereo field!
Try out a XY-scope on the oscillator itself to show it's "image generator" on your computer (if you have one that is... otherwise you might want to try the "soundcard scope" of C. Zeitnitz)
stereo image osc 3.axp (47.2 KB)
btw, for the non-coders overhere...
I have quite a lot of oscillators, but not really a lot of LFO's in comparison.
but... if you like the waveforms coming out of an oscillator, you can try to copy the code that's in the a-rate code over into the k-rate code.
Then change all the audio inputs&outputs to fractional (so turn each red in/output into a blue in/output).
Often you will want to take down the frequency a couple of octaves. Then search for the place where the frequency is calculated, which is "MTOFEXTENDED(.......,.......)" (eg. MTOFEXTENDED(param_pitch,freq)).
Copy what's in the second half (in this case "freq") to the line below it and add ">>A" where A is the amount of octaves you want to lower the frequency.
"freq=freq>>8;"
or eg. in case of tables where "i" is used for selecting the index of the table: "freq[i]=freq[i]>>8;"
Et voilรก, you just turned an oscillator into a LFO, together with all it's possible waveshapes and controls!
Thanks for this, have been playing around coding lfos, and this gave me some ideas.
Though I've been having tons of fun modulating the TZMMF filter with oscillators recently! Pitch detector on input controlling 2 different oscillators offset by an octave into the fm input, sounds awesome!
looks very promising, this was much needed. Especially that it can be a full range hp filter.
the problem for a highpass filter is that the samplerate combined with the highest value output of the frequency calculation "MTOF(...,...)" is too low to be able to filter out all high frequencies, but if you oversample a highpass filter about 4 times, it should be able to make the difference between the LP-filter and the input so small, that it effectively filters out all frequencies. To create oversampling on any (in this case highpass) filter, try putting a code within a for-loop like this:
for(int i=0;i<4;i++)
{
val=___SMMLA(inlet _in - val<<1,f,val);
}
outlet_out=inlet_in-val;
note that I had to add a space between "inlet" and "_in", otherwise the browser won't display the underscore.. but of course, they should be connected without the space in the actual code.
You can of course add an integer controller instead of "4" to set it to any oversampling you like (lowest number should be 1, otherwise the loop stops before it has done anything).
Somebody in a synthedit forum asked for a way to create a polyphonic portamento, so I gave him a few tips out of my head for a work around to get it to work. This soon led to some more ideas which could be done with the work around after which I thought.. hmmm, let's actually try this out for the axoloti.. itz nice
also has several other interesting modules I wrote on the fly
-simple clock lfo with pulsewidth controlled offbeat and humanize settings
-velocity sensitive ADSR with a nice twist
-randomisable integer table generator and readout in one
-delay with a 4-bit "sequencer"-parameter to set lightgrey/darkgrey/black delaytaps, each with their own timing interval (interval*tapnumber), panning and level. With each next tap of the same color, panning of that color swaps.
so all lightgrey, darkgrey and black taps will pingpong, but each at their own rhythm set by the tap-"sequencer".
random previous note portamento.axp (76.4 KB)
and as requested by philoop, a soft-syncable lfo that can be used with an external midi clock.
soft sync lfo.axp (21.3 KB)
4 types of midi note priority:
last, lowest, highest and loudest
midi note priority.axp (53.1 KB)
several new modules for:
-creating melody patterns that go back to 0 (root) at the end of the counter.
-randomisation of 4 values with shared selectable minimum and maximum value
-xy-shape lfo, based on sine&cosine pair, it crossfades between points on the circle.
So when steps is set to 5 and skip to 2, it generates a pentagram movement.
-2 versions of synced "timbre" sine oscillators with self-fm. For generating a peak in the spectrum and then use the internal FM oscillator to create overtones and undertones around this peak.
-4-tap pingpong delay with individual panning and filtering for each tap
-sine lfo's (still called saw though haha), that randomly update their harmonic ratio at each cycle. Wob Wobwob Wobberdi Wob!
-interpolated audio crossfader
-and some more editted modules I guess..
peaks0.3.axp (103.3 KB)
and a small update:
peaks0.4.axp (126.8 KB)
number finger trigger.axp (20.5 KB)
triggering samples with the number keys of the keyboard
Perhaps useful for creating drum rhythm presets by playing and recording the triggers?
Analyizing the signal using only ears and 8" monitors, both versions sounded pretty beefy in that range. I the fifth is really great and adds a nice gritty character.
A try-out to enable some sort song-generation with a meaningful way for the settings of different parts of the song.
It features a main "compex counter" that randomly creates an amount of poly-rhythmic measures based on a base measure-size, amount of measures per bar and amount of bars that the "part" of the song may have.
By adding attribute-based sequences with names, a song can be "set-up" that control other modules that will perform the dedicated function eg. the genre-sequence might be used to select different presets from a drum-sequencer to set each part of a song to another genre.
Basically, it just spits out sequences of index-numbers for all counting positions of beat,measures,bars, parts and the manual settings per part, that can be used to control modules. The meaning of each setting is completely up to you, I just provided several naming/meaning examples that would still need other "receiving" modules to actually perform the corresponding function selected by the index.
I've tried to make this as simple as possible to customise, so people can make their own lists of meanings/functions to control.
Note that this bunch probably already takes quite some memory of your patch-size (look at the file size! haha), so it would be mostly used in case you've got multiple axoloti that work together to create a full song and you use a single axoloti to control all of them over midi or using the analogue/digital ins/outs, or whatever way you use to make them communicate.
song creator1.0.axp (559.9 KB)
Cleaned up patch without explanations&displays of the different parts, but added an even more simplified version of the ALL SETTINGS modules.
Also shows how to add more of them to provide loading/saving song settings with multiples of 16 settings.
song creator1.2.axp (543.7 KB)
ps. to minimise the amount of midi-messages being send, some of the indices can be combined as they're just a couple of bits and send as one midi CC value message like this:
value=(indexA&3)+(indexB<<2);
This way, the first 4 bits are for index A (numbers 0-15) and the next 3 bits can be used for index B (numbers 0-7).
The receiving side can then decompose the message like this:
indexA= value&3;
indexB=value>>2;
Are you doing any manipulation of the sound here at all, or are the Axolotis completely playing themselves? It's equally impressive both ways. Even the transitions sound as if they're meticulously written out.
it's mostly all automatic, there were some brief instances I played around with some parameters to change the sound. I even went away for a while xD