Spielhilfe

Der c't-Klangcomputer II: drehen und schieben statt zielen und klicken

Praxis & Tipps | Praxis

Nachteil aller software-emulierten Musikinstru-mente ist die umständliche und wenig ergonomische Mausbedienung. Während man beim Klangtüfteln im Studio noch halbwegs damit leben kann, ist das Mäuse-schubsen beim Live-Auftritt eine stressige Angelegenheit. Anders beim Klangcomputer: Sein Analog-Interface bildet das Bedienfeld des virtuellen Klang-erzeugers, mit echten Knöpfen, Schaltern und Schiebereglern.

Aufmacher

Zu einem ins Gehäuse integrierbaren Masterkeyboard, wie es der c't-Klangcomputer benötigt, gehören nicht nur analoge Bedienelemente und Schalter, sondern auch die so genannten Spielhilfen, die dem Spiel Ausdruck und Lebendigkeit verleihen. Ein Lautstärke- oder Expression-Pedal ist genauso dazu zu rechnen wie der Aftertouch-Sensor, die Pitchbend- und Modulations-Räder oder ein angeschlossener Blaswandler. Der Eigenbau eröffnet dem experimentierfreudigen Musiker ganz erstaunliche Möglichkeiten - und genau hier liegt die Stärke des Klangcomputer-Konzepts.

Jedes elektromechanische Bedienelement, das eine analoge Spannung im Bereich einiger Volt zu liefern vermag, kann als Spielhilfe zur Klangbeeinflussung herangezogen werden. Da sich die analogen Eingangswerte im MIDIvice-Menü [1] frei den MIDI-Controllern zuweisen lassen, sind ganz und gar abenteuerliche Konstruktionen denkbar, etwa ein Näherungs-Sensor, der auf Kopfbewegungen reagiert und damit eine Filter-Cutoff-Frequenz verschiebt, oder ein Kniehebel zur Beeinflussung des Granularsynthese-Ausgangsmaterials. Hier geht das Klangcomputer-MIDIvice deutlich weiter als käufliche Masterkeyboards, die oft nur den Anschluss eines einzigen externen „Controllers“ zulassen.

Besonders wertvoll ist dabei die Aftertouch-Funktion. Mit etwas stärkerem „Nachdruck“ auf die Klaviatur, und zwar nach dem Anschlag, verleiht man dem Spiel besonderen Ausdruck, etwa indem man ein Saxophon „überbläst“. Da das MIDIvice die Aftertouch-Ausgabe auch auf andere MIDI-Controller „umleiten“ kann, lässt sich hiermit auch ein beliebiger Effekt (z. B. Leslie bei einer Orgel) triggern.

Das MIDIvice-Analogboard unterscheidet zwischen schnellen und langsamen Controllern. Zu den von der Firmware bevorzugt behandelten (weil häufiger abgefragten) schnellen Controllern gehört das Pitchbend-Rad, das als einziger analoger Controller eine fest vorgegebene MIDI-Funktion ausführt, nämlich die Tonhöhenbeugung. Weiterhin gehören zu dieser Gruppe das Modulationsrad und der Aftertouch-Sensor sowie die Sustain- und Sostenuto-Schaltkontakte. Letztere finden sich direkt am Steckverbinder PL02 des MIDIvice, und als digitale Schalteingänge verstehen und senden sie natürlich nur Ein/Aus-Informationen.

Zusätzlich zu den drei schnellen analogen MIDI-Controllern Aftertouch, Pitchbend- und Modulationsrad sind auf der Analog-I/O-Platine 14 Eingänge für analoge Bedienelemente vorgesehen, die zwar mehrfach in der Sekunde abgefragt werden, als direkte Spielhilfen aber weniger in Frage kommen. Hier schließt man, so gewünscht, bis zu 14 Dreh- oder Schieberegler zur reinen Bedienung des Software-Synthesizers an.

Unseren Prototypen (siehe Bild) haben wir an dieser Stelle mit einer Anzahl klassischer Orgel-Zugriegel ausgestattet, die wir aus einer italienischen Heimorgel mit recht zweifelhaften klanglichen Eigenschaften ausgeschlachtet haben. Immerhin kommen sie haptisch dem Hammond-Vorbild recht nahe, und es ist durchaus faszinierend, sie live mit dem Orgel-Emulator B4 von Native Instruments einzusetzen. Selbst für einen dynamischen Einsatz während des Spiels reicht die Abfrage-Geschwindigkeit der „langsamen“ Eingänge allemal. Vorstellbar wäre auch, das Bedienpanel eines historisch wertvollen Synthesizers wie den Minimoog nachzubilden, wie es unser Illustrator im Aufmacherbild angedacht hat; immerhin erzielen derlei Geräte inzwischen Preise, für die man zwei Klangcomputer aufbauen könnte.

