MIDI DESIGNER
The only MIDI controller for iPad, iPhone, and Mac


Talk to other MIDI Designer users about MIDI Designer, iOS MIDI and related topics. Or share layouts, pages, and ideas.

Check out our Facebook Group.

Of course, if you want to send us an email, feel free.

Open problem reports

Summary of user requests
Call for Layouts: Oberheim Matrix 6 / 6r / 1000 - MIDI Designer Q&A
+2 votes
in Community Requests by analogika (230 points)
recategorized by MIDI Designer Team (Dan)
Hi @Analogika and thanks for the question. Making a layout is 20% having the platform (MIDI Designer), 20% owning the MIDI target, 20% interest in doing it, and the last 20% is the desire to put in the hours. They could be a lot, but worth it both for the result and in being the author of the layout. The Q&A site is here for any questions you might have during the process, of course.

Thanks for asking and for your interest.
I don't have the time to delve into such a project myself.

But it looks like Stefan is taking the right approach, so you may get a sale out of me yet! ;-)
Great to hear that you're loving the MKS/JX one that I made! I don't own a Matrix myself unfortunately, or I would have made a layout for it as well. Check out my Waldorf Pulse layout too for some ideas about incorporating a modulation matrix btw!
http://www.untergeek.de/2014/04/matrix-modulation-control-included-ipad-editor-for-the-oberheim-matrix-61000/comment-page-1/#comment-13087

This guy says he has a fully working one for TB midi stuff.  are there features that TB midi stuff has that Midi Designer doesn't?
Hi and thanks for your mini question. TB MIDI Stuff has a totally different feature set than MD, but it's probably not relevant to making a Matrix editor. Our users generally own TB MIDI Stuff and use MD instead, but you might like it. Hope this helps!

4 Answers

0 votes
 
Best answer
Here's one for MIDI Designer Pro, and a very nice one at that!

http://mididesigner.com/qa/3951/layout-oberheim-matrix-6?show=3951#q3951
Downloads:
That Q&A Entry!
Images
Image 1
Image 1
Image 2
Image 2
by MIDI Designer Team (Dan)
+2 votes
I bought the Matrix-6R when it first came out around 1985 and always loved it.  Now with the advent of iPAD programming options, I've decided to carefully build a layout of this amazingly flexible synth.  I'm not going to focus on programming any SysEx until I'm happy with the layout flow, which I'm working on in Excel, of all programs!

I want to ensure the layout really works for synth programming and is not constrained the way so many layouts are.  I'm not interested in lining up all the faders, or grouping things in traditional ways if that doesn't support good synth programming.  With the Matrix in particular, I want to ensure that many of the features that are kind of hidden get full exposure so they're more likely to be used in making patches.

I'm very inspired and excited with my DCO section so far and I'll post a picture soon.  I've decided to use traditional graphics from the Matrix-12 so things look 'authentic'.
by stefan (180 points)
You sound like just the guy for the job.

I am GREATLY looking forward to whatever you can whip up.
Me too.  I have a Matrix 1000 and love it.  Was considering it for a layout at one point.  Sounds like it's in the right hands though :)
Best wishes.

Only point of interest I would like to make if I may is that the 1000 can crash if it gets a chunk of SysEx quickly so you may have to use 'Send on release' for some controls.  I am sure you are aware of this but it is worth testing out and it can't hurt to say, just in case.
Great point, popup.

Overloading MIDI targets with a lot of data and causing them to crash is still a problem in 1.5.0 (up next). I'm hoping to offer MIDI throttling (per connection, perhaps, or per layout/bank/page, or something) within the next few months. Thanks for your patience.
Stefan, as I've said before elsewhere, please get in touch with any questions you might have about MIDI Designer or MIDI either here on the forums or via the contact page. I'm glad to help.
Any news on this?
Stefan? I would love to hear from you. If there's any way I can help, please let me know.

You can reach my at this user name at the Apple cloud service .com.
Hi analogika,

