jjonas

MBSEQv4 Beginner's user manual (draft)

44 posts in this topic

4 hours ago, monokinetic said:

Interesting discussion, and I agree with most of the points. But in regards to this:

Personally I think the advantage of a dedicated record button is to be able to quickly toggle between recording state and playing state. So you could hit record to quickly drop into record mode for the last 16 steps of a 64 step pattern and add some notes, then hit record again to avoid recording over existing notes as the pattern loops. Instead of your suggestion, I'd make the shortcut to the Jam page a key-combo with the Record button and another button, for example press Menu and Record or something similar to quickly jump to the Jam page. Otherwise it is still minimum 2 key presses to get to into recording (currently 3) which I find slows down my workflow.

This is in response to TK's suggestion as well.

My idea was a button with which to switch the Jam page Rec setting on/off, with an LED to indicate the status. This would be to spare me from having to go back and forth between the Jam and the EDIT page just to change the Rec setting. In that sense my idea is simpler than monokinetic and TK's ideas I think.

As to getting quickly to the Jam page, I have assigned one of the F1–F4 buttons to that function (the assignment in the HW setup file for quick-access to the Jam page button is BUTTON_RECORD, not obvious anymore because Jam page has replaced the Record page). If the first press of a Record button takes me to the Jam page and the second press switches the Rec mode on/off, I don't mind such a function, but it's not an improvement from my point of view as I already have a dedicated "go to Jam page from anywhere" button.

A connected and perhaps crucial issue is that at least with latest official firmware (4.090), the EDIT RECORDING mode (toggled on/off on the EDIT page with the SELECT button) doesn't work correctly in polyphonic mode (only a single note gets recorded), whereas Live recording with Rec 'on', but sequencer stopped and AStart 'off' does work. If that is fixed, I can well live without a dedicated Record button. My primary intention was to ask whether it is possible to assign a Rec on/off function to a button already now.

Share this post


Link to post
Share on other sites

 

Quote

 

EDIT: To confirm: Does this mean that if you use a 4+ chord from a chord parameter layer as an arpeggiator source, only the first four notes will be used? If yes, I'll document it provisionally like this (and finally when the 4+ chord firmware comes out).

 

 

If its helpful to redefine the extended chord table to a four note per chord maximum, please say so, that is not too hard. Many chords can do without a fifth, if that helps to preserve the arpeggiator function (i'd want to add the minor 6 after all..)

Edited by EsotericLabs

Share this post


Link to post
Share on other sites
Quote

EDIT: To confirm: Does this mean that if you use a 4+ chord from a chord parameter layer as an arpeggiator source, only the first four notes will be used? If yes, I'll document it provisionally like this (and finally when the 4+ chord firmware comes out).

The arpeggiator will take the last 4 played notes, which unfortunately means that on a 5-note chord, the first key of the chord won't be taken.

Quote

If live mode means that the sequencer is running, I haven't managed to get them working. The FTS on the Misc. page can be 'on' while ForceScale on the MODE page is 'off' and vice versa, and Oct. on the 'Misc.' page can be +3 while octave transpose on the TRANSPOSE page is +0. In both cases it seems the MODE and TRANSPOSE page values are the ones that determine the actual value.

It works at my side:

Fwd on (which I somtimes call "live mode" because this was the original term)
Play some notes on the keyboard, the should be forwarded.
Now increase/decrease the Octave - the incoming notes should be transposed.
Enable FTS: the incoming notes should be forced to scale.
Enable Fx, enable (for example) the Echo effect, ensure that the sequencer is running: an echo should be played.

Quote

I start a new session, where I'm using two patterns, 1:A1 and 1:A2. Both of them are 16 steps long, forced to scale, and have the same quarter notes: C – D – E – F. I select 1:A1, go on the scale page, set Control to 'Group 1', select 0:Major and save. Then I select 1:A2, go to the scale page, change scale to 1:Harmonic Minor, and save.

If I now change the patterns on the scale page, the scale won't change. Instead the scale is always whatever I chose last on the scale page. It doesn't help if I save the patterns individually (instead of saving the whole session). What am I missing?

Hm, I just looked into the code - actually an important piece is missing: the SCALE information won't be stored in the pattern, because it isn't available as a NRPN parameter.

I think it would be better if I would just remove this feature.
It's inherited from MBSEQ V3 (where I implemented it as an own idea) - but apparently nobody (including me) used it for MBSEQ V4 so far.

Any objections? ;-)

