Cpwitz Contributions


#16

Ah ok it's there actually. But why are the other contribs available via the patch browser and this one not?

The fake granular verb sounds cool but the first delay taps are really audible which makes it feel more like a delay that diffuses into a reverb. Still great though!


#17

The other patches in the contribution library are saved as subpatches and can therefor be looked up via the browser. Regular patches has to be accesed through a reugalr browser.


#18

Ah that makes sense, thanks!


#19

cpwitz/osc/sine harmonics.axo

Easy organs! Made an object of things I wire and then copy&paste a lot.

Sine wave oscillator with 7 additional harmonics: sub octave, 2nd, 3rd, 4th, 5th, 6th and major 7th (2 octaves up). The intervals are pure intervals and not equally tempered.

The levels of each harmonic can be modulated separately.

One instance uses about 8% CPU.

There's a demo/testing patch under patches/cpwitz/synths/test-sine-harmonics.axp


Best approach for additive 'organ' patch?
#20

cpwitz/demux/demux smooth 8.axo

Smoothing 8 out demultiplexer (k-rate fractionals). Same as the factory "demux 8" but the output values can be smoothed exponentially with adjustable rise and fall time.

There's a demo/testing patch under patches/cpwitz/synths/test-sine-harmonics.axp


#21

cpwitz/lfo/tri.axo

Triangle wave LFO.

I really think for some modulations linear triangle waves are better suited than sines (for example for pwm or wave shapes). So I finally made one :smile:


#22

very good :wink: actually should go to factory/objects


#23

cpwitz/delay/tape-delay.axs

A pitch-shifting (when rate is changed) and saturating tape delay effect. Sounds like a cheap bbd.

You can toggle the output low pass filter and the saturation in the feedback loop. The low pass filter frequency is synchronised to the delay rate to make long delays (low rates) less aliased.

You really should turn on saturation and filtering for old-school crunch. A zero delay rate leads to no delay because no samples are taken with no rate!


#24

cpwitz/delay/triggered buffer.axo

The core object for the tape-delay effect. It's basically a circular buffer, triggered by every rising edge above zero on the trigger input (linear phasor is optimal).

Every rising zero edge a new sample is taken from the input and the oldest sample from the buffer is sent to output. Essentially, it's a tape loop with variable speed. There's no interpolation, so low rates get very crunchy and aliased.

The object needs a reference to a 32b table. The size of the table defines the range of available sample rates. The tape-delay effect for example uses a 2048 samples table.


#25

Stupid me! I was wondering about too heavy aliasing and then noticed that feeding the feedback back into the downsampling routine isn't really a great idea. And now there it is:

cpwitz/delay/triggered buffer feedback.axo

The same downsampling circular buffer but with internal feedback routing. Now we're talking.

For fancy experiments the old triggered buffer without internal feedback remains the same. I fixed the tape-delay effect with the new buffer, so it's much cleaner now.


#26

cpwitz/delay/tape-delay-stereo.axs

And here's a vintage lo-fi stereo tape delay. Good for scifi spaces and mellow choruses. The delay rates can be individually set for left and right channel. And there's a comb knob to adjust both together relative to each other.


#27

Hi tried both, this makes it sound a lot better thank you very much!

I'm trying to combine your delay with the sync engine of @SirSickSik here:

I tried to plug the output of the sync engine into the trigger of the triggered buffer object but it didnt work, no sound coming from the delay. Do you have any suggestions? It would be great to be able to tempo sync your tape delay, but also at a certain point break the sync and twist the delay time knobs to get that pitch effects.

This is the patch:
midi clock sync example tape delay.axp (20.4 KB)


#28

Yes, you're right. Clock syncing would be awesome. I haven't had the time to test @SirSickSik's sync solution yet (shame!).

I don't have my axoloti hardware at hand for the next few days.
But maybe one tip for further experiments: The trigger input doesn't work like the input of the delay read object. The delay's input is a fractional number which defines the delay time. The trigger input works as a sample trigger. When the input goes above 0 a new sample is taken and the oldest sample is put out on the output. This defines the sample rate of the buffer and needs to be driven by an audio rate oscillator (preferably a phasor). If you take a look at my two tape delay objects there's always a phasor driving the trigger input:

To set a desired delay rate this phasor's frequency must be modulated (red circle in the screenshot above). And maybe with correct scaling (math/*c) the output of the sync engine can set the correct delay rate.

Hope, that makes any sense.
I haven't my hardware around and therefore I can only talk and not try, sorry. Thinking about it, maybe I someday should make a more integrated downsampling circular buffer with internal triggering, where you can directly modulate the delay time.

Oh yeah. As always... lots of possibilities and too little of time :cry:.


