So I’ve been thinking about how I want to integrate MBSeqV4 further into my analogue modular synth workflow and I would like to ask if it would (theoreticaly) be possible to have an external analogue input to control which step of a track is playing. In other words, you could input a ramp wave into the AIN and that would control which step of a track is output. 0v = 1st step, 5v = last step. Things get interesting when you input other waves What started me thinking about this is the Milton sequencer from Peter Grenader, which provides for voltage control of the step (see http://web.archive.org/web/20110708110112/http://www.buzzclick-music.com/about_milton.html for more detailled description if you’re interested)
Secondly, would it be possible to do a similar thing with DINs i.e. have DIN control the clock stepping a track? This would probably require a second DIN for reset as well to make things gel well with analogue sequencers…
I realise this is all a bit outside of the inteded use case for MBSeqV4, but am interested if I should persue this idea with the current code or start something new
Unfortunately there are no free ADC inputs which could be used for this purpose.
There is no CC available which allows to control a step, but I could add this, especially since the MIDI CC configuration is very flexible meanwhile, so that new functions can be added without much effort at my side.
Question is: how should it behave exactly?
I see two possible use cases:
let’s divide the CC value into 128/<number-of-steps> ranges.
E.g. with a 16 step track:
Step 1 would be selected with 0..7
Step 2 with 8..15
…
Step 16 with 120..127
Whenever the CC value changes between one of these ranges, the appr. step would be played immediately
like 1, but the appr. step would be played with the next step clock (depending on the track divider value)
Which approach would be preferred?
Secondly, would it be possible to do a similar thing with DINs i.e. have DIN control the clock stepping a track?
Unfortunately there are no free ADC inputs which could be used for this purpose.
Aha, I should have mentioned that I was considering using an AIN. Would that be feasable i.e. could MBSeq scan AINs? I will make sure that the modular voltages don’t exceend the AIN specs of course…
There is no CC available which allows to control a step, but I could add this, especially since the MIDI CC configuration is very flexible meanwhile, so that new functions can be added without much effort at my side.
Great! I had been looking at the section controls source code, but I’d really like something at the step level, whereas the section control seems to be limited to 16 subsections.
Question is: how should it behave exactly?
I see two possible use cases:
let’s divide the CC value into 128/<number-of-steps> ranges.
E.g. with a 16 step track:
Step 1 would be selected with 0..7
Step 2 with 8..15
…
Step 16 with 120..127
Whenever the CC value changes between one of these ranges, the appr. step would be played immediately
like 1, but the appr. step would be played with the next step clock (depending on the track divider value)
Which approach would be preferred?
Can I say both? I guess no.1 is closer to my original intention, but having 2 would be great as well…
If the trigger pulse is > 2 mS, this is feasible
Were you referring to the idea of using DINs to step through the track with this last comment?
While we are here: multiple clock/divider outputs independent from the tracks would be awesome.
Hmm interesting idea that I hadn’t considered. From my (very!) basic understanding of the code, this could potentially be another type of FX.
Aha, I should have mentioned that I was considering using an AIN. Would that be feasable i.e. could MBSeq scan AINs? I will make sure that the modular voltages don’t exceend the AIN specs of course…
J5 is already allocated for Gate outputs, and another problem would be the bad accuracy of STM32 and LPC17 ADCs…
I could support an MBHP_AINSER8 module instead, but this could affect the performance of the sequencer :-/
Therefore the usage of CCs is maybe the better approach, just use a second core for the conversion (you could also use it for other purposes as well)
Were you referring to the idea of using DINs to step through the track with this last comment?
yes.
16 DIN pins to step the 16 tracks individually, right?
While we are here: multiple clock/divider outputs independent from the tracks would be awesome. Maybe some day…
If it’s ok to assign a whole DOUT SR (= 8 outputs) for this function, I could easily add this.
What type of clock outputs would be for interest?
PPQN/24 (DIN clock)
64th
32th
16th
8th
4th (1 clock per bar)
1/2
1 (4 bars)
Since PPQN/24 is redundant (already available at J28), it could be replaced by another interesting clock - any proposal?
o it's now possible to control the track steps with CCs.
Each track has a dedicated CC which has to be configured in the
MIDI->Ext.Ctrl page.
o it's now possible to turn off the track clock by enabling the new "Manual"
mode in the DIVIDER page. Once enabled, a step will only be played if:
- manually triggered in the MANUAL page
- set with the new CC based step control feature (MIDI->Ext.Ctrl page)
Use cases:
- predefined MIDI events, stored in the track layers, should be manually
triggered (and not sequenced).
E.g. in conjunction with a sampler, you could set each step to a note
which "fires" a certain sample. In addition, you can fire CCs,
Program Change, Aftertouch etc. from the MANUAL page.
- the track should be controlled from an analog modulation source (e.g. a
sawwave from a LFO). MIDIbox SEQ doesn't provide analog inputs, so that
an external CV-to-MIDI interface is required.
Note that this interface also has to scale the CC value over the desired
step range. If the modulation source should sweep over step 1..16, then
the CV-to-MIDI interface has to scale down the converted value to the
CC value range 0..15!
Note that the scaling over track length that I mentioned earlier doesn’t take place since it’s problematic in some cases (e.g. if the value slowly sweeps over the CC value range).
Instead, scaling has to be done externally.
In MBNG you would do this with:
# in MIDIbox SEQ V4, we've configured CC#16 for Step Control in the MIDI->Ext. Ctrl page
# AINSER8 hardware
AINSER n= 1 enabled=1 muxed=0 cs=0 resolution=7bit
# Track 1: control step 1..16
EVENT_AINSER id= 1 type=CC chn= 1 cc= 16 range= 0:15
# Track 2: control step 1..32
EVENT_AINSER id= 2 type=CC chn= 1 cc= 17 range= 0:31
# Track 3: control step 1..64
EVENT_AINSER id= 3 type=CC chn= 1 cc= 18 range= 0:63
# ... etc.
I will not be able to test this for a while unfortunately as I am on the road without my Seq but will be back mid-January for some testing and promise to follow up with some feedback…
Just wanted to report. After a heavy week and finally upgrading my seq3 with a lpc17 board, I could test this feature. I works like Thorsten described. I took an old pic8 core and installed mb64 on it, which has the 8 analog ins ready to use. Then I took a simple pot and could control the steps of the track.
I can not say how stable but it is pretty awesome to have an analog Lfo controlling the seq4.
Next for me is to build a proper PIC protection/scaling circuit, so that a 0-10 voltage (alternative -5/+5 volt) is controlling step 1-16.
For the trigger inputs START and STOP it should work already with a proper transistor circuit (pulling the appropriate DIN to ground). This should work in parallel to the CS Button?
DIN input: For the external step inputs 1-16. For example: high voltage on DIN input corresponding to step 7 jumps right to step 7. Shouldn’t this work already in manual step mode? Ah. Ok only for the steps which are active on the CS. I am still thinking in 16 step sequences. So we would need extra DINs as stated before.
Some things in my mind.
External clock input.
It would be cool to jump to an specific step and tell the Aout to update the voltage while turning the knob. Without triggering the gate output.
clock divider outputs.
This is all so exiting and cool. Sadly I don’t have more time and things go very slowly.
Thanks Thorsten. Incredible features for people with analog gear.