Best Regards, Thorsten.

Share this post


Link to post
Share on other sites
Quote

My idea was a button with which to switch the Jam page Rec setting on/off, with an LED to indicate the status. This would be to spare me from having to go back and forth between the Jam and the EDIT page just to change the Rec setting. In that sense my idea is simpler than monokinetic and TK's ideas I think.

No, this idea isn't easier, because the UI handler was originally implemented in a way that recording can only be done in the JAM page.

It's available in the EDIT page due to some dirty tricks - actually it started as a try if this handling makes sense, and it seems that it was highly appreciated by the community (and I used it by myself as well :)

As you report later, it's not working perfectly (poly mode not handled correctly anymore)

Actually I would have to overwork the internal recording handling, the way how it's activated and routes incoming MIDI events.
I've to check what this really means, currently I can only assume that I need the help from some beta testers to ensure that I haven't forgotten an important mechanism during the changes.
Now where this fundamental change got a higher attention: who would like to attend the beta testing? (maybe I've some time for the change next week)

Quote

If its helpful to redefine the extended chord table to a four note per chord maximum, please say so, that is not too hard. Many chords can do without a fifth, if that helps to preserve the arpeggiator function (i'd want to add the minor 6 after all..)

The arpeggiator function isn't in danger, it's only a minor detail which doesn't work as expected by Jjonas while he intensively reviewed the MBSEQ functions, but there is no need to downstrip the chords for that reason.

Best Regards, Thorsten.

Share this post


Link to post
Share on other sites
Quote

The arpeggiator will take the last 4 played notes, which unfortunately means that on a 5-note chord, the first key of the chord won't be taken.

 

Ok here are four note versions, approved of by the jazz police.

{{0,7,-1,-1}, 'Pwr5'},
{{0,7,12,-1}, 'Pwr8'},
{{0,4,-1,-1}, 'R+mj3'},
{{0,3,-1,-1}, 'R+min3'},
{{0,4,7,-1}, 'Maj '},
{{0,5,7,-1}, 'Sus4'},
{{0,4,8,-1}, 'Maj+'},
{{0,4,7,9}, 'Maj6'},
{{0,4,7,11}, 'Maj7'},
{{0,4,7,14}, 'add9'},
{{0,4,11,14}, 'Maj9'},
{{0,4,11,17}, 'Maj11'},
{{0,4,14,20}, 'Maj13'},
{{0,3,7,-1}, 'Min'},
{{0,3,7,9}, 'Min6'},
{{0,3,7,10}, 'Min7'},
{{0,3,7,14}, 'Minad9'},
{{0,3,10,14}, 'Min9'},
{{0,3,10,14}, 'Min11'},
{{0,3,14,20}, 'Min13'},
{{0,4,7,10}, 'Dom7'},
{{0,5,7,10}, '7Sus4'},
{{0,4,10,14}, 'Dom9'},
{{0,4,10,17}, 'Dom11'},
{{0,4,10,20}, 'Dom13'},
{{0,4,6,10}, '7b5'},
{{0,4,8,10}, '7#5'},
{{0,4,10,13}, '7b9'},
{{0,4,10,15}, '7#9'},
{{0,3,6,-1}, 'DimTri'},
{{0,3,6,9}, 'Dim'},
{{0,3,6,10}, 'm7b5'},

But if the arpeggiator is not at risk, here are max 6 note versions with minor 6th added. I forgot that one.

 
{{0,7,-1,-1,-1,-1}, 'Pwr5'},
{{0,7,12,-1,-1,-1}, 'Pwr8'},
{{0,4,-1,-1,-1,-1}, 'R+mj3'},
{{0,3,-1,-1,-1,-1}, 'R+min3'},
{{0,4,7,-1,-1,-1}, 'Maj '},
{{0,5,7,-1,-1,-1}, 'Sus4'},
{{0,4,8,-1,-1,-1}, 'Maj+'},
{{0,4,7,9,-1,-1}, 'Maj6'},
{{0,4,7,11,-1,-1}, 'Maj7'},
{{0,4,7,14,-1,-1}, 'add9'},
{{0,4,7,11,14,-1}, 'Maj9'},
{{0,4,7,11,14,17}, 'Maj11'},
{{0,4,7,11,14,20}, 'Maj13'},
{{0,3,7,-1,-1,-1}, 'Min'},
{{0,3,7,9,-1,-1}, 'Min6'},
{{0,3,7,10,-1,-1}, 'Min7'},
{{0,3,7,14,-1,-1}, 'Minad9'},
{{0,3,7,10,14,-1}, 'Min9'},
{{0,3,7,10,14,17}, 'Min11'},
{{0,3,7,10,14,20}, 'Min13'},
{{0,4,7,10,-1,-1}, 'Dom7'},
{{0,5,7,10,-1,-1}, '7Sus4'},
{{0,4,7,10,14,-1}, 'Dom9'},
{{0,4,7,10,14,17}, 'Dom11'},
{{0,4,7,10,14,20}, 'Dom13'},
{{0,4,6,10,-1,-1}, '7b5'},
{{0,4,8,10,-1,-1}, '7#5'},
{{0,4,7,10,13,-1}, '7b9'},
{{0,4,7,10,15,-1}, '7#9'},
{{0,3,6,-1,-1,-1}, 'DimTri'},
{{0,3,6,9,-1,-1}, 'Dim'},
{{0,3,6,10,-1,-1}, 'm7b5'},

And if i may digress a bit, I'd suggest a chord track with one parameter layer holding the root note and another holding the chord type, if that is technically possible. This might be easier to set up than through the loopback function.

Edited by EsotericLabs

Share this post


Link to post
Share on other sites
2 hours ago, EsotericLabs said:

And if i may digress a bit, I'd suggest a chord track with one parameter layer holding the root note and another holding the chord type, if that is technically possible. This might be easier to set up than through the loopback function.

I did that in my program: I have the "normal" note layer. And besides that 2 extra layers. In one layer is the information "chord active for this step" and the other layer refers to the index of the used chord. Then i also added another layer with the information in which key the step is in. That gave me all neccessary information to musically transpose every step in realtime from one given key into another key. Can be a usefull feature if you want to try around which key sounds best for your song or when importing tracks from other songs that are in a different key...

But tbh i still didn't had the time to fully understand how the chord track in the seq works... so i only can say, i know what EsotericLabs mean and it seems more intuitive then the actual solution to me...since i didn't understood the chord track within a few mins. xD

To not further derail this precious thread: I plan to make a short vid how i did use chords in my prog, to discuss with this community how usefull that is and furthermore, if it is possible with the seq in general. I'll hope to see you in that upcomming thread. ;)

 

@jjonas 

About patterns. From your manual i understood that a pattern is equal to the data of one group. But in terms of saving it is that a pattern contains four groups. Or am i wrong?

Share this post


Link to post
Share on other sites
7 hours ago, derkollo said:

About patterns. From your manual i understood that a pattern is equal to the data of one group. But in terms of saving it is that a pattern contains four groups. Or am i wrong?

A pattern contains four tracks. Tracks are the "real" data entity, you set the settings for each track separately, and then the sequencer handles them in bundles of four (and calls these bundles "patterns"). You can have up to 256 patterns per session. A group, however, is only a container that can be filled with track/pattern data, but it doesn't have data of its own. The sequencer always has four "drawers" like this, never more and never less, and each "drawer" holds one pattern at a time. (IIRC, the manual doesn't mention this yet, but patterns are saved into four banks, 64 in each bank, and by default, group 1 plays patterns from bank 1, though patterns from any bank can be played in any group. In the pattern's numerical name, e.g. 2:A6, the first number denotes the bank where the pattern is saved into, and the latter is the pattern save slot within that bank).

Patterns can be saved in two ways: individually, or along with the whole session. Saving the whole session saves all the four active patterns (one in each group). Session save is in the main menu, along with Open, New, and Save As. Individual pattern save is available with MENU + SAVE. This allows you to save one of the active patterns and give it a descriptive name.

I hope this clarified the issue somewhat.

Share this post


Link to post
Share on other sites
Quote

I hope this clarified the issue somewhat.

Yes it does.  It takes some experimenting, but once you get it, it is really powerful.  In a personal use case,  I have  bass, pads and arps in group 1., drums in group 4.  Three patterns for group1 (1:A1; 1:A2; 1:A3) hold chord changes for verse, chorus and bridge of my song (all three instruments follow the chords)  The drum group has a normal time ) and half time drum patterns in 4:A1 and 4:A2.  Just switching patterns gives a lot of flexibility. I can imagine some lead and melody lines in group 2, with an empty pattern to start with.

 

 

 

Share this post


Link to post
Share on other sites
2 hours ago, jjonas said:

I hope this clarified the issue somewhat.

Oh yes, definitly! I see i got confused between group and track... You sir, are a walking manual! ;) Not because of your knowledge but because you do explain things very well! Thx and keep on going! ;)

