Shameless Teaser: Ctrlr editor/librarian/controller panel for Matrix-6/1000

UPDATE: Possemo’s Matrix-1000 panel for Ctrlr has been released and is free to download here.

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!

Geekgeschenk mit WAF!

Über den WAF, den „Women’s Acceptance Factor“, habe ich mich schon öfter ausgelassen – eine Umschreibung für die unbestreitbare Tatsache, dass sich tolle Technik für normale Erwachsene nicht immer ganz so toll darstellt und anfühlt wie für den Normalnerd. Um so stolzer bin ich auf dieses leicht nerdige Geschenk: 

Ladestation, weißes Kästchen mit drei Handy-Ruhebänken und Playmobil-Figuren, die die Ladekabel halten
In diesem kleinen Kästchen befindet sich ein Ladegerät, das parallel zwei Android- und iOS-Geräte laden kann und dabei allen Kabelsalat vor den Bewohnern der Wohnung versteckt. (Das Kabel, das an der Seite herausragt, ist nur temporär eingesteckt, um noch einen alten iPod laden zu können.

Wahnsinn: Dieser Handwerker hat Android- UND iOS-Ladekabel dabei. Und muss nicht nochmal zurück in die Werkstatt, um den fehlenden Adapter zu holen.

Die Auswahl der Figuren ist ein wenig zufällig. Ursprünglich wollte ich mal eine gemischt geschlechtliche YMCA-Truppe zum Ladedienst antreten lassen, aber dann fand ich tatsächlich keinen Indianer und hatte die Polizistin verschlampt. Das schnell noch nachgekaufte Überraschungsfigurentütchen enthielt den Magier – passt ja auch ganz gut. 

Die Micro-USB-Ladekabel habe ich mit einem Aufroller eingebaut, der ein ungenutztes Kabel wieder ins Kästchen zurückzieht, für die iOS-Kabel habe ich mir das gespart – die sind ohnehin anfällig genug. Die Bänkchen sind kleine gipserne Kärtchenhalter aus dem Dekoshop, mit Silberlack angesprüht. Wirkt römisch. 

So sieht’s von innen aus: 

Tatsächlich kam das Geschenk gut an und wird seit geraumer Zeit freudig genutzt. Kleiner Nachteil: Die Playmobil-Figuren ziehen die nicht ganz so erwachsenen Frauen in unserer Familie geradezu magisch an – deshalb ist der Laptop festgeklebt, und manchmal muss ich der Kleinsten den Kopfhörer für das City-Girl wieder abjagen.

Oberheim Matrix-6 and Matrix-1000 firmware update on eBay

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.

Matrix-6/R Firmware V2.14 in box

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.


Fixing a Waldorf Blofeld’s jumpy encoders

Update, 25-Jan-2017: Post has been updated to reflect my recent insight that the „self-lubricating“ encoders in the Blofeld use a contact oil which should be replaced to avoid abrasion and wear.

I like my white Blofeld. A very versatile VA synth with a good programming concept, and I am simply smitten with its look and feel. Solid metal, not too bulky or too heavy though, a big friendly graphics display, and a very good keyboard, with very good aftertouch sensibility. Got it really cheap, too.

Waldorf Blofeld keyboard white

As with the E-MU ESI32 that needed a new backlight, a steel casing means solid build quality – for the mechanical parts. BTW: To take it apart, you have to remove all the screws on the synth’s underbelly – 18 of them, casing screws as well as the ones holding the keyboard. No need to remove the wooden side panels or the rubber feet though. Then, remove all screws holding the electronics board – one of them is under the power switch so it is necessary to remove that switch from the housing by applying gentle pressure from the inside. In short, be warned:  it’s a real pain in your lower backside to get the electronics dismounted, so if you do not have a good reason to remove Blofeld’s brain, just don’t.

Jumpy encoders being a very good reason, of course.

One thing that seems to plague the Blofeld, keyboard and desktop versions alike, is that the encoders are likely to behave eratically; they tend to become jumpy an unrealiable. Achim at, who has loads of insight into and experience with Waldorf synths and their tech, recommends soldering in buffer caps, but to make a long story short, I think you might be better off cleaning, lubricating, and bending rather than only soldering. I’d suggest addressing the mechanical problems first.

Jumpy? Greasy.

My Blofeld did indeed suffer misbehaving encoders. The two under the display were the worst, the ones that you use the most in tweaking sounds. This type of behaviour is not new to me; I fixed a Micro Q once, the Blofeld’s predecessor that had suffered from the same erratic encoder behaviour – after years of use. They still use the same kind of encoder – and these are easy to open and clean.

Once again, it proved that most problems in electronics are mechanical by nature – in my Blofeld, the encoders had been greased to ensure smooth operation, but a surplus of grease had seeped into the contacts. Update: Or so I thought – in fact it may be a special kind of grease to protect the contacts; you may use Kontakt-61 or a similar lubricant intended for contacts.

To fix the mechanical problems, carefully bend the pickup contacts on the rotor just the tinyiest bit higher to increase pressure After cleaning the encoder, and after re-applying the contact oil, encoder operation is now flawless.

The encoders are held together by four metal tongues from a very soft metal. It is very hard to bend it back into position so that it closes the encoder without play; a drop of hot glue holds the top in place and is easily removed if the encoder is due for maintenance again.

One final note: The main encoder left of the display is of a slightly different type where the metal tongues have to be straightened to pass through a hole in the top part of the housing. Extra care needed with that.

Resetting a Matrix-1000 with a new battery

Happy days! Bob Grieb just sent the newest iteration of his brilliant firmware rewrite for the Oberheim Matrix-1000 for testing – a firmware that breathes new life into the old 8-bit hardware by optimising critical routines for a couple of crucial parameters. Smooth real-time control, very musical; in my opinion, even better than GliGli’s great v1.16 hackI’ve described the differences in this Gearslutz post –  and, in the last couple of iterations, displaying the value of edited parameters.

(I used Modstep as a drum machine/sequencer on the iPad, and my Matrix-1000 control panel for TB Midi Stuffother than the new iPad editor, it does produce smooth parameter sweeps.)

Well, to change the firmware, you have to open the Matrix and exchange the firmware EPROM for a new one, and doing that, I’ve noticed that this machine was still equipped with its original battery. By lucky chance, I am the proud owner of two Matrixes, and the battery in this one has been doing fine – what kind of super battery did they use in these days, has been in service ever since 1989, and still producing fine 3.0 Volts of power – but I decided to exchange it anyway for a new CR-2032.

As you might know, the battery in the Matrix-1000 is soldered in with most machines, as it was customary with most synths from these days. I guess they never thought that they were building for the anoraks of the future. No problem, I came across battery holders with the same 20.5mm raster used in the Matrix – so no need for drilling, just a simple solder-and-replace job. While soldering, I bridged the backup battery voltage with an external power supply, and I even thought of desoldering the GND terminal first – the rationale behind this being that soldering pens are earthed, so by soldering the positive terminal first you might short out the battery. (Actually bollocks, but I did it anyway.) So I saved my precious memory settings while soldering in the battery holder.

Only to slide in the new battery the wrong way round.

You might not have realised – well, I never do – but the pad connector of a CR2032 is actually the GND terminal, and the housing is Vcc. And is labeled with a clearly visible „+“ sign. Well, I put the battery in the wrong way round anyway, thereby effectively losing all my patch and memory settings.

Foto 10.01.16, 16 43 46

The battery in its new holder, now in the correct position: the plus terminal facing upwards

This is, of course, no big deal. I keep moving sound banks between my two Matrixes anyway, so I have pretty recent Sysex backups. Unfortunately, the unbuffered RAM chip lost just enough memory to put the machine into an undefined state – it would no longer boot beyond the init routine displaying the firmware version.

So: How do you factory-reset a Matrix-1000 synth?

I ran into this problem before when I equipped my other Matrix with a new CPU – as you can imagine, this gave me some really bad moments. But factory-resetting an M-1000 is simple:

  • Switch off the the M-1000, disconnect it from mains, open it.
  • Disconnect the battery. Leave it disconnected.
  • Switch the M-1000 on, draining its buffer capacitors. Leave it for a couple of seconds – the completely powerless RAM should be all FF’s now.
  • Connect the M-1000 to mains, and switch it on. It should start now.
  • Do a calibration run, just to be sure. (Navigate to Ext. Funct., select 7, Enter, select 2, Enter.)
  • Reconnect the battery.

Done. Now you may switch off the Matrix, or supply it with fresh patch data.

Foto 10.01.16, 16 44 19In case you may have wondered, there is a very simple and effective way to disconnect/reconnect the battery in a running machine: push a strip of paper between the battery and the battery holder’s terminal. Remove it to reconnect.

New code, explanations, schematics – Understanding the Matrix

Part of the new M-1000 schematic

Enter the Matrix – finally the R/W decoder is legible.

Looking to get the latest revision of Bob Grieb’s firmware rewrite mentioned below? Click here. 

As you may have seen in this blog, I really care about my old Matrix-1000 rack synths. A wonderful piece of retro technology from the final, post-DX7 phase of classic analog synthesizers. There have been attempts to improve on the old 6809 firmware code, most notably by Gligli, a French hacker best known for his SCI Prophet 600 hardware/firmware retrofit. His improved firmware, known as V1.16, introduced a couple of tricks:

  • It enabled NPRN control of the Matrix‘ parameters by removing a small bug
  • It sped up the VCF parameter control by skipping seemingly unnecessary calculations
  • It told the synth to discard all parameter edits except the most recent one, thereby keeping the synth responsive.

This is a huge improvement and makes the Matrix feel and behave almost like a modern instrument. But it gets even better.

Matrix-6 project, Matrix-1000 upgrade

Bob Grieb has been analyzing the Matrix-6/1000 code for months. I guess you can say that these days, not even Marcus Ryle does understand the code as well as Bob does. Here is his explanation why the Matrix-6/1000 machines are not real-time responsive to parameter changes in the first place – it is the downside for the immense amont of real-time modulations the Matrix is capable of – 22 fixed modulation paths, 10 matrix modulation slots, 3 envelopes, 2 LFOs and 2 ramps. To implement that in software the programmers used a special technique; a pre-calculated memory area for each voice called the voice update stack. Quote:

This stack contains pointers to code, ptrs to variables, and some pre-computed values. Only pointers to the code needed to handle the enabled features are placed on the stack… This is a very fast and efficient way to update the voice cv’s.
A downside of this approach is that when parameters change, the stacks need to be updated for all six voices. Some parameter changes just affect one number on the stack, so that number can simply be changed very quickly. But some parameters can change the size of the stack. This is a problem, as the update values for that parameter may be in the middle of the stack.

This means moving around chunks of memory to make room for the updated parameters, and it has to be done for all six voices, which takes the ancient 8-bit, 2-MHz CPU a couple of milliseconds. When you turn an external VCF controller, all these parameter changes add up, and the machine freezes for a long, terrible moment, until it catches up. (Read Bob’s full description of the issue here.)

GliGli’s main trick is to tell the machine to discard anything but the last Sysex command. He also noticed that sometimes the stack is rebuilt although this is not technically necessary. And this is the road that Bob has been following. He rewrote parts of the firmware to handle a set of about a third of the parameters much, much faster – including VCF frequency and resonance, DCO PW and LFO control, and VCA level. Changing these parameters with an external controller will be smoother than with older firmware, others – increasing the effect of a modulator in the mod matrix – will still cause the machine to glitch.

Update, 2016: Now that you’ve made it this far, you’ll be glad to learn that Bob made his revised code available for Matrix-1000s and Matrix 6/Rs. You can get a firmware EPROM from him or, if you are in Europe, from me – just follow the links above. 

This was originally a project for the Matrix-6, but Bob ported it over to the Matrix-1000. In the process, he also redrew the schematics, so that after all these years, there is finally a legible circuit diagram for the M-1000 on the net. Incidentally, it prompted another guy to scan his printed schematic and send it to Bob, so that there are now not only one usable version but two. (Download link to ZIP archive here.)

Dead Novations Society

No, that Bass Station you are trying to play isn’t dead. It’s just gone… to an undefined state.

I had a Novation Bass Station that did not produce a single sound. Although I could confirm that MIDI was still working – the device was sending Key ON/OFF and CC messages – and the LFO LED was blinking and responded to parameter changes, the synth was mute. And some research on Ebay and on the net confirmed that there are lots of Bass Station owners with the very same problem.

No More Guru Meditation: Windows 7 Starter in Virtualbox zum Laufen bringen

Windows 7 in einer Virtualbox

Ach ja, mein alter 2007er MiniMac. Als Arbeitsrechner ist er inzwischen etwas zu alt, als Musikmaschine für den Proberaum reicht er aus. Fast: Die Einstell-Software für unser neues Audio-Interface setzt mindestens OS 10.8 voraus, und das kann das alte Maschinchen nicht mehr. Kein Problem, die Software gibt’s ja auch für Windows und darf ruhig in einer virtuellen Maschine laufen. Mit dem (für Privatanwender) kostenlosen Virtualbox sollte das kein Problem sein. Läuft auf dem Arbeitsplatz- und Proberaumrechner jeweils in Version 4.1.

Recovery-Disk mit Windows 7Meine Standard-Instanz mit Windows XP ist zum Glück einem Festplattencrash zum Opfer gefallen, da komme ich gar nicht erst in Versuchung. Nach einigem Suchen findet sich die Installations-CD für Windows 7 Starter – die Lizenz kann ich nutzen, weil auf dem betreffenden Rechner längst ein gekauftes Windows 8.1 läuft. Also auf dem Heimrechner, einem 2010er Mac mit OS X 10.9., eine virtuelle Maschine angelegt, die Recovery-CD gemountet und gestartet – läuft gut, bricht aber, sobald es ernst wird,  immer wieder mit einer Virtualbox-Fehlermeldung ab: einer „Guru Meditation“.

Spurensuche im Logfile: Irgendwas mit Grafik

Was sagt uns diese „Guru Meditation“, außer dass die Virtualbox-Programmierer Amiga-Vergangenheit haben? Oberflächliche Googelei in den Foren bringt außer Hinweisen auf einen längst beseitigten Bug nur den Tipp, sich doch mal näher mit dem Virtualbox-Logfile zu beschäftigen. Es residiert in einem Unterordner „Logs“ der virtuellen Maschine auf der Mac-Festplatte.

00:00:09.307 !! {vgatext}
00:00:09.307 !!
00:00:09.307 Not in text mode!
00:00:09.307 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
00:00:10.307 Changing the VM state from 'RUNNING' to 'GURU_MEDITATION'.

Tatsächlich bringt der Blick in die Logdatei Aufschluss: Die virtuelle Maschine steigt in dem Moment aus, wenn das Windows-Installationsprogramm in den Grafikmodus gehen will. Ein Ansatzpunkt für weitere Versuche.

Nur ein Versuch, aber: im „Scale Mode“ geht’s!

Die haben schließlich Erfolg: Die Installation lief durch, sobald ich die Maschine auf den so genannten „Scale Mode“ umgestellt habe – da muss das Windows offenbar keinerlei Rücksicht nehmen auf die virtuellen Grafiktreiber, bzw. umgekehrt. Also: frühzeitig cmd-C drücken Jetzt läuft’s. Ich kann nur spekulieren, ob das tatsächlich der Grund ist, dass jetzt alles durchläuft, aber einen Versuch ist es wert. – die weiteren Einstellungen meiner VM: 64MB Grafikspeicher mit 2D- und 3D-Beschleunigung, PAE/NX aktiviert. Bisher keine weiteren Guru Meditations.

Ganz koscher ist die Grafikausgabe der VM immer noch nicht – trotz inzwischen installierter Gast-Treiber für Windows 7 klappt der Bildschirm-Refresh nicht immer, wenn man zum Beispiel in einen anderen Bildschirm-Modus umschaltet (was inzwischen funktioniert), beispielsweise in den „Seamless“-Modus, ist alles nur – schwarz. Lösung dafür: die VM unterbrechen und neu starten. Rechtsklick auf das Virtualbox-Fenster im Apple-Dock, „Beenden“ wählen, „Save the Machine State“ auswählen. Das beendet irritierenderweise nur die VM, nicht Virtualbox. Die Virtuelle Maschine danach neu wieder starten – alles gut.

Update: Keine Updates?

Ein Besuch der Virtualbox-Website brachte inzwischen die Gewissheit, dass meine Virtualbox-Version veraltet war – inzwischen sind die bei Version 5.0.2, bei mir lief noch irgendeine 4.1. Die Grafikausgabe bleibt trotzdem hakelig: die neu installierte V5.0.2 (die natürlich mindestens ein OS X 10.8 braucht) verweigerte die mühselig angelegte Win7-VM fortzusetzen – es half, (a) in den Grafikeinstellungen der VM einen Haken zu setzen, der“Nicht Skalierte HIDPI-Ausgabe“ erzwingt, und (b) die VM über „Verwerfen“ neu zu booten.

Securing Jenny’s power supply

Pretty straightforward, this one: Replace the JEN SX-1000’s fixed power cable with an IEC socket. (Like weird German words? You’ll love this: In German, this thing is called a „Kaltgerätestecker“, more precisely, a „Kaltgeräte-Steckverbinderbuchse“, which translates to „Cold unit connector socket“. Don’t ask me.)

Jenny's backside

No problems here apart from cutting a hole for the socket; I used steel drills to mark the corners of the cutout and then cut the steel with my Dremel tool. Lots of metal dust but fast, and it did the job precisely.

A word on Jenny’s power supply: It’s extremely oldschool – a transformer and a diode bridge generating +/-18VDC, two 7812 regulators generating +12V and -12V, and another 7805 regulator generating the +5V supply rail from the 12V. If you would like your JEN to be a bit more eco-friendly I’d advise replacing those regulators by the 2931CT low-dropout type, but apart from that, there’s hardly any reason to look at the power supply – it’s rather solid and possibly not your primary concern if the synth does not work.

There is a true Oberheim Matrix editor for iPad now. And yes, it’s worth buying it.

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.
Patch Touch app screenshot - all parameters of a sound on one page
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.