Jump to content

MB SEQ with button matrix?


th0mas

Recommended Posts

  • 2 weeks later...

That's the $64000 question.  I have been trying to figure that out for some time - the SEQ does have a 'drum' mode, but I have really always craved something with a matrix of buttons and LED's - in the style of the Doepfer Schaltwerk.

It has long been a desire of mine to build a SEQ and then see how I can configure / hack it, but I find it unclear as to just how many buttons a single core can handle.

To be useful, a SEQ button matrix would need (IMHO) at least 4 rows x 16 buttons and LED's, and in a perfect world mine would have 8 x 16.

Link to comment
Share on other sites

Here's a thought:  MB SEQ with some modified code to allow MIDI CC # 0-127 on a given channel channel to toggle its drum mode memory bits.  For example, if it receives a message on CC #4 it will toggle the 4th step on the 1st track.  If it receives a message on CC # 20 it will toggle the 4th note on the 2nd track, etc.

A separate core with MIDIO128 sends each of these controllers from its front panel buttons, and receives controllers from the SEQ core to toggle its 128 LEDs.

The two cores are connected via MIDI (should be plenty fast enough), and there is still enough i/o on the SEQ core to build an entire MIDIbox SEQ, complete with encoders!

Uh-oh, I think I might be about to start looking for some buttons ... and one big-ass front panel

Link to comment
Share on other sites

The hardware-specs say there are only three DINs used. So there are 32 inputs left, right?

Either this is enough, or you're going for an encoder chip that encodes your button matrix state. They are easy to use and if that's an option I can see in my archives what kind of IC's I used for a button input matrix...

But I have no clue on ASM-implementation nor if this affects the overall performance!

:)

Cheers, Michael

Link to comment
Share on other sites

Well as it turns out Moxi built a SEQ with a 4x16 LED matrix, and after looking at the pdf on TK's site on how that's done, perhaps a similar matrix could be done with DIN's and buttons.

I have much learning to do in the coding realm.

Link to comment
Share on other sites

For example, if it receives a message on CC #4 it will toggle the 4th step on the 1st track.  If it receives a message on CC # 20

What if they're not 16 steps long?

A separate core with MIDIO128 sends each of these controllers from its front panel buttons, and receives controllers from the SEQ core to toggle its 128 LEDs.

How do you avoid loops?

BTW the scanning matrix driver doesn't behave too well with the MBSEQ design... It will need to be on a 2nd core due to timing issues

Link to comment
Share on other sites

What if they're not 16 steps long?

Well, the 16 buttons correspond to the 16 LEDs.  So they can only show 16 steps of a track, then the buttons would correspond to the same steps.

How do you avoid loops?

By not having the software merge the core's input to its output.

BTW the scanning matrix driver doesn't behave too well with the MBSEQ design... It will need to be on a 2nd core due to timing issues

Interesting. Is there anything about this with more depth?  Is the problem that it can't scan quickly enough?  If so, maybe latching would resolve this?

Link to comment
Share on other sites

By not having the software merge the core's input to its output.

That'd make it pretty useless unless it was the first device in the chain, which is pretty rare for a sequencer :(

Interesting. Is there anything about this with more depth?  Is the problem that it can't scan quickly enough?  If so, maybe latching would resolve this?

Honestly I can't remember why, but if I rightly remember the SM driver runs in an interrupt which could cause timing issues...? TK would be able to advise better on this. I could be totally wrong!

Link to comment
Share on other sites

yes, I remember having read similar.

But how about using an IC for multiplexing? Some years ago (before Midibox) I worked with an 4 to 16 line (which is actually just 4 to 10) demultiplexer (SN74LS145); these are also available as multiplexers (16 to 4 => 10 to 4). You just have to decode the 4-bit value by code and can therefore get the states of 10 button, but I think this should be achieveable without timing issues, if coded smart.

But this is really just a guess :)

Link to comment
Share on other sites

That'd make it pretty useless unless it was the first device in the chain, which is pretty rare for a sequencer :(

I see an analog-style sequencer like this as really more of an instrument than something you would use to create a complete composition.

Regardless, loops are easy to avoid.  If you were to use a second core for a button matrix, and really wanted a controller keyboard, you would obviously need to do a merge - not the end of the world.  I would possibly even use a third PIC for that - what the hell, they're cheap enough!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...