Share this post


Link to post
Share on other sites
16 hours ago, TK. said:

Fwd on (which I somtimes call "live mode" because this was the original term)
Play some notes on the keyboard, the should be forwarded.
Now increase/decrease the Octave - the incoming notes should be transposed.
Enable FTS: the incoming notes should be forced to scale.
Enable Fx, enable (for example) the Echo effect, ensure that the sequencer is running: an echo should be played.

Ok, now I got them working. I didn't realise before that the Misc. page settings only apply to the live play notes that are forwarded through the track, not the ones that are playing from the track.

16 hours ago, TK. said:

Hm, I just looked into the code - actually an important piece is missing: the SCALE information won't be stored in the pattern, because it isn't available as a NRPN parameter.

I think it would be better if I would just remove this feature.
It's inherited from MBSEQ V3 (where I implemented it as an own idea) - but apparently nobody (including me) used it for MBSEQ V4 so far.

Any objections? ;-)

No objections from me, I haven't needed it. And anyway if pattern-wise scale change was sorely needed at some point, one track could be spared and made into a CC track that's sending CC#3 on a bus to change the scale setting on the FX/Scale page, right..?

I tried to do that just now, with the previously mentioned two patterns, both of them now have a CC track that's sending on Bus1 (the only bus that allows you to send internal CCs) on channel 1 (I guess the channel doesn't matter because no single track is being controlled here)..? Control on the scale page is 'Global'. However, I'm only able to change the scale when I change the CC track value on the track (and the seq is playing), but not when the seq is playing and I change between patterns (but don't change the CC values manually). The first pattern sends CC#03 value 0 and the other sends value 2, or whatever two different values, but no matter what the values are, after pattern change the scale will always return to 0:Major.