Bei der Belegung der analogen Eingänge (Stecker PL40 bis 43 und PL45) ist man keineswegs an die im Namen implizierten Sensoren gebunden. So lässt sich anstelle des Modulationsrads auch ein Joystick-Potenziometer oder ein Fußschweller anschließen - so lange deren Ausgangsspannung den Bereich von 0 V bis zur Referenzspannung (2,55 V) überstreicht, ist alles in bester Ordnung. Im einfachsten Fall bildet ein Potenziometer den Controller, dessen Schleifer-Anschluss mit dem gewünschten Analogeingang verbunden wird. Die beiden äußeren Anschlüsse des (oder der) Potis kommen dann an Masse (Anfang) und den Referenzsspannungs-Ausgang (Ende der Schleifbahn). Der Widerstandswert des Potis ist relativ unkritisch, wegen der begrenzten Belastbarkeit des Referenzsspannungsausgangs sollte er nicht unter 4,7 kΩ; liegen. Werte von 10 bis 100 kΩ; sind am güstigsten.

Sollte die gelieferte Spannung von diesen Werten abweichen, ist freilich eine Anpass-Schaltung vorzusehen. Das kann ein einfacher Spannungsteiler oder eine OpAmp-Verstärkerstufe sein, wie sie auf dem Analog-I/O-Board auch als Interface für die Aftertouch-Sensoren verwendet wird. Folien-Sensoren, die auf mechanischen Druck mit einer Widerstandsänderung reagieren, gibt es heute in diversen Ausführungen; im Aussehen ähneln sie einem lichtempfindlichen Widerstand (LDR) mit seiner typisch mäanderförmigen Elektrodenstruktur. Wir wählten den 15 mm Durchmesser aufweisenden Typ FSR-151NS (Conrad Bestellnummer 182583-07), von dem wir zwei rechts und links unter dem Klaviatur-Rahmen befestigten. Die Tastatur wurde so verschraubt, dass sie mit einigen hundert Gramm auf die Sensoren drückt und diese sozusagen „vorspannt“.

Zusätzlich zu den analogen Eingängen besitzt die Analog-I/O-Platine acht Schalter-Eingänge an Steckverbinder PL16. Eigentlich sind sie für Kipp-, Schiebe- oder Registerschalter vorgesehen, es lassen sich aber auch Momenttaster anschließen. Wie bei den langsamen analogen Eingängen erfolgt die MIDI-Übermittlung hier nicht ganz trägheitslos, zwischen Betätigung und MIDI-Befehl kann eine Zehntelsekunde vergehen. Auch die acht Schalteingänge lassen sich beliebigen MIDI-Controllernummern zuordnen.

Zwei dieser Folien-Drucksensoren rechts und links unter der Tastatur vermitteln dem MIDIvice über ihre Widerstandsänderung ein Maß über den Tasten-Nachdruck (Aftertouch).
Zwei dieser Folien-Drucksensoren rechts und links unter der Tastatur vermitteln dem MIDIvice über ihre Widerstandsänderung ein Maß über den Tasten-Nachdruck (Aftertouch).
Damit der Anpressdruck gleichmäßig über die Sensorfläche verteilt wird, haben wir kleine Gummi-Gehäusefüße unter das Tastatur-Chassis geklebt. Die Analog-I/O-Platine wird erst nach dem Einbau der Sensoren abgeglichen.
Damit der Anpressdruck gleichmäßig über die Sensorfläche verteilt wird, haben wir kleine Gummi-Gehäusefüße unter das Tastatur-Chassis geklebt. Die Analog-I/O-Platine wird erst nach dem Einbau der Sensoren abgeglichen.

