Eine Einstellung für die Stimmenzuweisung im Matrix hat einfach nie funktioniert – und irgendwie scheint es bis jetzt keinem aufgefallen zu sein. Aber jetzt gibt’s da was.
„Hey, ich will das haben! Ich habe schließlich schon ein V1.20-ROM!“ — BITTE HIER WEITERLESEN
Vor ein paar Tagen hat Bob Grieb – der Ingenieur, der das Matrix-1000-Update entworfen und programmiert hat – eine Mail bekommen. Da schrieb ihm Tim, ein Matrix-Besitzer und Nutzer des V1.20-Updates. Die Mail merkte höflich an, dass die „Reassign/Rob“-Einstellung für die Stimmenzusweisung anscheinend nicht funktionierte, und fragte, ob es da womöglich ein Problem mit der V1.20-Firmware gäbe. Bob hat zwar keinen M1000 mehr, aber hatte sich damals eine Verilog-Simulation gebaut, um die Firmware umzuschreiben. Mit der Simulation fand er schnell heraus: Tim hatte Recht – die „Reassign/Rob“-Einstellung des Parameters 48 (0x30h) funktionierte nicht. Und das schon in V1.13, einem sehr frühen Patch der letzten Original-Firmware – der Fehler war anscheinend immer schon da gewesen.
Und scheinbar hat es niemand bemerkt. Oder hielt es zumindest für wichtig genug, einen Patch zu scheiben.
Wozu „Reassign/Rob“ gut ist – und warum dir das nie aufgefallen ist
Der Matrix-1000 hat sechs Stimmen. Wenn er sechs Noten gleichzeitig spielt, ignoriert er alle neue Noten, bis man wieder eine der Stimmen freigibt. Das ist die Voreinstellung, die es in zwei Varianten gibt: „Rotate“ – die normale Stimmenvergabe – und „Reassign“ – Noten, die noch einmal gespielt werden, werden erneut getriggert.
Das sind die Werte 0 und 1 für den Parameter 48. Dann gibt es noch 2 – Unisono, alle Stimmen werden parallel gespielt – und die 3 für „Reassign/Rob“.
„Reassign/Rob“ soll voice stealing aktivieren —wenn eine neue Note kommt, wird eine von den gerade gespielten beendet und der neuen Note zugewiesen. Wodurch meist ein Loch in der Fläche entsteht, das es extrem offensichtlich macht, dass die Ressourcen deines Synthesizers sehr begrenzt sind. Das fällt uns eher auf, wenn Noten plötzlich verschwinden, als wenn sie überhaupt gar nicht erst gespielt werden.
Also wenn ich ehrlich bin: ich hab’s nie bemerkt. (Wobei man ja auch immer erst einen Editor/Controller an den Matrix-1000 hängen muss, anders als beim Vorgänger Matrix-6.)
Bob hatte die Ursache schnell gefunden: Der Code für die Stimmenzuweisung hat einen Sicherheitscheck, der die möglichen Werte nach oben begrenzt – aber auf 2, nicht auf 3, weshalb der Aktivierungs-Code für den „Reassign/Rob“-Modus nie übertragen werden konnte. Gerade mal ein Byte muss geändert werden — nein, tatsächlich nur ein Bit, Egal, welches ROM du hast: du könntest nach der Folge 0x81 0x02 0x22 0x02
suchen und sie ändern in 0x81 0x03 0x22 0x02
; so einfach ist es. Und das nennen wir jetzt Matrix-1000-Firmware V1.21.
Und wie bekomme ich V1.21 jetzt?
Leider bedeutet das, dass wir alle V1.20-ROMs wegwerfen müssen; man kann sie nicht korrigieren. Das eine Bit kann nicht einfach nachprogrammiert werden. Und wenn man von 1.20 auf V1.21 updaten will, muss man ohnehin den ROM-Chip austauschen; das muss wie gesagt ein neu hergestellter sein.
Und deshalb können wir das nicht einfach als kostenloses Update anbieten; der Chip muss erst gekauft und gebrannt und verpackt werden. Die Kosten fürs Update umfassen im Prinzip gerade mal das, und einen Euro für Bob (der, das kommt ja hinzu, überhaupt kein bisschen in der Pflicht ist, einen Bug zu korrigieren, der immer schon da war und für den er nichts kann). So ein ähnliches Angebot hatten wir schon bei der Version V2.14 für den Matrix-6, in der auch ein Legacy-Bug gefunden wurde; das Angebot geht aber nur an Leute, die einen V1.20-Chip aus einer Quelle besitzen, von der Bob was hat — also: gekauft bei ihm selbst, hier bei mir oder bei Alpes Machines, der den wunderbaren Controller im Video gebaut hat.
Ein letzter Gedanke: Man sollte sich fragen, ob es das eigentlich universell verhasste Voice Stealing wert ist, den Aufwand für ein Update zu treiben. Ich bin der Letzte, dem man erklären müsste, dass man auch nach der jeweils neuesten upgedateten Software GASsen kann, aber: wenn der Bug dir bisher nicht aufgefallen ist, brauchst du wahrscheinlich auch das Update nicht.