Sorry I haven't been around.  I'm quite busy at work right now.  I'll reply soon.  I appreciate your offer of help, and I may take you up on that.  I hope to post some of my preliminary work with the DCO section by the weekend.  I don't actually have an iPad yet, but since I'm just focussing on design, that's not a huge concern.  Once I have a design cooked up, perhaps I can ask someone with MIDI Designer to implement it if I don't have an iPad by that point.
*sniff*

Me Sad Panda.
+3 votes
Greetings MIDI Designer Forum and Analogika! The question posed was whether or not anyone is working on an Oberheim Matrix 6 / 6R / 1000 layout for MIDI Designer.

Well, I am a long-time Matrix-1000 fan. I've had mine for around 20 years now. I just found out about MIDI Designer and I would love to have a user-friendly programmer for it. As our encouraging admin stated previously, the last 20% is the desire to put in the hours. (I think our admin is gifted in higher math, but simple percentages must be beneath him because adding the 4 things he lists at 20% each only yields 80%.) Sorry. To answer the question, I think this would be a great project for me to sink my teeth into.

I may not have the sense of artistry that stefan would have, and it may not be comprehensive, but I'm willing to make an effort to create something functional that is (hopefully) inspiring enough to make us want to sculpt the sounds within this single rack marvel.

Having said this, I will issue a warning that I will probably be asking some serious SYSEX questions over the next month or so. When I get excited about something, I tend to dig in before I get distracted so we'll see what I can do.

I thank all of you in advance for any support and assistance that I beg and plead from you in the future. ;)

Peace.
by theboyeclectic (300 points)
Seeing this has nudged a memory from the past when I had briefly looked at this and thought I best share it :)  The  Modulation Matrix may prove to be the biggest issue with this and may not even be possible with MD at this time.  A nice challenge either way ;)

If you look at the modulation matrix screen from this third party PC editor, you can see how this could be an issue!  ( http://www.truefictions.net/technomusic.de/ob6000/ )

You could of course concentrate on the all of those elements that CAN be controlled with MD and still have a great layout though :)  

  I wish you the very best of luck going forward.
Popup,

Thanks for the insight! I had found those images when I was combing through for inspiration. I actually found another interface that wasn't as visually engaging (the JD0800 inpsired OB6000 is very nice) but I had a better idea of the signal path upon looking at this other layout.

I plan to do exactly as you recommend. I'm going to start with controls for the DCOs, the filter, and the envelopes. We'll see after I get that in place how I should tackle the Modulation Matrix. However, I'm not giving up. It's like a cool puzzle and I'm inspired by MIDI Designer as a tool. I'll post an image as soon as I have something worth seeing. FYI - I plan to focus on the layout of those first elements and their grouping before I tackle the control assignments. I want to make it look right and use that as inspiration to make it "work."

