Considering a name change – how does DXSQ117 sound? – I’m hoping that v0.117 will be pretty feature complete as far as I’m concerned, and this version is pretty damn fun already :)
Added performance page – tap shift in scribble mode to toggle between – top row is labelled with parameters which are offset by that knob, centre being zero, negative and positive either side. Corresponding below are random values in the same pos / neg manner… simple, the values could do with refining and it’s sometimes possible to kill the sound by tweaking one of these out of range without step data to fix it back to something audible afterwards…
Also added ‘clear range’ in scribble sequencer bit – bottom right pad clears current parameter values between editStart and editEnd… might add a long press / double tap to clear all params if I can be bovvered at some point :)
Struggled to try and add LFO in some meaningful way but maybe not possible in the way I envisaged, I may just add two LFO’s, slow and fast and a mix button for each parameter as it seems as though once set an LFO cant just be tweaked, maybe I ‘m just doin it wrong…
nudge is probably useful, will figure out whether just doing it with the playhead or actually nudging the values is best or most desirable… lock edit/play really useful but haven’t bothered yet, loads of possible permutations…
lots of changes
It now launches into the step view
Tap a step to activate or deactivate it as a note to be played
Double tap step to clear all parameters (including note / velocity / gate etc)
Hold a step to select – if a step is selected, the parameter knobs to the right affect this step. Tap a selected step to deselect it and return to step edit mode
While a step is selected, holding any other step will select that step instead, tapping any other will set a range.
With a range selected, any changes made to the current step are continued in depreciating amounts down, or up the range.
While a step is selected, holding it will set it as the copy source (or the range if there is one set) and then tapping another step will paste that step (or range) to the tapped step. Holding while in this copy mode also cancels the copy mode – simply tapping will keep the copy mode enabled, making it easy to copy a step, or range to multiple other places in the sequence.
All this behaviour seems to work pretty well across multiple pattern pages, but I’m sure there’s exceptions.
Tapping shift in Step view still cycles the parameters between general, envelope, operator frequencies and the utility page where you set the start and end points of the sequence you want to play, as well as the view (first knob). Double tapping this padOffset knob toggles the playfollow setting (shown in the header) which flips the page as the sequence plays back.
While the step / motion knob is to the right and no step is selected, parameter knob motions will be stamped into the steps as they play – I’ve yet to work out the full logic on this so this knob might not be necessary…
Holding shift takes you to the scribble view which largely works as previously – one thing to note is that by default, the parameter patterns now conform to the master pattern start and end points while changing with the master knobs in step view, but should still be able to be tweaked in the scribble view.
Tapping shift in this view toggles the performance page, which is largely non functioning, and will be the focus of the next stage, I think the CsMod or one of those knobs works as a proof to myself… tapping shift here takes you back to the scribble, where you can then hold to get to the step view once again.
Still loads to do, I’ve learnt loads and made it much better on the way – this version is really usable, though I still haven’t worked out parameter / sequence saving in AUv3 – I think it’s simple so I’ll look at it soon…
-step pads now have three rows of numbers, each of which relates to the three main sets of parameters and spaced as they are laid out on the knobs – I think I can convert the first number (pitch) to note names but haven’t looked at that yet…
– copy paste step seems to work well
– pattern select and view knobs in step editor – still works with offset parameter sequences but can get funky and hard to follow what’s happening
– double tap padOffset knob to toggle follow mode
– midi input and motion record – step/motion knob controls, as does Hostrunning variable – needs some rationalising – perhaps selected step will engage step only?
I need to move on to finish the scribbler’s functions as well as get the performance page going, oh and clear steps / parameter sequences etc… every time I look at this, I think of new things to do or ways to do them, an ever expanding puzzle of my own making :)
SO this is my rework of the original script that I’ve rationalised so that I can actually comprehend what’s happening and make some progress. I’ve left the other version in a separate patch as despite my inability to iron out the massive wrinkle and push it further, there’s a magical random quality to it that I really like.
While not finished, this one is definitely more usable. The step sequencer actually works and can be pushed to produce something that you actually planned / intended to make, while the scribble sequencer still does its batshoot madness if you want it to…
The instructions below are largely copied from the previous iteration but still stand, more to come…
When start the script, you are in a default view of 4 pads (none of which have functions yet), ten knobs (most of which do stuff, the asterisked ones are not functional) and an X/y pad which is magic.
The Param dial chooses which of 12 things that can be modulated over time (Pitch, Velocity etc but mainly of interest are the synth controls – carrier and modulator frequencies as well as limited envelope controls)
The start / end knobs determine where the sequencer will loop playback as well as where the XY pad will edit – any movement on the pad will produce massive effects, changing parameter settings from 0-128 steps over 0-99 or 0-31 values for six operators per step.
The mutate dial randomises the order in which steps are played back – it’s a remnant from the seq8 script this has grown from…
A long hold on the shift button will lead to the step editor, where a short tap on shift in this view will cycle the knob’s parameter effects – these are per step so are much more fine grained. A long hold on a step will select it for editing, a short tap will activate or deactivate it as a played note… If there is no data, it will not send any sysex so the previous step setting sent to the synth will stand (or what was set in the synth otherwise)… This can lead to unpredictable effects, but it’s possible to add parameter changes that suit your purposes…
(questions largely to self but feel free to comment :) )
Added MIDI input v0.11 While playing, it will add a played note at the pitch played, when not playing, it will add a played note on the selected step at the played pitch and then move on one step – I think I’ll put a knob control that switches that back so that repeated notes change the same step so you can find the note you’re after… this could also extend to a motion record I think, where while playing, any tweak to a pad screen know will be added to the parameter’s sequence array…
Add complete algorithm specific carrier / modulator masks – lifted from volca cheat sheet ;)
(really should probably buy a volca FM, would be cheaper than eating into ‘werk’ hours messing with dis :j)
Done v0.11 – simple implementation that works as described below – Copy / Paste steps – this will make sequence construction much easier – thinking long hold on selected step followed by any tap will copy? Long tap on any step if you want to paste there and exit copy mode. This allows you to paste the same data to multiple steps at once
Clear per step / range – this will allow more control over sequences – maybe double tap on knobs per parameter per step would work? – also maybe double tap pad to clear that step?
Get knobs to move to their set positions when changing views or parameter / steps
Implement some way of adding longer rhythm sequences and displaying / editing them on the pad screen
Work out whether start / end crossovers matter and if they can be fixed or even used somehow (reverse sequences?)
Performance page – a layout (probably the full knob page) with real time effects to add to sysex and standard midi messages – pitch shift, randomness, simple additive / subtractive (ie extend attack or release times for everything)
Random patch / step pad – use my other bit of code to just tap in a random set of of parameters until a happy one is found
LFOs – per param or just global?
pRand – think about how interesting / useful this is
Mutate per parameter sequence as well as global?
Figure out a better way to implement operator pitch spread than just adding / subtracting values iteratively
Add more / different parameters – bear in mind per event sysex limit which I think (according to original calculations is nearly hit already – could be wrong though – and wim showed me a way round that… hmmm)
Ratcheting / note repeats – I really can’t figure this one out and will seek help – if anyone has any clues…