#29

@cpwitz
Thanks for the explanation, that is totally understandable. Right now I'm not capable of logically determining the right scaling for the sync engine but I guess I'll try out with different values of math/*c and see If I can correctly feed your buffer (or maybe get funky unexpected results :smile:)

That sound like a really great Idea. In general I really like what you can do with axoloti but for using it in a bigger setup it is so important to have sync mechanisms for time based effects.


#30

@cpwitz
I Combined your tape delay with the syncengine of @rbrt in the delay sync thread:

Tapping the Tempo works great now but it still sounds really downsampled in bitcrusher like. Any idea why?
This is the patch:
Tape Delay Tap Tempo.axp (6.7 KB)

P.S. If you really want that tape delay sound the filter and saturation should be in the feedback loop :wink:

P.S.S. I raised the buffer size of the table/aloc, that helped!


#31

it is an downsampling bitcrusher delay,the saw acts like Samplerate, nice effect...


#32

Don't have time to check it out tonight, but do you really mean major 7th? The 7th harmonic (if that's what you mean) is slightly flat of a minor 7th normally. Unless you're actually a lot higher up the spectrum than I realise and it is actually a harmonic that is closer to a major 7th.


#33

Yes, it's a little flat major seventh: fundamentalHz*7.5
This gives for a A2 (110Hz) 825Hz.
Equally tempered the major 7th would be 830.61Hz. The tempered minor 7th would be 783.9Hz. Or did I miscalculate (happens very often)?

I wasn't thinking in tonewheel harmonics but wanted to have pure overtone factors. But it maybe really makes sense to make a tempered version of the sine overtone oscillator to act more like drawbars on hammonds.


#34

Ah ok, so really it's the 15th harmonic of a fundamental an octave lower (the sub I guess).


#35

patches/cpwitz/effects/mod-filter-array.axp

This is my humble attempt to recreate the famous Moog Midi MuRF pedal with Axoloti. As I discovered that this cool pedal isn't produced anymore (I think, they ran out of filter chips) I wanted to build something like this with axo. I'm using resonant factory svf bandpass filters, so you can't expect a true Moog sound recreation. But it can produce some freaky modulations especially on synth pads, guitar and drum sounds.

The patch is designed as a pedal-like effect and takes the sound input from audio in left. But you can easily repatch it to modulate Axoloti sound sources.

So, what can it do? It has 8 tuned filter bands, which are triggered by a 16 step pattern which is driven either by internal or MIDI clock. Each trigger impulse starts an ad-envelope for the triggered band with adjustable attack/decay time. The filter bank has two modes: Mids and bass band. If you turn on bass-bands, the filters are acting on lower frequencies.

These are the relevant objects/controls:

clock-source

random - Turn on to randomly trigger one of the 16 steps in the pattern. If off, the pattern runs sequentially.
internal/MIDI - Select either internal clock or MIDI clock
internal-speed - Speed of the internal clock lfo
MIDI clock div - Select the time division (resulting in note values) for the MIDI clock. There are comments to the right of the selection indicating the resulting note value.

pattern

The trigger pattern for the filter bands. Vertically you select the band which will be triggered in each of the 16 horizontal steps. The low frequency bands are on the top.

level dials

Dial in the trigger level of each band or to be more exact: the top-level of the envelope after attack. A level setting of 0 means, triggers for this band won't be heard. You can also use the levels to tame bands, that resonate to loud with the given input sound. The labels of the level dials show the center frequency of the band in mid/bass mode (see below: filterbank/bass-bands checkbox).

env-attack/env-decay

The trigger envelope attack and delay time for all bands. Here you can define the overall feel of the pattern (staccato, fluid or backwards-like).

resonance

The filter resonance level for all bands. Be careful with high values (your speakers or ears might get damaged).

lfo-speed/lfo-depth

You can add a sine lfo to sweep the filter frequency of the bands. Gives a chorusy quality to the effect.

stereo-width

If you turn up the stereo width the odd numbered filters are panned to the left and the even numbered filters to the right output.

inputlevel - does what it says

distort-input checkbox

Turn on to soft-saturate the input signal. Gives a warmer quality to the sound.

filterbank/bass-bands checkbox

With this checkbox on, the filter's frequencies are pushed more to the bass range. Good for bass sounds. The first filter isn't a bandpass anymore then, but turns into a lowpass at 110Hz (like in the original pedal). The band frequencies are displayed in the labels of the level dials.

dry/wet-blender

The last setting is for blending the input signal with the effect signal.

I had lots of fun with the sounds you can get out of this. LittlePhatty leads, drum synths or thick pads are gorgeous. And even more fun, if you pass the effect through further delays or reverbs.