Share this post


Link to post
Share on other sites
17 hours ago, TK. said:

Actually I would have to overwork the internal recording handling, the way how it's activated and routes incoming MIDI events.

I've to check what this really means, currently I can only assume that I need the help from some beta testers to ensure that I haven't forgotten an important mechanism during the changes.
Now where this fundamental change got a higher attention: who would like to attend the beta testing? (maybe I've some time for the change next week)

I volunteer for beta testing.

Share this post


Link to post
Share on other sites
Quote

I  volunteer for beta testing.

Me too, once i properly get what we're after.

Share this post


Link to post
Share on other sites

Alright, so could you please try following pre-release at your side?
-> http://www.ucapps.de/mios32/midibox_seq_v4_091_pre5.zip

Changes:

   o Jam page: AStart now starts to record into first step in 
     live recording mode (as intended), it starts on the selected step
     in step recording mode

   o Purpose of Record and Live Button & LED change:
     they switch between record (and live) mode w/o changing to the Jam page

   o new button/LED combo: JAM_LIVE and JAM_STEP: they switch to the JAM
     page and select Live resp. Step recording mode

   o removed obsolete (non-working) pattern based scale control

as you can see, the Auto-start doesn't change the selected step in step recording mode anymore, because this causes more issues than it's worth to add workarounds into the code.

 

Quote

I tried to do that just now, with the previously mentioned two patterns, both of them now have a CC track that's sending on Bus1 (the only bus that allows you to send internal CCs) on channel 1 (I guess the channel doesn't matter because no single track is being controlled here)..? Control on the scale page is 'Global'. However, I'm only able to change the scale when I change the CC track value on the track (and the seq is playing), but not when the seq is playing and I change between patterns (but don't change the CC values manually). The first pattern sends CC#03 value 0 and the other sends value 2, or whatever two different values, but no matter what the values are, after pattern change the scale will always return to 0:Major.

I guess that you are sending CC#03 from a CC layer of a Note track. In this case, each step will send a CC independent from the gate, which means that you've to configure the correct scale value for each step of the CC layer, otherwise steps with value 0 will change back to 0:Major.