Besonders pfiffig (wie wir finden) sind die vier Relais-Schaltausgänge an PL44, die abhängig vom im MIDIvice-“Set“ eingestellten EfX-Wert nach Masse schalten. Hier kann man, je nach Gusto, Relais zum Umschalten des analogen Verstärker- und Effektwegs oder gar zum Einschalten von Lichteffekten anschließen. Sogar die manchem Musiker unverzichtbaren „Tretminen“ (Bodeneffektgeräte) lassen sich damit ein- und ausschalten. Die Relais versorgt man aber tunlichst nicht aus der +5V-Leitung des MIDIvice, da diese auch zur Erzeugung der Referenzspannung dient und nicht unnötig belastet werden sollte. Der +5V-Ausgang des Rechnernetzteils ist eine bessere Wahl. Vergessen Sie dann aber nicht, die Rechnermasse auch mit der MIDIvice-Masse zu verbinden (Pin 5 von PL44).

Steckverbinder PL05 des MIDIvice führt neben den Analogeingangssignalen des ATmega8-Mikrocontrollers auch den I2C-Bus, an den die Interface-Bausteine U1 und U5 angeschlossen sind. MIDIvice initialisiert U5 als Achtfach-Eingangsport für die Schalteingänge, die dann in regelmäßigem Turnus über den I2C-Bus abgefragt werden. U1 ist dagegen ein Ausgangsport, der einerseits die Relais-Treiber Q1 bis Q4 ansteuert, andererseits aber auch den mit U3, U4 und Q5 aufgebauten Multiplexer für die langsamen analogen Eingänge. Die Controller-Firmware fragt die 14 Eingänge sequenziell ab, womit nur einer der kostbaren Analogkanäle des ATmega8 belegt wird. Da das Multiplexen etwas Zeit in Anspruch nimmt, folgen die MIDI-Befehle dem Analogwert mit einer Zeitverzögerung von ein, zwei Zehntelsekunden - deshalb sprechen wir hier auch von den „langsamen“ Controllern. Die „schnellen“ direkten Analogkanäle Aftertouch, Pitchbend- und Modulation-Wheel werden dagegen im Fünfzigstel-Sekunden-Rhythmus aktualisiert.

U2b gewinnt aus der Versorgungsspannung über den Spannungsteiler um R21 die Referenzspannung für die analogen Bedienelemente. U2a verstärkt den relativ geringen Spannungshub von den Aftertouch-Sensoren und zieht gleichzeitig eine Offset-Spannung ab, die sich mit R12 einstellen lässt. Die Sensoren bilden zusammen mit R17 und R18 einen Spannungsteiler (oder besser: eine halbe Brückenschaltung). R17 und R18 sollten - möglichst nach dem Zusammenbau - so bemessen werden, dass sich bei „unbespielter“, aber befestigter Tastatur eine Spannung von 2,5 bis 3,5 V an den Sensoren messen lässt. Die Spannung sollte unter Belastung (deutlicher Tastendruck) merklich zurückgehen; dazu später mehr.

Bis auf die zwei SMD-Bauteile U1 und U5 erfordert die Platine keine besonders hohen Lötkünste. Doch auch die Montage der SMD-ICs (die natürlich zuerst) gestaltet sich dank relativ großer Pin-Abstände (1,27 mm) nicht besonders aufregend. Beachten Sie aber deren entgegengesetzte Ausrichtung auf der Bauteileseite der Platine.

Sollten Sie die Relais-Ausgänge nicht benötigen, können Sie Q1 bis Q4 samt der LEDs und Vorwiderstände auch weglassen. Für eine besonders „geizige“ Version ohne Schalter und Analogbedienelemente können Sie den gesamten Teil unterhalb von C9 im Schaltbild einsparen; MIDIvice stört sich nicht daran, wenn die I2C-Bausteine nicht vorhanden sind. In diesem Fall ist aber der eingezeichnete Jumper J40 zu stecken, der den Foot-Controller direkt mit dem MIDIvice-Analogeingang verbindet. Außerdem sollten Sie im MIDIvice-Menü unter den analogen Controller-Nummern An1 bis A14 sowie den Schaltern Sw1 bis Sw8 überall „-*-“ eintragen, sonst herrscht womöglich Chaos im Instrument.