I'll keep everyone posted as I proceed. Wish me luck!
The solution of the Modulation Matrix will be in the sysex itself. Looking at the Mod matrix it seems that each slot can have various sources. Now if each of the sources can have various destinations this where the real trouble starts. And then it's still a matter if the sysex has been implemented in a flexible way that MD can take advantage of it. In my Blofeld layout for example I can only program one preset. Programming multiple presets (the Multis) would result in a gigantic layout of 16 * 2 pages, while it's only the midi channel that changes within the sysex structure.
The Mod Matrix is currently not able to be done with Midi Designer.  I've created a Midi Designer layout for the Oberheim Matrix 6 that I've been using on stage and it doesn't have the Mod Matrix portion.  You need to have three variables coded into the sysex.  You then have to dump everything to the Matrix 6 as a patch.  You cannot send Mod Matrix individual sysex commands to the Matrix 6.  In the studio, I use OB6000 or Ctrlr for detailed Mod Matrix programming.  Midi Designer's sysex command editor is pretty basic although effective with probably 99% of the synths.  The Matrix 6 is very unique with how the Mod Matrix is implemented.  Thus I wouldn't waste my time.  Just use Midi Designer for everything else which it does BEAUTIFULLY, and then work the Mod Matrix using the front panel.  It's easy enough.
Thanks, for the info.  You figured it out already and saved us the time looking into it. As a side note, the Blofeld needs 2 variables if I want to use the multis functionality of the Blofeld.
Thank you for the detailed answer. Looking at the midi being sent from a pc editor I realized that a whole patch dump was happening. Would you mind sharing the layout you're using for the Matrix 6? Even if its not complete it will help us along much quicker to getting as full a layout as possible. I just acquired one of the rack version and lemur won't work with my Akai EIE audio/midi interface. I was just about to slowly take on the task of making one for MD so any bit will help!! Thanks again..
I don't know if this comment was directed at me, but I don't have a Matrix and I didn't make a Matrix layout. I can't help you with it.
Hi, no the comment was meant for jimatwood but really for theboyelectric also, anybody that wants to share! I'm willing to do some of the work, just hoping to have a head start or some help!  I've made a few other layouts in MD and I know it can be time consuming and not very fun. But once it's done it becomes indispensable.  I tried to reply to his comment saying he's already made a layout in MD, but the threads don't seem to work that way! Also there's no way to direct message him so I'm not even sure he's going to see this?... Cheers!
Awesome, thanks for the enthusiasm, austingreen... and thanks EZB, at some point I'd like to get a state of the App on what MD is missing to be able to edit... i think we've got two variables now with channel, right?
hi there
I started the design for Matrix1000 a while ago. Design is quite ready but it will need now all the sysex put in. I designed it as 6 half panels to combine any 2 (DCO, ENV&VCF, ENV&VCA, ENV&RAMP, LFO, MOD-MATRIX). It is intended to programm the M1000. Maybe one to help finishing it? get in contact and I will share some pictures
+3 votes

I've been busy. This is just the first page, but I've put in more time than I care to admit trying to get my brain wrapped around the programming of this beast. (I've never tried to create a patch for it since it couldn't be programmed from the front panel.) I think I'm starting to "get it" but I haven't begun to enter the SYSEX commands yet. This is purely design based on trying to intuitively lay out the architecture.

Any thoughts so far?

 

by theboyeclectic (300 points)
If you need help understanding how the sysex works, we're here to help. Looking good!
Sorry for my absence. I've been a bit ill and what time I've had musically has been focused on my new MiniBrute (which has its own controls and doesn't require the aid of MIDI Designer).

Having said that, I'm ready to dig in! Yes - I need help.

I have my Matrix 1000 manual (and there are plenty PDFs online too) as well as other resources regarding sysex commands for the device. I'd like to see if I can get the above page functioning before seeing what else can be accomplished.

I'm also excited to see if I can really do this because if I can, I'm very interested in making a template for my Roland D-550, my Yamaha TG-33, my Peavey Spectrum Synth, and hopefully even my Kurzweil K2000! But let's start with the Obie.

From what I understand, I need to have a beginning and ending command as part of a SYSEX string and then I need to identify the manufacturer as part of the code before the parameters. I must admit, I'm a bit befuddled. I see where I should enter the string, but I don't want to put something in there that when sent to the synth could confuse her and send her off to "la la land." ;)

From what I can tell, the following is my blank command structure:

F0H 10H 06H (The Command) F7H

F0H at the beginning and F7H at the end are the start and end instructions.

10H 06H identifies the Oberheim Matrix-1000

Then I insert the correct command instruction between the identifier and the end instruction. Right?

Forgive the noob status. I've been playing with this stuff for years, but using so many different tools has bridged different gaps at different times. I think the closest I got to getting my fingers dirty was creating NRPM commands that I embedded in MIDI strings from my sequencer that allowed me to control aspects of my old Sound Canvas (like filter cutoff) in realtime while sequencing basslines. Good times.
Alright - I've downloaded another layout to study SYSEX and I'm confused again. I see a series of numbers that appear to be consistent at the beginning that could be the product identifier but there seem to be more than one set of numbers in the middle that change per setting. There is a separate field in that MIDI Designer menu to identify range, so that shouldn't be in the SYSEX string.

