Ah, yes, GAS, Gear Acquisition Syndrome. It happens to the best of us. So if the thought of a new hardware super-controller by Stereoping is giving you sweaty palms, especially as you learn that it will also be available for Microwave, MKS-80, and Rhodes Chroma, you’d better not read on. The specs I’ve got for you would only make you GAS much, much worse.
As teasers go, I’d give it only a 0.3 on the Behringer scale – but it’s for something that I am not directly involved in, so it’s a bit shameless from me. But Chris, who is working on this, has kindly allowed to use these screenshots from his upcoming editor/librarian/controller panel for Ctrlr, the open-source multi-controller. Available for Windows, Mac, and Linux (!)
Granted, there is already a Matrix editor panel, but it’s been in permanent Beta, and Chris’s panel simply looks great, from the layout of the controls, via the Matrix-movie branding, to the randomizer (brought up by clicking on the red pill, of course!). So: stay tuned!
Bob Grieb’s brilliant firmware rewrite for the Matrix-6 and Matrix-1000 machines has been in testing for some time. The code seems to be running fine and is definitely a huge improvement: Matrix-6 owners will gain a machine that is much more responsive, and has been ridded of a couple of nasty bugs. And even for Matrix-1000 owners that have been using GliGli’s v1.16 patches, the new software offers, in my humble and slightly biased opinion, great advantages.
Bob has started shipping EPROM chips containing the new code to people who do not have an EPROMMER available, and I’ve agreed to doing the same thing over in Europe. The price for the update is €25 plus shipping,this contains a payment to Bob as a recognition of the endless hours he spent in analysing and rewriting the code.
You can find a first batch of Matrix-1000 update PROMs on eBay, as well as update PROMS for the Matrix-6 and 6R – if they are gone, just follow one of the links below – there are order forms at the end of those pages.
- Details on the Matrix-1000 update: bit.ly/m1000firmware
- Details on the Matrix-6 update: bit.ly/m6firmware
If you have found this blog searching for the Oberheim Matrix-6/1000 synthesizer, you may already know that I still haven’t given up on breathing new life into hardware and software of this wonderful machine, and that I have made a controller template for the iPad. A controller, mind you, not a true editor – but a tool to control each parameter in a sound preset via a dedicated touch control, and pretty much without alternative.
No longer – there is a true Matrix editor app in the Store now, Patch Touch by Coffeeshopped, LLC. How does it compare? Is it worth the
15 30 Dollars or Euros? Chadwick, the guy behind Coffeeshopped, was so kind as to send me a download code for his app, and to comment on an early draft of my observations, so you’ll find my remarks updated with his comments here.
Update: Looking for the new, rewritten firmware? Info on how to get the latest version here.
There is some (potentially) very good news for Matrix-6/6R owners hoping to get a firmware update – it has come a huge step closer. An extremely experienced engineer has just decided to put his annotated source code file for the Matrix-6 online – you will find it on his page at Oberheim Matrix 6 Firmware. Not the original sources from Oberheim, mind you – they are rumoured to have been lost when someone accidentally dropped the master source disk – but a very carefully annotated listing, reverse-engineered. The engineer who did this even spent the time to mark code that has been re-used in the Matrix-1000 firmware.
So what does that mean to you as a (potential) M6 owner?
- If you do not know a thing about coding for a 6809 CPU, possibly nothing. You’ll have to wait.
- But if you are into hacking and tinkering with old 8-bit machinery, it makes understanding the code a whole lot easier – and should also make it possible to backport GliGli’s patches into the M6 firmware, comparing his Matrix-1000 V1.16 code with the original V1.13 code and looking at the changes.
The engineer has decided to abandon the project – he thinks that the performance problems of the Matrixes are a result of fundamental design decisions and would need too much effort to get around properly. But his code definitely improves the chances of doing something useful for the code. Someone with skill and spare time might even backport the M1000’s NRPN and matrix modulation Sysex commands into the M6 code.
BTW: My attempts at starting a documented source code file for the Matrix-1000 can be found here, with a hardware and software primer here. If I can find the time, I’ll try to backport a few of Bob’s insights into the M-1000 code.
With the amount of work waiting for me with Jen, I’m glad I don’t own a M-6…
Remember what I wrote about my attempt to build an iPad editor for my vintage Matrix-1000 analog synth with TB Midi Stuff? That it’s a pity that, due to the rather eccentric MIDI implementation of the Oberheim machine, I couldn’t build a controller for the modulation matrix? Tell you what: it works now.
TB Midi Stuff – which is an absolutely great universal kit for building MIDI controllers, looking great and much cheaper than Lemur – has recently gained a feature that allows to send three-variable Sysex commands. And this is important – let me tell you why. (BTW, for those who can’t wait: Download links to the Matrix-1000 editor panels can be found in the TMBS forum.)
Let me explain the problem, and how to solve it with TBMS.
Unfortunately, this won’t work with Matrix-6s – they do not understand the sysex commands needed to program the mod matrix directly.
The Oberheim’s matrix control – one command, three parameters
As I’ve written before, the Oberheim Matrix-1000 has a couple of quirks and issues, especially concerning the modulation matrix, the analog synth’s strongest asset. Almost any other sound parameter within this synth can be controlled individually with a tailored MIDI Sysex message (something like: F0 10 06 06 1A xx F7, translating as „Listen synth, control coming up, setting vcf, to VALUE, thatsit“); the matrix modulation paths are set by a command sequence like this: F0 10 06 0B 01 xx yy zz F7, translating to „Listen synth, modulation coming up, setting modulation path 1 now, FROM, BY, TO, thatsit.“ What this means is: If you want to have full control over the modulation matrix, you have to be able to craft a Sysex message with at least three parameters.)
TBMS from version 2.2.4 on has a feature to achieve this: Masked variables – variables where you can set the bits you want to control. They can be up to 21 bits large – equalling three 7-bit MIDI values. So instead of sending three independent values, you tell TBMS how to craft a 21-bit variable containing the three parameters – and send this.
Step by step:
- Define a global variable by entering Edit mode, selecting Page Settings in the upper right corner, scrolling down all the way, and adding a user variable. I’ve called it „mod0“, for modulation path 0; I’ve made it an internal variable, don’t worry about assigning it a range and max and min values for now.
- Now, define a controller for the third of my three parameters – MIDI parameters are 7 bit only, e.g. between 0 and 127, equalling a hexadecimal value of 7F. Hexadecimal numbers are what you use in Sysex and masked variables, so what you do is add a Variable Message, select „Set Variable with Mask“, and set the mask to 7F. (My values are 0-32, so no setting the „Signed“ switch for this parameter. Remember to set the „Minimum Value“ and „Maximum Value“ to 0 and 20.)
- Define a controller for the middle parameter – just as with the one above, only with a slight modification: Set the mask to 3F80. — Why is that? It’s 7F shifted left by 7 bits, and as you remember, parameters in MIDI are 7 bits. One noteworthy thing about the middle parameter: In my case, it takes values between -63 and +63, so I’ve set the „Signed“ switch here and set the „Minimum“ and „Maximum“ sliders to -63 and +63.
- Only the most significant parameter missing now: Add another control for the first parameter, shift the mask by another 7 bit, and get 1FC000. Set Signed, Minimum and Maximum as desired (I used a 0-20 range here.)
- Go back to Edit mode, call up the Page Settings, scroll down to your user variable, and add a MIDI message to it: Make it a Sysex message. Set Variable Size to three-byte and – this is important – Message Format to Linear (Little Endian). „Little Endian“ means that the lower values are sent first; as we’ve made our first controller control the lower 7 bits, this is just right. Set a Sysex message, which in my case is „(F0)10060Bxx(F7)“.
I guess there are not that many people who have followed my that far – but if you have, you may have noticed that the variable is supposed to transmit 3*7=21 bits of information, resulting in an integer range of 0 to 2,097,151. You can actually set that value in the Sysex range control setting,.
So whenever you tweak the controls for Matrix modulation path 0, TBMS constructs a three-byte, 21-bit message, which it then sends as part of a Sysex control message.
The most recent version can be found in the TBMS forum. Dropbox link to V0.4 here and here. Please remember that there are two nasty bugs in the Matrix-1000 firmware – you cannot control ENV2->VCA and ENV1 Sustain via TBMS in consequence -, and that the editor only sends Sysex, it does not receive and interpret it.
Update: there is now a working editor template for editing Matrix-1000 sounds via the iPad with TB Midi Stuff. Other than stated below, it is now possible to control the modulation matrix as well – read more about it here. The buggy parameters unfortunately still won’t work.
I’m just rediscovering a 25-year old piece of analog hardware: my Oberheim Matrix-1000 synth. It’s worth rediscovering: The analog circuitry is still cutting through any mix; it’s a nasty classic. And it’s a simple 1 HU 19“ rack unit; power supply included, no wall warts.
So yes, for a vintage piece of equipment, it’s handy. Unfortunately, the Matrix-1000 is a pure expander module without a single controller – no real-time tweaking the sounds to your desire. Which is a massive disadvantage to an otherwise extremely clever and versatile machine, as I’m not the first to discover. Before Access started to make very expensive top-quality VA synths, they did a hardware controller; you’ll occasionally find one on eBay for around € 700. Translating as: „It’s a monster if you can only get a controller for it.“
My favourite digital music device is the iPad. So I’ve started making my own iPad controller interface, based on the cheap TB Midi Stuff controller kit. It’s an early version, still some testing to be done. And there’s a couple of things you need to realize about the Matrix-1000 before using it with an external editor.