Die Referenzspannung für das Pitchbend-Rad wird getrennt über den Trimmer R7 gewonnen, und zwar aus folgendem Grund: Der Tonhöhen-Bieger steht normalerweise in Mittelstellung und sollte dann die halbe A/D-Wandler-Referenzspannung (1,27 V) liefern, was einem MIDI-Wert von $40 entspricht (Bereich 0 ... $7F). Abhängig von seiner Linearität und Fertigungstoleranzen der Potenziometer-Leitschicht ist die elektrische Mittelstellung aber nicht unbedingt die mechanische. Der Nennwert von R7 ist gleich dem Gesamtwiderstand des Pitchbend-Potis zu bemessen (meist finden sich hier die Werte 5 oder 10 kΩ). Wer die mechanische Bastelei eines Pitchbend-Rades scheut und keines zum Ausschlachten findet, kann hier getrost zu einem Joystick-Potenziometer greifen.

Wie oben angesprochen, ist die Bemessung der Widerstände R17 und R18 sehr vom mechanischen Aufbau, von den Drucksensoren und nicht zuletzt vom Eigengewicht der Tastatur abhängig. Der angegebene Wert 10 kΩ ist als Richtwert zu verstehen, die genaue Dimensionierung kann erst nach dem mechanischen Einbau der Drucksensoren erfolgen.

Dann aber ist sie nicht schwer: Schalten Sie einen einstellbaren Widerstand (Poti oder Widerstandsdekade, Rmax etwa 50 kΩ) in Reihe zu einem der beiden Sensoren und führen Sie der Reihenschaltung eine Spannung von 5 V zu. Drehen Sie nun am Poti (oder der Dekade), bis sich am Sensor eine Spannung von etwa (!) 3 V einstellt. R17 und R18 sollten ungefähr gleich dem gerade eingestellten Widerstandswert (nächstmöglicher Wert der E12-Widerstandsreihe reicht) bemessen werden. Für den Fall, dass Sie gar keine Aftertouch-Funktion benötigen, können Sie die Sensoranschlüsse einfach offen lassen. Für R17 und R18 setzen Sie dann je 10 kΩ ein.

Inbetriebnahme und Abgleich setzen ein funktionierendes MIDIvice voraus [1], zudem benötigen Sie einen PC mit MIDI-Eingang (MIDI-Adapterkabel für Gameport besorgen) und ein MIDI-Monitorprogramm wie das sehr empfehlenswerte und für den privaten Anwender kostenlose MIDI-OX (Download siehe Soft-Link). Verbinden Sie PL05 von MIDIvice und Analog-Interface über ein 10-poliges Flachbandkabel (Länge max. 50 cm, Polung beachten) und schalten Sie das MIDIvice ein. Die Tastatur-Scan-Platine muss für diesen Test noch nicht angeschlossen sein. Der MIDI-Eingang des Rechners kommt an den MIDIvice-Ausgang PL07 entsprechend der Anschlussbelegungs-Tabelle [1].

Wenn MIDI-OX richtig konfiguriert ist und es die MIDI-Ports des PC öffnen konnte, sollte es beim Wechsel der MIDIvice-Sets die MIDI-Befehle für Bank- und Programmnummern-Wechsel anzeigen. Wenn Sie jetzt das Pitchbend-Poti aus der Mittelstellung heraus bewegen, rauschen die Pitchbend-Daten über den Schirm. In der einen Endstellung sollte $00 als Datenbyte erscheinen, in der anderen $7F. Die Mittelstellung wird mit Trimmer R7 nun auf den Wert $40 gebracht. Kontrollieren Sie, ob sich von der Mittelstellung ausgehend in beide Bend-Richtungen der gleiche „tote“ Bereich ergibt, eventuell muss R7 noch etwas nachgestellt werden. Ob in der oberen Endstellung tatsächlich $7F erreicht werden, ist übrigens weniger kritisch als die richtige Einstellung auf den Mittelwert.

Der Abgleich der Aftertouch-Sensorik ist etwas aufwendiger. Stellen Sie R13 zunächst auf Mitte und verdrehen Sie R12, bis (beliebige) Aftertouch-Werte geliefert werden. Nun stellen Sie R12 vorsichtig so ein, dass sich gerade (!) 0 auf dem MIDI-OX-Display ergibt. Halten Sie nun einen Akkord mitten auf der Tastatur gedrückt (nicht allzu fest) und stellen Sie R12 nach, bis sich wiederum Null ergibt. Ein leicht erhöhter Druck auf die Tasten sollte dann bereits Aftertouch-Werte liefern. R12 ist nun so einzustellen, dass bei normaler Spielweise gerade noch keine Aftertouch-Werte geliefert werden. Mit R13 stellen Sie die „Steilheit“ der Aftertouch-Funktion ein, und zwar so, dass sich bei kräftigem, aber nicht übermäßigem Druck auf die Tasten der Aftertouch-Wert $7F ergibt.

