Wow , lots of good stuff ! Thanks for your contribution DrJustice
DrJustice contributions
really really nice!
...but any idea how to set a certain step of the 'stepseq_16_switch'
from the 'outside' ?
for example via an additional input 'set step',
the 'parameter_s1' in your object will
be set to the value of 'set step' if inlet_step == 1 ,
the 'parameter_s2' in your object will
be set to the value of 'set step' if inlet_step == 2 ,
and so on...
Setting parameters from module code can be done to a degree, but not reliably (the issue of parameter access is being discussed elsewhere). The method you describe could be implemented, but the buttons would not reflect the step enables taken from the dedicated input.
An alternative module could be made for this, not using the current button parameters, but making a switch module that is meant for external control. It could have a display to reflect the state of the switches. In that case the design is open for implementing your suggestion and any useful additions, while still being controllable by MIDI CC (an explicit goal of these modules). One could also use momentary buttons for toggling the step enables and then use a display element to reflect the states - that would accommodate your suggestion while keeping the display up to date.
Ah!
Setting parameters from module code can be done to a degree, but not
reliably (the issue of parameter access is being discussed elsewhere)
...just found the thread,but it's a bit to DEEP for me at the moment...
It could have a display to reflect the state of the switches.
how could that be done,practically ?
anyway,I got to where I wanted to get by using a 16 - sample buffer,
but this approach doesn't reflect the actual sequence in the patcher UI,
AND, more important, the buffer is not visible to your 'preset manager' (which is simply GREAT)
(you can save/load the buffer to sd-card anyway,so it's working as I meant it to)
so,conclusion,it would be great to have a SIMPLE way to set UI elements programatically...
PWM LFOs
drj/lfo/lfo_pwm_b - bipolar PWM LFO
drj/lfo/lfo_pwm_u - unipolar PWM LFO
status
Ready to use
description
LFOs with PWM outputs and pitch, phase, pulse width and reset inputs.
MIDI NRPN receivers
drj/midi/nrpn_rx_multi - multi output NRPN receiver
drj/midi/nrpn_rx_multi2 - multi parameter, multi output NRPN receiver
drj/midi/nrpn_rx_f - fractional output NRPN receiver
drj/midi/nrpn_rx_i - integer output NRPN receiver
status
Ready to use
description
A set of MIDI Non Registered Parameter Number receivers. The "multi" variants are for advanced use where on might want some or all of the value formats, as well as triggered reception.
The chmsb outputs generates a pulse when the MSB portion of the NRPN value is received, and the chlsb output generates a pulse when the LSB portion of the NRPN value is received - the latter indicates the complete reception of a 14 bit value, when both the MSB and LSB values have been received, and can be used to ensure the integrity of the full 14bit discrete value.
The multi2 variant receives all NRPNs and has an nrpn otutput to indicate the last received one, whereas the other variants receives only the NRPN set by the nrpn attribute.
Clock multiplier and divider
drj/seq/clk_mul - clock multiplier
drj/seq/clk_div - clock divider
status
Ready to use
description
Multiplies and divides a clock signal by the set factor. Both modules are phase locked.
By using both modules in series, non integer ratios can be obtained
Tap tempo
drj/seq/tap_tempo - tap tempo clock generator, live mul/div
drj/seq/tap_tempo - tap tempo clock generator, attributes mul/div
status
Ready to use
description
This is a pair of Tap tempo clock generator modules. The tapped tempo is multiplied and divided by clockmul and clockdiv. If you want e.g. a 24 PPQ (Pulses Per Quarternote) clock and want to tap 4ths, set clockmul to 24, set clockmul to 12 for tapping 8ths etc..
The tempo can be tapped using the built in button and by using the boolean tap input. The tapping is set to time out after 5 seconds to avoid super slow tempos on the first tap in a series.
The clock output emits pulses at the tapped tempo * clockmul / clockdiv. The phasor output emits a positive ramp at the same frequency.
The first version uses live parameters for the clock multiplier and divider and the second uses attributes for a tiny saving of CPU power
Note: the other _sync series modules can be tapped by setting the sync source to external and "tapping" the 24ppq (clock) input.
Cpwitz Contributions
LFOs with selectable waveforms and bi/uni -polar outputs
drj/lfo/multi_wave_sync - selectable waveform, uni/bi -polar, syncable
drj/lfo/multi_wave - selectable waveform, uni/bi -polar
drj/lfo/multi_wave - selectable waveform, uni/bi -polar, modulation
drj/lfo/dual_multi_wave - selectable waveform, uni/bi -polar, quadrature
drj/lfo/dual_multi_wave - selectable waveform, uni/bi -polar, quadrature, modulation
status
Ready to use
description
This is a set of LFOs with selectable waveform and selectable bipolar/unipolar outputs. One of them is clock/MIDI syncable. Two of them have quadrature outputs at 0 and 90 degrees. All have pulse width controls for the square wave and bipolar amplitude controls.
LFO midi clock phase lock
Hi. Just testet out the syncable multiwave lfo. I could get it to lock to external midi sync, but never on beat. Sorry for being so ignorant, but I still got some problems. I set the device to OMNI. Clock source to MIDI. In pro tools i enable midi beat clock for the axoloti. I have nothing connected to the multi wave 24ppq in, since my logic tells me that it pics up the clock internally.
I then load up the patch. Press play in pro tools and eveything seems to lock fine. I then press stop, and press play again, and the sync lock is way off. I have the clockdiv set to 24 to give me a good 4 to the floor LFO modulation, with a square wave from the multi lfo, modulating an osc.
What am i doing wrong?
Thanks:)
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
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
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?
Thank you for the kind words, folks
@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.
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
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 ?
I'm glad you find it useful
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\
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.