DrJustice contributions


#41

Just wanted to say a big THANKS to @DrJustice for sharing his amazing work. I've just discovered the preset manager, and it's amazing (I can't believe I ignored it for so long).
I found myself dreaming about it merged with a morphing function, to smooth in and out of presets, it was an amazing dream :blush:
Thanks for all these great modules, and the precise comments, it's all so useful.
and thanks a lot for the FM algorithme router, my video "traffic jam on saturn beach" uses it as a central bloc in my patch. (that recording, well the 6 first minutes) actually got a radio diffusion here in France)

Anyway, I'm diving back into your preset manager, I think I'll be making presets today, instead of patches :slight_smile:


#42

Yeah it is cool the preset manager. Only thing is if you move things around in the patch every preset will be lost. Cannot move anything. So I never really got this intergated into the setup, unfortunatly. Over here patches are always in development, so I gave up on it and went back to Axolotis own preset system.

This has to do with how Axoloti handles everything. Order of execution maybe?


#43

Thank you for the kind words, folks :slight_smile:

@the19thbear : I shall do some testing with MIDI sync, just need to set up the laptop with Cubase here. In the mean time, I've just rewritten the clock tracking for the syncable LFOs and added a blinking clock display. If the new sync code works, I'll migrate it to the syncable sequencer clocks and delays. Edit: re clock source: yep, External mode is using the 24ppq input as the clock source.

@mtyas : Cool! I love your videos with Axoloti in the forest. I'm going to take mine with me when camping, jamming in the wild with my friends - I'm in the process of putting the kit together.

@grimmreefer : Yes, for one of the save modes the execution order affects the parameter order, so there a dilemma there. However, the latest version of the Preset Manager has three save modes : Global (saves everything using parameter names), SubPatch (saves the patch/subpatch that the module is placed in) and SubPatchV1 (the original saving method, not using names). Global and SubPatch modes are not sensitive to the execution order since it binds values to parameter names, so you can modify the patch. There is one caveat: integer spinboxes are not saved in Global and SubPatch modes. This is due to the Axoloti patcher missing that one parameter type - hopefully that will be fixed in a future release. Read more here.


#44

You da man:) thanks for looking into it


#45

Chorus and phaser modules and subpatches

drj/fx/chorus - multi voice chorus with built in and external controls
drj/fx/chorus - multi voice chorus with built in control
drj/fx/chorus - multi voice chorus with external controls
drj/fx/phaser_32_mod - phaser with built in controls and modulation
drj/fx/phaser_32 - phaser with external controls and modulation

subpatches

axoloti/axoloti-contrib/patches/drj/fx/stereo_chorus.axs - stereo chorus subpatch
axoloti/axoloti-contrib/patches/drj/fx/stereo_phaser.axs - stereo phaser subpatch

demo patches

axoloti\axoloti-contrib\patches\drj\demo\test_stereo_chorus.axs - stereo chorus demo patch
axoloti\axoloti-contrib\patches\drj\demo\test_stereo_phaser.axs - stereo phaser demo patch
axoloti\axoloti-contrib\objects\drj\fx\stereo_phaser_info.axh - stereo phaser demo patch (phaser help patch)

status

Ready to use

chorus description

The chorus modules are all the same except for the io and controls. They can be configured for up to 8 voices, use a lower maximum to save some memory. There is a parameter to control the number of currently active voices and the CPU usage varies accordingly.

Attributes:
wordsize: Selects the wordsize for the delay line, 32, 16, 12, 8 or 4 bits.
interp: Enables or disables delay line interpolation.
delaysize: Size of the delay line.
maxvoices: The maximum number of active voices, 1-8.

Parameters and inlets:
time: The base delay time.
tspread: The spread of the delay times. Positive values increase the times for higher numbered voices, negative values decrease the times for higher numbered voices.
lfoamt: Amount of LFO modulation.
lfofreq: The base LFO frequency.
fspread: The spread of the LFO frequencies. Positive values increase the frequencies for higher numbered voices, negative values decrease the frequencies for higher numbered voices.
mix: Dry/wet mix.
voices: The number of currently active voices. The inlet is added to the parameter value.

I recommend a time setting of 85.33ms or 170ms, using the lower range of the time parameter for typical chorus sounds. Use lower wordsizes and no interpolation to dirty it up if needed, The fspread parameter must be non-zero for proper movement with more than 1 voice. The fspread and tspread parameters gives a large range of chorus sounds, so tewak away. 3-4 voices give nice fat chorus - use 1 voice for vibrato, or just slight fattening - 8 voices is just ridiculous, but if you want, you can...

phaser description