Schließlich bleibt noch die Einstellung der Analog-Controller-Referenzspannung. Drehen Sie das Modulations-Poti in seine Endstellung (Pin 1 und 2 des Modulations-Eingangs sind nun quasi miteinander verbunden). Gleichen Sie Trimmer R21 so ab, dass sich in dieser Endstellung gerade, aber zuverlässig das Datenbyte $7F als Modulationswert ergibt (mit MIDI-OX kontrollieren). Die Spannung am Referenz-Ausgang (z. B. Pin 15 von PL44) sollte nun 2,55 V betragen. Eventuell muss R21 nach dem Anschluss aller Controller-Potis wegen des unvermeidlichen Spannungsabfalls am Schutzwiderstand R10 noch etwas nachgestellt werden.

Abschließend noch eine wichtige Anmerkung: Die Demo-Version des in [1] angesprochenen AVR-Pascal-Compilers erzeugt maximal 4 KByte Code-Größe. Damit Sie damit trotzdem experimentieren können, haben wir die MIDIvice-Firmware auf das Nötigste eingedampft und nun MINIvice genannt; per Menü können hier nur die MIDI-Programmnummern aufgerufen werden. Die Steuerung der Analog-Interface-Platine wurde auskommentiert (Zeile 370 ff.), damit diese Minimal-Version auch ohne die Analog-Interface-Platine funktioniert. Wer nur ein simples MIDI-Interface zum Nachrüsten eines vorhandenen Instruments benötigt, kommt damit bestens aus, für den Klangcomputer empfehlen wir jedoch die vollständige MIDIvice-Firmware (siehe Soft-Link). Wie man diese effektiv in Verbindung mit einem Software-Synthesizer einsetzt und was beim praktischen Aufbau noch alles so zu beachten ist, erfahren Sie in der nächsten Folge. (cm)

[1] Carsten Meyer, Klangcomputer II, Musik-Workstation zum Selbstbau

Stückliste
U1, U5 PCA9554A (SOL)
U2 LM358
U3, U4 4051 (DIL)
Q1...Q5 BC546B
LED1...LED4 LED 3 mm
R1 100k
R2...R5,R11,R23 4k7
R7 Präz.-Trimmer 10k stehend
R8,R14 2k2
R9 470R
R10 47R
R12 Trimmer 10k liegend 5 mm
R13 Trimmer 1M liegend 5 mm
R15,R16 22k
R17,R18 10k (siehe Text)
R19,R20,R22 10k
RN1 R-Netzwerk 4fach 470R
RN2 R-Netzwerk 8fach 10k
C1 1n MKP, RM 5 mm
C2,C4,C6,C7,C10...C23 1µ/50V Elko
C3,C8,C9 100n MKS RM 5 mm
Sonstiges Pfostenstecker 10-pol.zweireihig
Pfostenstecker 16-pol. zweireihig (1 Stück)
Platinensteckverbinder 2-pol. (2 Stück), 3-pol. (3), 5-pol. (1)
IC-Fassungen 16-pol. (2 Stück), 8-pol. (1)
Distanzröllchen 5 mm (4), Montagematerial
Platine Klangcomputer Analog-IO (eMedia)
Steckverbinder-Anschlussbelegungen
PL05 Analog/I2C
1 PC0 Pitchbend Wheel
2 PC1 Aftertouch
3 PC2 Modulation Wheel
4 PC3 Analog Multiplexed
5 PC4 I2C-Bus SDA
6 PC5 I2C-Bus SCL
7 nicht belegt
8 nicht belegt
9 +5 V
10 Gnd/Masse
PL40 a/b AT-Sensor
1 Sensor In
2 Gnd/Masse
PL41, 42, 43 Schnelle Controller
1 Ende Schleifbahn
2 Schleifer
3 Anfang Schleifbahn/Masse
PL44 Langsame Controller
1 Schleifer Poti 1
...
14 Schleifer Poti 14
15 gem. Ende Schleifbahn
16 gem. Anfang Schleifbahn/Masse
PL45 Langsame Schalter
1 Schalter 1
...
8 Schalter 8
9 +5V (nicht benutzt)
10 gem. Masse
PL46 Relais-Ausgänge
1 Relais 1
...
4 Relais 4
5 Gnd/Masse