If you are using a CC track instead, the value will only be sent if the gate is enabled.

Best Regards, Thorsten.

Share this post


Link to post
Share on other sites

This is the final section of the draft beginner's user manual: the appendices 1–4 on various topics. No issues came up, so I have no questions. Easy last lesson :-)  However, with 4.091 coming out sometime soon, there's already a few details in the appendices that are not up to date for 4.091. I'll publish the text as it is, nevertheless, and update it later for the so-called "final" version.

Looking back at the whole manual draft, there was nothing or very little on a number of functions. They can be divided into two groups:

1. Ones I could possibly write about at some point, and add it to the manual later.

  • FX page (only scale mentioned this far)
  • options (only partially covered)
  • TRANSPOSE page (would be easy)
  • MIDI section control
  • metronome
  • BPM (very little mentioned)
  • GROOVE
  • DIRECTION
  • MANUAL
  • MORPH

2. Ones that I'm unlikely to write anything about, now or later, because I don't have the hardware, or otherwise never use USB, DAW, etc.

  • MIDI Ext. ctrl
  • CV configuration
  • ethernet (osc)
  • USB and IIC ports

---------------------------8<--------------------------------------------------

Appendix 1. Customising some button functions
---------------------------------------------

Function buttons F1–F4
----------------------

In the root of the SD card there is a file named MBSEQ_HW.V4. This is the hardware setup file. Most of the settings there don't need changing, and are anyway beyond the scope of this manual. However, on the Wilba frontpanel there are four buttons labelled F1, F2, F3 and F4, which can be customised relatively easily (and are meant to be so). The default functions for the buttons are:

F1: Quick access to the Bookmark page
F2: Quick access to the Jam page
F3: Quick access to Tap tempo
F4: Save the complete session

In the HW setup file they appear like this:

# F1 is located at SR M3 Pin 3
# F2 is located at SR M2 Pin 2
# F3 is located at SR M2 Pin 3
# F4 is located at SR M1 Pin 2

#                                        SR  Pin    <-- this line begins with a #, so it's "commented out" (not part of the settings)
BUTTON_BOOKMARK      M3   3     <-- this line defines button F1 as the bookmark page button
BUTTON_RECORD           M2   2    <-- this line defines button F2 as the Jam page button
BUTTON_TAP_TEMPO     M2   3    <-- etc.
BUTTON_SAVE_ALL         M1   2

If you want to change the default functions, all you need to do is keep the "BUTTON_" in the start of the line, add your preferred function after it, and leave the SR and Pin columns unchanged. The possible button functions are listed in HW setup file, and are of the form:

#                                                                             SR  Pin
BUTTON_STOP                                                      M3   5
BUTTON_PAUSE                                                    M2   4
BUTTON_PLAY                                                       M2   5
BUTTON_MUTE_ALL_TRACKS                               0   0
BUTTON_MUTE_TRACK_LAYERS                          0   0
BUTTON_MUTE_ALL_TRACKS_AND_LAYERS      0   0
BUTTON_UNMUTE_ALL_TRACKS                          0   0
BUTTON_UNMUTE_TRACK_LAYERS                     0   0
BUTTON_UNMUTE_ALL_TRACKS_AND_LAYERS  0   0

Lines that have a non-zero entry for the SR and Pin columns are already assigned somewhere (like stop, pause and play above), so there is no need to assign them to another button. However, entries with zeros in the SR and Pin columns (like "mute all tracks" and "unmute all tracks" above) are potential candidates for F1–F4 button functions. For example, if you want to to have a dedicated button for "mute all tracks", you should change one of the F1–F4 button entries to contain "BUTTON_MUTE_ALL_TRACKS". You could replace "BUTTON_BOOKMARK", for example, as bookmarks are easily available with MENU + SELECT as well.

It is important to note that if you enable e.g. "mute all tracks" for one of the F1–F4 buttons, *you must "comment out"* the line where "mute all tracks" is set to SR 0 Pin 0. If the "zero address" setting is not "commented out" in the file, it will have the effect of disabling the setting. "Commenting out" is done by placing a # in front of the line, so that

BUTTON_MUTE_ALL_TRACKS               0   0

becomes

#BUTTON_MUTE_ALL_TRACKS               0   0