The phaser modules come in two varieties: one with built in controls and modulation and one for external control and modulation They can be configured for up to 32 stages. There is a parameter to control the number of currently active stages and the CPU usage varies accordingly.

Attributes:
wordsize: Selects the wordsize for the all pass delay lines, 32 or 16 bits.
maxdelay: Maximum size of the delay lines, 1-32.
maxstages: The maximum number of active stages, 1-32.

Parameters and inlets:
manual: Base frequency.
lfoamt: Amount of LFO modulation.
lfofreq: The LFO frequency.
lfopw: Pulse width fro the LFO square wave.
lfowave: LFO waveform, 1-5 = tri, sine, saw+, saw-, square.
reset: Resets the phase of the LFO.
feedback: Amount of feedback.
saturate: Soft saturation in the feedback loop.
mix: Dry/wet mix.
delay: Size of delay in samples. The inlet is added to the parameter value.
stages. Number of active stages. The inlet is added to the parameter value.

Use low delay sizes for classic phaser sounds, larger ones for more spacey sounds. Tweaking the manual, lfo, feedback and stages controls gives varying sounds, from subtle phasing to a flanging like effect. Check out axoloti\axoloti-contrib\objects\drj\fx\stereo_phaser_info.axh for some examples (it's the help patch for the phaser modules).


Cpwitz Contributions
#46

Think you very much for your incredible work @DrJustice !
I can't find delay_st_pp_mod, delay_st_pp_sync and delay_st_pp_mod_sync, only delay_st_pp object, on the repository. Did I make a mistake ?


#47

I'm glad you find it useful :slight_smile:

All 4 delay sub patches are in the repository (you can download them from there if all else fails):
https://github.com/axoloti/axoloti-contrib/tree/master/patches/drj/delay
They should appear in your local library folder after a library sync:
...\Documents\axoloti\axoloti-contrib\patches\drj\delay\


#48

I was looking in the wrong directory, sorry.
But, what's the difference between "delay_st_pp.axs" in "objects" directory and "delay_st_pp.axs" in "patches" directory ?
I'm not at home, I can't open these files.


#49

Is one an '.axs' (sub-patch), and the other an '.axp' (patch)?

a|x


#50

Are you sure ?
https://github.com/axoloti/axoloti-contrib/tree/1.0.10/patches/drj/delay
https://github.com/axoloti/axoloti-contrib/tree/1.0.10/objects/drj/delay


#51

Sorry, that was a question (forgot to add the '?').
You're right, they are both sub patches.

a|x


#52

They're identical. It's probably the remains of me testing subpatches vs objects in the objects branch. I will remove the one from objects for now for consistency.

BTW, this is an issue that I need to find out abut; are we supposed to put subpatches in the objects branch? It will help making their behaviour more object-like, since they can then be found in the object browser.


#53

In my contribution directory, I put the subpatches, that I use like objects, in the objects directory. I think it's more convenient having them in the object browser.
I use patches directory for "demo" patches only. I don't no if this a good idea.


#54

I was wondering about that. My feeling is that sub patches should go in Objects, since they're used like objects, and it's useful for them to appear in the browser.

a|x


#55

I agree with both of you :+1:

Looks like others are doing it too (there are more .axs in the objects branch than in the patches branch), so I will go with the flow and move all subpatches to the object branch. Thanks for nudging me to make a decision on this :slight_smile:

Edit: Done. This also solves the "subpatches must be in the same branch" -problem, since the object search mechanism resolves the subpatches as if they were objects. Great!


#56

I've not gotten Cubase up and running quite yet, but I have made a "simulation" patch for MIDI clock testing. It seems to work fine here. I'll get back to testing with a DAW later though.

The attached LFO sync test is patched up to let you play with external clock, midi clock and tap tempo:

test_lfo_sync.axp (4.4 KB)


#57

Thanks a million! Will test as soon as I have time. Thanks for taking the time to do this:)


#58

Hmmm... no succes here. It might just be me. But thanks for looking into it.


#59

oh man.. its been months but i finally tested it. Simply awesome, you are a hero.

I also wonder if there is a proper way to communicate the loaded settings to the master patch gui or even external hardware in the future (like encoders with leds).

  • looks like subpatcher v1 mode helps save all the parameters in my wavetable synth..very cool.
    I also had crashing errors when using the manager object on the top level of the patch - perhaps due to string, table load and allocate objects - not sure. Will be looking at it deeper in the next months.

#60

I love your preset manager! Great idea and it works perfect! Thats the right tool when patching work is done. Even Program Change from external sequencer works like a charm! Thank you!
One question:
Cant store the patch including the presets as startup patch on sd-Card? presets always get lost. Is there a workaround?