aleph pattern bank q

  • hi!

    I´m interested in using the aleph as a 4 channel pitch source, my question is if this is possible to create using just bees?!

    short description
    cv input 1: accept trig from analogue sequencer
    cv output 1-4: send static cv's
    encoder0-3: set cv value's 0-5V freely (with as much precision as possible)

    on a trig to cv input 1 the cv output values jump to the next set of values, so basically old school ultimate sound tracker style. supporting functionality would be setting number of 'rows', copy/paste a row and load/save complete patterns.

    happy to help out but I guess I need some pointer how get going!

  • a CV tutorial is on the way, it will be very helpful.

  • nice, just saw the newly added tutorials too!

  • did some more thinking around the cv tracker I´m working on, feel free to give input!

    ENC1-4 ctrl pitch cv out 1-4 (active row)
    SW1 move to next row | SW4+SW1 move active row 1 step up
    SW2 move to previous row | SW4+SW2 move active row 1 step down
    SW3 duplicate active row | SW4+SW3 delete active row
    SW4 alt key
    cv in 1 trigger/gate move to next row
    cv in 2 trigger/gate move to previous row
    cv in 3 trigger/gate move to first row
    cv in 4 trigger/gate pause on active row | exit pause

    pitch ctrl modes (different scenes?!)
    - free
    - just
    - other scales?!

    play modes (available simultaniously)
    - cv in trigger/gate
    - midi note trig row (longer compositions/random stuff)

    midi note to row table (row 1 = C3, row 2 = C#3 etc)

    load/save patterns as presets

  • this looks great! i can imagine it being super useful to have a vari-brightness grid to visualise the patterns, plus mute steps / navigate the patterns...

    we're working on adding in-built trigger/gate functionality to the CV-INs rather than needing a whole bunch of bees glue..

    more generally, the idea of a hardware tracker that spits out CV is genius to me!

  • Test2 are you designing this or just the idea man? I'd like this idea in MIDIout and CV. ;)

  • this would be (will be?) wild

  • @c1t1zen doing with a learning approach, one step at a time! next up, play around with bees to see how much is possible to do with the built-in functionality, and keep tinkering on the UI/feature set.

    @galapagoose looking forward to that in-built trigger/gate :)

  • Great idea ! it would be a kind of super Pressure Points + Brains.

  • use presets for different scales. preset recall is very fast.

  • @Test2 cool to hear you are working on it. I can't wait to try it.

  • just loaded the 8step scene, is there any more info about the operator "Y" used in that scene?!

  • I believe that's the same as SPLIT?

  • indeed - we were trying out a different name for SPLIT that is shorter / simpler / easier to recognise.

    what do you think?

  • I'm not sure I have a preference. SPLIT is somewhat more evocative to me, but you can't do better than Y for concision.

  • At first I thought it had to do with columns and rows or something, but I figured it out. :)

  • when deleting an operator, is it possible to remove/purge the unused inputs? outputs disappear nicely but inputs seem to remain, now with a little "." in front.

  • They should be gone - are you sure its not.just a refresh thing?

  • edit: moved to bug thread plus emailed scene to help@

  • a short update on the tracker idea, I somehow managed to strip down the waves module to a new module called tracker (with just the cv parts), happy to share the code if anyone is interested.

    next step will be to create a new tracker scene based on bees 0.4 and start updating the module too (harder to add than to take away though!)

  • please do

    does tracker work with the last version of bees? i might try it before updating

  • do you mean 0.4.0?! planning to test that first and then figure out how to share the code, are there any instructions about that somewhere that I have missed?!

  • Make a zip and "attach file" below the discussion box.

  • i think he's talking about on the wiki...theres plenty on how to share a scene

    modules are probably the same method just on the appropriate page

  • @test2 not 040

    034 or 020

  • Y is visually representative of one signal splitting into two, but also of two signals joining into one. I don't foresee myself ever remembering which one you meant.

  • @GreaterThanZero I was thinking about this, how about using { and } to represent split and join? Or Σ which is llike sum in maths?

  • attached the code, but just to be clear nothing new is added in this version, just tried to make a clean cv module and try to understand the code, hopefully will be start adding stuff instead but first up is testing bees 0.4!

    (had to zip the .ldr to upload it)

  • trying to put together a tracker scene, and have a question around how to populate new value to one of the LIST8/Ix values, my understanding is that if I need to edit any index of the list using encoders in PLAY mode I also need to code this a bit, something like IF LIST8/INDEX = x THEN LIST8/Ix = ENC/VAL ?!

    would the callback function be a good place to place that code ?!

    ...or is there a smart bees way of doing this without any code ?!?

  • @test2 so what are the tracker controls? i'd like to know if its working properly

  • i don't quite follow. are you trying to use 1 encoder to access only the currently selected step? if that's the case at the moment you can do it with a bunch of GATE ops and the new LOGIC to set up the controls... it's not pretty though!

  • actually you can totally do this much much more easily with output routing stored in presets.

  • thanks for all the input! getting closer and closer to a functional scene!

    as I understand aleph can be used as a midi host, so I should be able to connect a usb midi interface (testing by sending a midi note from an elektron machinedrum to an elektron tm1 connected to the aleph host input) and send a midi note from a sequencer and route the note value to other parameters in bees via the MIDINOTE/NOTE output, are there any settings that needs to be done in order to get this to work? My idea now is that the tm1 interface might not support sending midi data over usb in this way so it would be nice to know about other examples of setups that have worked!

    again, thanks for all the input so far, it's been very helpful :)

    @gli I will upload everything as soon as I get the first version to work!

  • I'm not sure MIDIOut is fully developed yet. I've been looking out for it and I'm getting behind on trying all these other apps shared lately.

  • aha, I guess this scene is ready then in the first version, hope the midi will be up and ready soon so it's possible to trigger chords with a sequencer*

    SW0 move to previous step/chord
    SW1 move to next step/chord
    *MIDI NOTE play selected step/chord (C3 = LIST8/I0)
    works with the waves and the tracker module / bees 0.4
    all editing of chords is in EDIT mode still

    to do:
    work out the best way to edit chords in play mode
    add gate/trig
    add just frequency scaling
    add octave shift
    develop a linked list operator for classic tracker functionality in gate/trig mode
    global transpose

    some of the things in the to do are clearly over my head so don´t be shy if you feel like helping out :)

    (tracker module source posted above in this thread)

  • new version upload, with edit in play mode.

    first test uploaded to soundcloud ->

    still to do,
    if possible, have the encoders sync with the different rows, now the last edited value is 'held' in the encoder so it is not optimal user experience
    other things, see previous post!

  • nice demo!

  • @gli thx!

    edit1: posted a question here earlier about frameVal, think I sorted it out… testing continues :)

    edit2: I have a question about the wavetables that comes with mono and waves, do they include a pulse fix 50% wave shape? is it possible to generate a wavetable from a sample of an analogue oscillator?!

  • If you want to do these adjustments join the GitHub development side. Wave shapes are made with Supercollider, so I don't think you can just sample a synth and use as your waveshape. You could probably emulate an analog oscillator with some inconsistancy in the wavetable.

  • the wavetables are static data built into the module. sweeping shape crossfades between five tables (or something): sine, even harmonics, odd harmonics, all harmonics, higher order. (so, kinda triangle -> square -> saw.)

    the supercollider scripts to build the tables are in the github. it should be kinda easy to tweak those scripts or use something else.

    beware that there is no bandlimiting done really in this oscillator. so the approximations are pretty low order. if you put high order harmonics in you will get aliasing for sure, maybe you don't mind.

    or you can try adding some bandlimiting code to e.g. waves/osc_waves.c. there is some in there; basic idea is lowest shape is always a sine, restrict shape as a function of frequency. never quite got the function right and decided it was simply best done on an ad hoc basis if the tables changed.

  • PS for variable duty cycle pulse wave, this may be useful:

    d = duty cycle ratio (0-1)

    a = amplitude of nth harmonic = 2 / (pi * n) * sin(n * pi * d)

    (so square wave is a special case; d = 0.5 so the sine term is zero for even harmonics.)

    sum as many harmonics as you like to achieve desired richness / risk of aliasing.

  • @c1t1zen @zebra thanks!

    added the first version (based on the mono module) to the scene sharing page, just found the wavetable script, will try that! will be uploading the code to Github too, just need to figure out how that works.

  • Github is pretty rad, Just make sure to Fork the source for your own code. Looking forward to some new waves.

  • ok, just added the prgm module to

    having some trouble with oscillator frequencies getting stuck when I reload the module, posting the first version in scene sharing when I have sorted it out!

    edit: uploaded a first version, but still some things to do.

  • having some trouble with the scaler script in PD, can't get the output .dat-file to be overwritten, assuming that is what is meant to happen!

    edit: found it, it was saved to Applications/SuperCollider/ :)

  • super cool, thanks for sharing!

    one thing i wanted to point out is that in a way it might be easier / cleaner to acheive just intonation on the control side, just by changing the param scaler data for Hz type parameters, and sending the linear frequency directly (in 16.16 format.) in other words, taking advantage of all the stuff already in place for BEES to generate 12tet. no need even to recompile, just replace scaler_note_val.dat (bees-0.5.4) and clean boot.

  • @zebra, looking at this for a later version, added some more urgent things first.

    new version uploaded: prgm 0.1.5 with sync trig and pitch modulation, see sharing page and github electropourlaction fork

  • totally stuck trying to get a phase sweep going from 0 to invert, getting the oscillators to start in sync works out well but I just can't get around how to shift the sync point within the range of one cycle (well half...), the idea is that when sync is true, all oscillators should restart at their trip points, so that two oscillators at the same frequency should cancel each other when synced and out of phase, and maybe trip points should be set in a round robin kind of way… uploaded the current version I´m battling with to github, any suggestions are most welcome :)

    edit: uploaded a slightly better version, the big problem seems to be how to dynamically scale the phase parameter to the frequency so that the parameter range is always 1 cycle…

    edit2: got it to work (I think!) new version prgm 0.1.6 now up on github and scene sharing page (tracker scene)

  • I have a question about wavetable size. I can compile with data-file and WAVE_TAB_SIZE set to 2048 but the oscillators 'dies' on startup, I wonder if there are other parameters that must be changed as well when changing size?! I would also like to know if it is possible to load 4096 wavetables?! seems to be reaching a memory limit at the moment with that size!

  • What version for bees was the above scene made in? Can't get it to load...or is it WIP ATM still?

  • you can try the one attached, it works with prgm 0.1.6 and bees 0.5.4 (and probably 0.5.5 too). controls:
    enc oscillator scaled pitch
    sw0 + enc is fine pitch pos/neg
    sw1 + enc is fine pitch amount, meant to be used with an envelope to cv-in 1
    sw2 step +1
    sw3 save step (note that you have to set parameter 030.GATE/STORE to 1 manually once loaded the scene)
    cvin1 is sent to fine pitch and sync trig

    and yes, there are still a couple of things WIP!