Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
wiki:seq24togglemiditutorial [2011/01/25 12:54] autostaticwiki:seq24togglemiditutorial [2012/07/19 06:08] – PMDdlAUgODpAuJ 188.143.232.12
Line 1: Line 1:
-====== seq24: toggle sequences with a MIDI controller ====== +Brilliance for free; your parents must be sweehtreat and a certified genius.
- +
-===== Introduction ===== +
- +
-Even though this feature is documented in the [[http://www.filter24.org/seq24/SEQ24|SEQ24]] file I haven't found any reference of anyone using it so I tried to set this up myself because toggling sequences with your keyboard is just not very practical. +
- +
-===== Requirements ===== +
- +
-  * A recent version of [[https://edge.launchpad.net/seq24/|seq24]], preferably the latest version (0.9.2 as of the writing of this article) +
-  * A MIDI controller (in my case an [[http://www.akaipro.com/mpkmini|AKAI MPK Mini]]) +
-  * Some time +
- +
-After starting seq24 for the first time it will create a //.seq24rc// file in your home directory, open it and the first section you'll see, [midi-control], is the section we need. The matrix represents the first two screensets (entries 0 up to and including 63) and some control keys (entries 64 up to and including 73). The three fields between the brackets on each line correspond to MIDI filter, if the incoming MIDI event matches the filter it will either toggle (first field), enable (second field) or disable (third field) the sequence. +
- +
-The layout of each filter inside the bracket is as follows: +
- +
-**[(on/off) (inverse) (midi status byte (channel ignored)) (data1) (data2 min) (data2 max)]** +
- +
-**(on/off)**: if the on/off is set to 1, it will match the incoming midi to the pattern and perform the action (on/off/toggle) if the data falls in the range specified.  All values are in decimal. +
- +
-**(inverse)**: the inverse field will make the sequence perform the opposite action (off for on, on for off) if the data falls outside the specified range. +
- +
-**(midi status byte (channel ignored))**: MIDI status byte number in decimals. You can look them up in the [[http://www.midi.org/techspecs/midimessages.php|MIDI messages tables]], the relevant data is in the [[http://www.midi.org/techspecs/midimessages.php#2|second table]]. As the channel on which the events are sent is ignored you should always use the values for channel 1. +
- +
-The last three is the range of data that will match. +
- +
-An example of the [midi-control] section of my .seq24rc file I use with the MPK Mini: +
- +
-  [midi-control] +
-  74 +
-  0 [0 0 0  0   0 0] [1 0 144  96   0 127] [1 0 128  96   0 127] +
-  1 [0 0 0  0   0 0] [1 0 144  97   0 127] [1 0 128  97   0 127] +
-  2 [0 0 0  0   0 0] [1 0 144  98   0 127] [1 0 128  98   0 127] +
-  3 [0 0 0  0   0 0] [1 0 144  99   0 127] [1 0 128  99   0 127] +
-  4 [0 0 0  0   0 0] [1 0 144 100   0 127] [1 0 128 100   0 127] +
-  5 [0 0 0  0   0 0] [1 0 144 101   0 127] [1 0 128 101   0 127] +
-  6 [0 0 0  0   0 0] [1 0 144 102   0 127] [1 0 128 102   0 127] +
-  7 [0 0 0  0   0 0] [1 0 144 103   0 127] [1 0 128 103   0 127] +
-  8 [0 0 0  0   0 0] [1 0 144 104   0 127] [1 0 128 104   0 127] +
-  9 [0 0 0  0   0 0] [1 0 144 105   0 127] [1 0 128 105   0 127] +
-  10 [0 0 0  0   0 0] [1 0 144 106   0 127] [1 0 128 106   0 127] +
-  11 [0 0 0  0   0 0] [1 0 144 107   0 127] [1 0 128 107   0 127] +
-  12 [0 0 0  0   0 0] [1 0 144 108   0 127] [1 0 128 108   0 127] +
-  13 [0 0 0  0   0 0] [1 0 144 109   0 127] [1 0 128 109   0 127] +
-  14 [0 0 0  0   0 0] [1 0 144 110   0 127] [1 0 128 110   0 127] +
-  15 [0 0 0  0   0 0] [1 0 144 111   0 127] [1 0 128 111   0 127] +
-  16 [0 0 0  0   0 0] [0 0         0] [0 0         0] +
-  17 [0 0 0  0   0 0] [0 0         0] [0 0         0] +
-  18 [0 0 0  0   0 0] [0 0         0] [0 0         0] +
-  19 [0 0 0  0   0 0] [0 0         0] [0 0         0] +
-  20 [0 0 0  0   0 0] [0 0         0] [0 0         0] +
-  21 [0 0 0  0   0 0] [0 0         0] [0 0         0] +
-  22 [0 0 0  0   0 0] [0 0         0] [0 0         0] +
-  23 [0 0 0  0   0 0] [0 0         0] [0 0         0] +
-  24 [0 0 0  0   0 0] [0 0         0] [0 0         0] +
-  25 [0 0 0  0   0 0] [0 0         0] [0 0         0] +
-  26 [0 0 0  0   0 0] [0 0         0] [0 0         0] +
-  27 [0 0 0  0   0 0] [0 0         0] [0 0         0] +
-  28 [0 0 0  0   0 0] [0 0         0] [0 0         0] +
-  29 [0 0 0  0   0 0] [0 0         0] [0 0         0] +
-  30 [0 0 0  0   0 0] [0 0         0] [0 0         0] +
-  31 [0 0 0  0   0 0] [0 0         0] [0 0         0] +
-  # mute in group +
-  32 [0 0         0] [0 0         0] [0 0         0] +
-  33 [0 0         0] [0 0         0] [0 0         0] +
-  34 [0 0         0] [0 0         0] [0 0         0] +
-  35 [0 0         0] [0 0         0] [0 0         0] +
-  36 [0 0         0] [0 0         0] [0 0         0] +
-  37 [0 0         0] [0 0         0] [0 0         0] +
-  38 [0 0         0] [0 0         0] [0 0         0] +
-  39 [0 0         0] [0 0         0] [0 0         0] +
-  40 [0 0         0] [0 0         0] [0 0         0] +
-  41 [0 0         0] [0 0         0] [0 0         0] +
-  42 [0 0         0] [0 0         0] [0 0         0] +
-  43 [0 0         0] [0 0         0] [0 0         0] +
-  44 [0 0         0] [0 0         0] [0 0         0] +
-  45 [0 0         0] [0 0         0] [0 0         0] +
-  46 [0 0         0] [0 0         0] [0 0         0] +
-  47 [0 0         0] [0 0         0] [0 0         0] +
-  48 [0 0         0] [0 0         0] [0 0         0] +
-  49 [0 0         0] [0 0         0] [0 0         0] +
-  50 [0 0         0] [0 0         0] [0 0         0] +
-  51 [0 0         0] [0 0         0] [0 0         0] +
-  52 [0 0         0] [0 0         0] [0 0         0] +
-  53 [0 0         0] [0 0         0] [0 0         0] +
-  54 [0 0         0] [0 0         0] [0 0         0] +
-  55 [0 0         0] [0 0         0] [0 0         0] +
-  56 [0 0         0] [0 0         0] [0 0         0] +
-  57 [0 0         0] [0 0         0] [0 0         0] +
-  58 [0 0         0] [0 0         0] [0 0         0] +
-  59 [0 0         0] [0 0         0] [0 0         0] +
-  60 [0 0         0] [0 0         0] [0 0         0] +
-  61 [0 0         0] [0 0         0] [0 0         0] +
-  62 [0 0         0] [0 0         0] [0 0         0] +
-  63 [0 0         0] [0 0         0] [0 0         0] +
-  # bpm up +
-  64 [0 0         0] [0 0         0] [0 0         0] +
-  # bpm down +
-  65 [0 0         0] [0 0         0] [0 0         0] +
-  # screen set up +
-  66 [0 0         0] [0 0         0] [0 0         0] +
-  # screen set down +
-  67 [0 0         0] [0 0         0] [0 0         0] +
-  # mod replace +
-  68 [0 0         0] [0 0         0] [0 0         0] +
-  # mod snapshot +
-  69 [0 0         0] [0 0         0] [0 0         0] +
-  # mod queue +
-  70 [0 0         0] [1 0 176  64 127 127] [1 0 176  64     0] +
-  # mod gmute +
-  71 [0 0         0] [0 0         0] [0 0         0] +
-  # mod glearn +
-  72 [0 0         0] [0 0         0] [0 0         0] +
-  # screen set play +
-  73 [0 0         0] [0 0         0] [0 0         0] +
- +
-What this example does is listening for notes 96 up to and including 111 and it toggles the sequences on note on events and toggles it off on note off events. But what about queuing sequences? Well, the Akai MPK Mini has a Sustain button and I've set this MIDI event up as the queue modifier (see above, the fields after entry 70 which corresponds with 'mod queue'). So when I hold down this button and press one of the pads on my MPK Mini the corresponding sequence gets queued.+
wiki/seq24togglemiditutorial.txt · Last modified: 2013/06/02 15:45 by 127.0.0.1