I'm sorry to beg for help, but I'd like to get the ball rolling on this to share it with others and so that I can begin working on other layouts that might also be of value to our community. I just need that jump start. Thanks in advance!
Okay, a few things here. On is that you can study layouts all you want, but if you don't know what specification in what manual they're made to respond to, it's hard to grok what they're about. And in fact, a LOT of this stuff is resolved empirically, meaning that there are several possible interpretations but only one does what you want.

I doubt you'll send your synth into the wrong space with an incorrect sysex, but it is sysex, so it's possbile. Personally, I wouldn't worry about it, but legally and morally I guess I should agree with this conservative approach. Makes trying stuff really hard though.

Everything's in Hex so we don't need the H ;)

Anyway, some sysex have a variable piece, meaning you turn a knob and that piece of the sysex varies. In the world of sysex, they're not as common as the other type that have no V in them (MD uses "V" for this).

Beyond this, the manual doesn't give you examples of a correct sysex? Does the synth send messages back? Then you could see what it expects.

Anyway, as far as reading the spec and trying to nail it, you're doing well. The manufacturer's ID has a place, etc. etc., but ultimately you'll need to try it out or maybe find someone else who has done this via a forum online, or....

Anyway, this Q&A site is a bit of a hassle, so if we want to resolve offline, please send a mail from config -> actions -> send email

Thanks!
Dan
Thanks Dan! I'm going to do some experimenting this evening. I'll let you know what I find out and if I have some questions with which I think you might be able to help, I'll message you directly.

Peace.
I gotta admit that I'm really befuddled at this point. I figured that I'd keep posting here so that others may learn from this experience if we can resolve it.

I understand that Hexidecimal represents base 16 and "A" replaces ten and it goes like this:
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
G
10 (which equals 16 in base 10)

HOWEVER, according to the SysEx references throughout the Matrix 1000 documentation, "H" is all over the place! What am I supposed to do with that?!?!

The following page has captured the data from the manual as opposed to the countless scanned PDF versions out there:
http://www.youngmonkey.ca/nose/audio_tech/synth/Oberheim-Matrix1000.html

It states:
Matrix-1000 SYSTEM EXCLUSIVE DATA FORMAT :
- All "data" in patch and parameter dumps is unpacked for transmission.
The general algorithm for transmission is:
  1: Transmit header and messages code(s).
  2: Clear checksum.
  3. Fetch next data byte to be transmitted.
  4: Add byte to checksum.
  5: Transmit (data & 0FH).
  6: Transmit (data/16 & 0FH).
  7: Repeat 3-6 for all data bytes.
  8: Transmit (checksum & 07FH).
  9: Transmit F7H.

Later on it states:
MATRIX-1000 SINGLE PATCH DATA FORMAT
Statistics:      134 Bytes/Single Patch
Checksum  :   + 1 byte EOX
                  = 275 total transmitted bytes/Single Patch

Byte        Parameter      # Bits      Description
9             00                   6             DCO 1 Initial Frequency
                                                     LSB=1 Semitone

Does this mean that I'd plug in the following string for the knob I've created for the initial frequency for DCO 1?

F0H 10H 06H 01H 9 00 6 F7H

I appreciate the assistance and once I get my brain wrapped around this, I intend to run with it. I just need some guidance.

Thanks!!!
First some notes on hex.

Hex numbers go from 0 to F (equal to 0 to 15 in decimal) and then from 10 to 1F (16 to 31 in decimal).

You can write the hex number 31 as

31 in hex
0x31
31H

Those are all the same.

Google prefers the format 0xNNNN. You can put either of these two lines into the Google search box:

0x1F in decimal
31 in hex

and it will convert for you. So that's a start with hex numbers. Now I'm going to try to process the rest of your question...
The first question, after seeing your comment above, is whether we can avoid all of this, i.e., we're using "patch and parameter dumps." Those will not be parseable (on our side, so we won't get bidirectionality) and we might not be able to get parameters to respond. Is there another way aside from dumps?

Also, just to understand where we are: have we ever gotten a parameter to respond?

Sorry if we're backtracking a bit here, but hopefully we can step around the problem or simplify in this way.

Thanks for your patience as we figure this out.
...