Button behaviour  (momentary/toggle)
------------------------------------

In the HW setup file it is possible to change the behaviour of a number of buttons, so that they do their function while the button is pressed & held, or the button function is toggled 'on' and 'off' with a single press. For example, momentary pressing & holding the MENU button shows the MENU page only as long as the button is pressed & held, and you have to press another button while pressing & holding the MENU button in order to choose a menu page. If you've set the MENU button to toggle, you can just press MENU once and then press another button to choose a menu (or press MENU again to return to the current page). This allows you to make menu page selections with one hand.

This is the relevant section of the HW setup file for configuring button behaviour:

##################################################
# Button behaviour
# 0: active mode as long as button pressed
# 1: pressing button toggles the mode
##################################################

BUTTON_BEH_FAST                      1
BUTTON_BEH_FAST2                    0
BUTTON_BEH_ALL                         1
BUTTON_BEH_SOLO                      1
BUTTON_BEH_METRONOME        1
BUTTON_BEH_LOOP                     1
BUTTON_BEH_FOLLOW                1
BUTTON_BEH_SCRUB                   0
BUTTON_BEH_MENU                    1
BUTTON_BEH_BOOKMARK          1
BUTTON_BEH_STEP_VIEW          0
BUTTON_BEH_TRG_LAYER         1
BUTTON_BEH_PAR_LAYER         1
BUTTON_BEH_TRACK_SEL         0
BUTTON_BEH_TEMPO_PRESET 0


Appendix 2. Bookmarks
---------------------

The Bookmarks menu is available in the main menu (press EXIT once or a few times, depending on where you are), or by pressing MENU + SELECT.

Bookmarks allow you to store frequently used pages and settings to be recalled at the push of a button. There are two kinds of bookmarks: global and local (session dependent) bookmarks, eight each. In the Bookmarks menu the global bookmarks are available in the left LCD, and the local ones in the right LCD. Global bookmarks are available in all sessions, while local bookmarks are particular to each session.

However, it is possible to copy local bookmarks across sessions in the Sessions Import/Export menu (UTILITY -> Disk -> Sessions Import). Choose the source session in the right LCD and turn GPK9 to select 'Bookmarks' as the imported type. Pressing 'IMPORT' will replace the current session's local bookmarks with the imported ones.

A bookmark can be recalled by going to the Bookmark page and pressing a button to select the bookmark you want.

A bookmark can be stored by going to the Bookmarks page and pressing & holding a GP button for 3 seconds. The page that was selected before entering the Bookmarks page is stored, along with a number of settings. (See the example below.)

Bookmark names can be changed only by editing the global or local bookmark files, both called MBSEQ_BM.V4. The maximum length for a name is five characters. If you absolutely must have more than five characters for the name, you could save the same bookmark on two adjacent slots and edit their names in the bookmark file so that the one on the left in the pair has five characters and the one the the right has up to four characters.

The global bookmarks file is at the root of the SD card, and the local ones are in the same folder as the session which the bookmarks belong to.

Besides the bookmark name, it is possible to edit also the other bookmark parameters by hand in the bookmark files. The example below also lists the settings which are stored in a bookmark.

####################
Slot 1                                             <- slot name, do not edit! Slots 1-8 = global bookmarks, 9-16 local bookmarks
Name Def.                                     <- replace "Def." for custom bookmark name (max. five characters)
####################
+Page EDIT                                   <- name of selected page
+Group 1                                       <- selected group number, 1–4
+Tracks 1000000000000000        <- selected tracks, 1 = track selected, 0 = track not selected
+Mutes 0000000000000000         <- selected mutes, 1 = track muted, 0 = track not muted
+ParLayer A                                  <- selected parameter layer, A-P
+TrgLayer A                                  <- selected trigger layer, A-G
+Instrument 1                               <- selected instrument (useful only for drum tracks)***
+StepView 1                                  <- Step View mode on or off
+Step 1                                         <- selected step (cursor position)
+EditView 0                                   <- Edit view mode, 0 = step view, 1 = layer view, 2 = trigger view, 3 = 303 view
+Solo 0                                         <- solo button mode on or off
+All 0                                            <- ALL button mode on or off
+Fast 0                                         <- FAST button mode on or off
+Metronome 0                              <- metronome on or off
+LoopMode 0                               <- loop mode on of off
+FollowMode 0                             <- follow mode on or off

The plus or minus sign in the beginning of each line can be used to prevent the setting from being overwritten by a bookmark, when you store it on the bookmark page. Plus allows overwriting, minus prevents it. For example, the line

-Tracks 1111000000000000

would mean that if you save a bookmark in the same location, the track selection won't be stored, but it will always be what's written in the bookmark file – in this case, this bookmark will always select tracks 1–4, no matter what the track selection status happens to be at the moment you save the bookmark in this slot.


Appendix 3. The MIDI Router
---------------------------

You can access the MIDI Router page from the main menu, or with MENU + MIDI -> MIDI Router (GPB5–6). The MIDI Router allows you to route incoming MIDI messages from any of the input ports to any of the output ports. *It is independent from the other MIDI settings of the sequencer*, and in some instances you have to pay attention so as not to have parallel in/out settings – this can lead to e.g. notes getting forwarded twice.

The router has a maximum 16 nodes, each of which governs the routing from *one input port to one output port*, with further optional channel limitations. All the nodes are in effect simultaneously. On the input side, GPK9 selects the node to be edited, GPK10 selects the physical input port on which the messages are coming in, and GPK11 selects the MIDI channel that is allowed through. The channel setting (GPK11) can be:

a) 1 to 16, for allowing messages on single MIDI channel;
b) 'All' for allowing messages on all channels; or
c) '---', which effectively disables the node, as no MIDI channel is allowed through.

On the output side, GPK12 selects the output port where the node's input port's MIDI messages are routed to. GPK13 selects the MIDI channel which the outgoing message is sent on. The outgoing channel doesn't have to be the same as the original incoming channel, so you can e.g. transform incoming channel 1 to outgoing channel 13. Channel options are:

a) 1 to 16 for a single MIDI channel. All incoming MIDI messages, regardless of their original channel, are sent out on this channel;
b) 'All' for sending the message on its original channel; or
c) two special options: Track and Selected Track (Sel.Trk).

If the output port/channel option is 'Track', the router will direct the incoming messages to the track whose *ordinal number* matches the incoming MIDI channel (provided that the input port/channel options allow the message through). For example, if you have a MIDI controller that's sending MIDI data on channel 7, 'Track' option will send the message out on the port and MIDI channel set on track 7's (G2T3) EVENT page. MIDI channel 10 will get sent out on track 10 (G3T2), etc.

If the output channel option is 'Sel.Trk' (Selected Track), the router will direct the incoming messages to the sequencer track that is *currently active* (provided that the input port/channel options allow the message through). If you have several tracks selected, the MIDI message will go out on the channel with the lowest ordinal number (track 1 before track 2, track 5 before track 6 etc.)

The final option on the MIDI Router page is DefaultPort. The tracks' EVENT page and a few other pages allow you to select 'Def.' as one of the Port options. If you select 'Def.' as the Port, it will refer to the Default Port setting on the MIDI Router page.

Note that the router settings might overlap with the Jam page note live forwarding option ('Fwd'). If you have Fwd 'on', it will forward incoming MIDI messages on the 'Jam' bus (see section 4.1.1.) to the active track's output port, set on the track's EVENT page. This is done regardless of any MIDI Router settings. However, if Fwd is 'on', and at the same time you have a MIDI Router node routing MIDI messages to the same port and channel as Fwd is forwarding them, MIDI messages like notes will get triggered twice, almost simultaneously. This most likely alters how the note will sound, and perhaps causes hanging notes. If you are using the MIDI Router to forward MIDI messages from one or several MIDI controllers to output ports, you might want to make sure that Fwd on the Jam page is 'off'. On the other hand, note that the Live Patterns function depends on Fwd being on. (See section 4.1.5.)

Example: If you have two MIDI keyboards, one in IN1 (a plain MIDI controller) and the other in IN2 (a keyboard synthesizer that's sending on, and listening to, channel 1), you could set them up so that one of them always plays the channel it is set to send on, and the other always plays the currently selected (active) sequencer track. Let's say you want to set your keyboard synth to play the active track (selectable on the group and track selection buttons on the sequencer), and the plain MIDI controller to play the channel you've selected on the controller. For this to work optimally, you need to turn the Jam page Fwd option 'off' to avoid forwarding messages twice. Also, you want to set your keyboard synthesizer's 'local' function off, so that the synth is triggered only via MIDI.
On the MIDI Router page, set Node 1 like this for the plain MIDI controller:

                IN Chn./P    OUT Chn./P
Node 1    IN1 All          OUT1 All

This lets through all messages coming in at IN1 on all channels, and directs them to OUT1 on the same channel it came in on. In other words, if the incoming message at IN1 is on channel 11, it is forwarded to OUT1 on channel 11. This setup is very useful if you have a multitimbral synthesizer that can be played on several MIDI channels, or you have several synths connected to OUT1, either with MIDI Thru boxes or by daisy-chaining equipment with their MIDI Thru (soft or hard) ports. However, if you're using only one synth in each output port, you can make a dedicated node for each output port:

                IN Chn./P    OUT Chn./P
Node 2    IN1 All          OUT1 All
Node 3    IN1 All          OUT2 All
Node 4    IN1 All          OUT3 All
Node 5    IN1 All          OUT4 All

With these settings, everything coming in on IN1 will be routed simultaneously to output ports OUT1–4. This way you can control the synths at each output port with a single MIDI controller at IN1, just by changing the sending channel on the MIDI controller.

Node 2, for the keyboard synthesizer, is set up like this:

                IN Chn./P    OUT Chn./P
Node 2    IN2 #1          Sel.Trk

Node 2 contains the settings for the keyboard synthesizer, which is connected to IN1, and set to send on, and listen to, exclusively channel 1. This way you can use the keyboard synth to play itself via the sequencer (remember to turn the synth's 'local' setting 'off'), but also any other synth that you have connected to the sequencer, just by using the group and track selection buttons to select the right track on the sequencer.


Appendix 4. MBSEQv4 CC implementation
-------------------------------------

The following is a simplified list of what a track's configuration consists of. The full information can be found below.

– FX settings
– MODE settings
– TRANSPOSE settings
– DIRECTION settings
– DIVIDER settings
– Loop points
– LENGTH
– GROOVE styles
– MORPH settings

[list of MBSEQv4 CC implementation follows]

1 person likes this

Share this post


Link to post
Share on other sites
On 11. März 2016 at 6:49 PM, jjonas said:

MODE page 'Restart' option: there seems to be some false triggering going on with restart (one key press results in one or more triggerings), as well as short delays in re-starting the track sometimes

I checked this at my side, the restart option works as expected.

False Restart triggering might occur if multiple sources control the arpeggiator.
It's important, that either your external keyboard, or a loopback track controls the T&A bus. They shouldn't control the bus at the same time

The delay is due to the step synchronisation.

Best Regards, Thorsten.

Share this post


Link to post
Share on other sites

Here's a few questions that I forgot to pick out from the mass of the text:

  • Random gate trigger layer: is the chance 50/50 or something else?
  • Random value trigger layer: does this randomise all the values in all parameter layers of the step, or just some? Is the random value anything between 0-127, or is the intensity guided somehow?
  • MODE page option 'Sort' for arpeggiator mode: how does it sort the notes? Into an ascending order..? And is the unsorted note order the reverse of the play order, i.e. last played note is "number one" in the arpeggiator track notation?

Share this post


Link to post
Share on other sites
1 hour ago, jjonas said:

Random gate trigger layer: is the chance 50/50 or something else

yes, the probability is 50:50

Quote
  • Random value trigger layer: does this randomise all the values in all parameter layers of the step, or just some? Is the random value anything between 0-127, or is the intensity guided somehow?

it will only randomize the note value between -12/12 semitones

Quote

MODE page option 'Sort' for arpeggiator mode: how does it sort the notes? Into an ascending order..?

Yes, in ascending order

Quote

And is the unsorted note order the reverseof the play order, i.e. last played note is "number one" in the arpeggiator track notation?

yes

Best Regards, Thorsten.

Share this post


Link to post
Share on other sites

A thought on the Count-In wishlist (which I'd like to 2nd). AStart=On holds the sequencer until the user inputs a note. Setting "Count-In=2 measures" could use the same AStart function. i.e: The seq is held until the Count-In clock reaches zero where Astart runs the sequencer.

I thought of an easier to implement alternative of just being able to run the Metronome while the SEQ transport isn't running. We could then use Astart to record on the measure we feel like.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now