T908 Autotune Modul



Full tracks of Analog-Monster project on YouTube channel Sushonyo Synth Project
Full tracks of Analog-Monster project on SoundCloud channel Analogmonster






Dieses Modul widme ich meinem Freund, dem Jazzpianisten JC aus Pittsburgh, Pennsylvania, für viele fruchtbare Diskussionen!
Einleitung:

Einige Keyboardsynthesizer wie der Memorymoog und einige Oberheim Synthesizer bieten ein Autotune Feature für ihre (analogen) Oszillatoren an. Das gestattet es dem Instrument, sich selbst zu stimmen. Ein bestimmter Keyboard- oder Notenbereich wird abgefragt und die eingehenden Frequenzen werden mit internen Frequenztabellen abgeglichen, um einen Satz an Steuerspannungs-Offsets zu bestimmen, die dann benutzt werden, um umgebungsbedingte Temperaturschwankungen oder andere Gründe für Veränderungen in Stimmung oder Scale eines VCO auszugleichen.

Mir ist allerdings bisher kein Modul für Analogsynthesizer bzw. Modularsysteme bekannt, welches man als Schaltungserweiterung oder eigenständiges Modul nachrüsten kann. Speziell die älteren analogen Modularsysteme wie das Moog System 55, 35, 15, IIP. IIIP und ihre Neuauflagen müssen aufgrund von Aufwärmphasen, Alterung der Elektronik, Umgebungsveränderungen etc. nachgestimmt werden, was echt nervig sein kann, wenn es ein sich ständig wiederholender und iterativer Prozess wird.

Ein spezieller Kandidat für so etwas ist die Moog 901ABBB Oszillator-Bank, speziell das alte Original. Die Aufwärmphase verändert Stimmung und Scale deer Oszillatoren, also muss man lange warten, bis der VCO "in Stimmung" ist. Und von Zeit zu Zeit muss man dann auch noch das Instrument öffnen, um die Oktavspreizung auf den Platinen anzupassen. Das nervt, aber die Leute behalten diese VCOs, weil sie mit ihrem warmen Sound einfach nur geil klingen, und akzeptieren die Nachteile.

Ich lief in die selben Probleme mit meinem 901ABBB VCO Bank Clone von meinem Moog System 55 Nachbau, da ich ziemlich dicht am Original geblieben bin, speziell mit dem Exponentiator mit all seinen Problemen. Also fragte ich mich, ob es nicht vielleicht möglich sei, digitale Kontrolle über den ansonsten ach so analogen VCO zu bekommen, um all diese aufwärm- und altersbedingten Drift-Effekte automatisch zu kompensieren.

So entschied ich mich, ein AUTOTUNE Modul als Stand-Alone - Modul zu entwickeln, welches man nachträglich in ein Modularsystem integrieren kann, um digitale Kontrolle über analoge VCOs zu bekommen, um sie "in Stimmung" und in korrekter Oktavspreizung zu halten, ohne permanent nachregeln zu müssen. AUTOTUNE für jedermann, nicht nur für einige weniger Keyboarder spezieller Instrumente.


Das T908:

Im Wesentlichen handelt es sich hierbei um eine Steuer- und Regelschleife, oder besser gesagt um einen Regelkreis. Es ist in der Lage, sowohl MIDI Sequenzen zu senden und zu empfangen als auch Steuerspannungen.

Das Human Interface stellt folgende Schnittstellen bereit:

Display: Das zweistellige 7-Segment-Display oben zeigt das ausgewählte Programm oder Notendaten (Noten und Oktaven) an.

Taster: Die drei Taster kontrollieren das Modul: Mit "SET" wird das Programm ausgewählt, welches ausgeführt werden soll. Mit "ENTER" wird das ausgewählte Programm dann gestartet. Mittels "RESET" führt das T908 einen System-Reset aus.

3.5 mm Klinkenbuchsen: An der "PULSE IN" - Buchse wird das auszuwertende Dreieckssignal des zu tunenden VCOs eingespeist. In die "CV IN" - Buchse kann man auszuwertende Steuerspannungen einspeisen. Die "CV OUT" - Ausgangsbuchse stellt die Offset-Steuerspannungen für den zu tunenden VCO bereit.

5 polige DIN Buchsen: Die "ISP"-Buchse dient dazu, Software- oder Firmware-Updates (T908 OS) hochzuladen. "MIDI IN" sagt dem T908, welche Note getuned werden soll oder besser gesagt welche VCO Ausgangsfrequenz erwartet wird. "MIDI THRU" wird für MIDI-Kaskadierung benötigt. "MIDI OUT" stellt die MIDI-Sequenzen für einen AUTOTUNE FULL RUN zur Verfügung.


Run Modi:

Derzeit können folgende Programme initiiert werden:
  • P1
    "AUTOTUNE FULL RUN": Das ist der Default Run-Mode, der nach einem Power-On oder Modul-Reset eingestellt wird. Bei Drücken von "ENTER" wird ein FULL RUN initiiert. Das bedeutet, dass das T908 MIDI-Kommandos für jede Note eines 5-Oktaven Keyboards sendet, von c0, c#0, d0, d#0 etc. 12 Halbtöne pro Oktave bis c5.
    Tuning Prozess: Die Ausgangsfrequenz eines zu tunenden Oszillators wird vom T908 über die "PULSE IN" Eingangsbuchse eingescannt. Es wird die Dauer eines Wellendurchlaufs gemessen. Das Ergebnis wird mit einer internen Vergleichstabelle verglichen und ein Steuerspannungs-Offset aus der Abweichung abgeleitet. Diese Spannung wird an der "CV OUT" - Buchse bereitgestellt. Sie wird dann der VCO-Steuerspannung eines / des MIDI2CVGATE - Moduls, welches eigentlich den VCO steuert, beigemischt. Die sich so verändernde neue Ausgansfrequenz des VCO wird erneut eingescannt und der Steuerspannungs-Offset erneut angepasst, bis die Ausgangsfrequenz des VCO dem erwarteten Wert optimal entspricht.
    Nach dem Tuning einer Note prüft der T908 die nächste bis hin zu C5. Alle ermittelten CV Offsets worden in einer internen Liste gespeichert und als Basis für Auto-Korrektur während des Spielens im "P2" oder "P3" Modus herangezogen.

  • P2
    "AUTOTUNE Online Mode": Dieser Modus führt ein permanentes Autotuning während des Spielens durch. Jede Note, die auf dem Keyboard gespielt wird, wird erneut geprüft. Die neu ermittelte Korrekturspannung überschreibt den zuvor ermittelten Wert und die Korrektur wird somit korrigiert. Damit werden sich verändernde Drifts bei Aufwärmprozessen des VCOs oder ähnlichem automatisch ohne Notwendigkeit eines erneuten FULL RUN ausgeglichen.
    Das Tuning selbst erfolgt wie unter "P1" beschrieben.

  • P3
    "AUTOTUNE Offline Mode": Dieser Modus führt eine Autokorrektur einer jeden gespielten Note anhand der aktuellen Werte der internen CV - Offset - Tabelle durch. In diesem Fall wird kein erneuter Scan durchgeführt. Der Korrekturwert bleibt fix. Das ist der Modus, mit dem der Memorymoog und die Oberheim-Synthesizer AUTOTUNE durchführen, soweit ich weiß. Dieser Modus wird beispielsweise für Portamento benötigt.

  • P4
    "SAVE EEPROM": Diese Funktion schreibt die derzeit im Einsatz befindliche CV Offset - Liste ins EEPROM.

  • P5
    "LOAD EEPROM": Diese Funktion lädt die CV Offset - Liste aus dem EEPROM in den Arbeitsspeicher.

    P4 und P5 vermeiden die Notwendigkeit eines erneuten AUTOTUNE FULL RUN nach einem System Reset oder Power Down des Moduls.



T908 Schema:

T908 Schema Anklicken bedeutet Akzeptanz des Link Disclaimers am Seitenende!

Spannungsversorgung: Das T908 wird an den PSU Bus des Modularsystems, welcher +/-18V liefert, angeschlossen. Alle benötigten Arbeitsspannungen wirden hiervon mit Spannungsreglern abgeleitet. Das T908 arbeitet mit +/-12v und +5V.

CPU: Herz des T908 ist mein Lieblings-Microcontroller Atmel ATmega8535. Er ist mittels Fuses auf den Betrieb des internen 8Mhz - Taktoszillators eingestellt. Darf während eines Upload-Prozesses nicht verändert werden!

Display: Die aktuelle Modulversion arbeitet mit zwei 7-Segment - Displays mit Dezimalpunkt und gmeinsamer Masse. Alle Segmente sowie der Dezimalpunkt werden direkt vom Microcontroller adressiert. Die Masseanschlüsse der Displays gehen über 2k2 - Widerstände (r30,r31,r32, r33) an GND, um den Stromvebrauch der CPU zu reduzieren.

Taster: Hierbei handelt es sich um simple Kurzschlusstaster, einfache Schließer. Die "SET" - und "ENTER" - Taster erzeugen einen Spannungsabfall an den entsprechenden CPU pins, wenn sie gedrückt werden (via r20 and r25). Sie werden über die Tiefpassfilter r21 C19 und r27 C20 entprellt.
Der "RESET" Taster führt einen CPU-Reset via 8, C8 und D2 durch. Die Reset - Leitung ist ebenfalls mit dem ISP - Interface verbunden.

Klinkenbuchsen: Die Eingangsbuchsen "PULSE IN" und "CV IN werden mit zwei invertierenden Puffern pro Kanal (U9, U10) gepuffert und zwei korrespondierenden ADC - Eingangspins der CPU zugeführt. Die "CV OUT" - Buchse stellt die Ausgangs - CV Offset - Spannung von der CPU über den seriellen DAC U5 und zwei invertierenden Puffern U6 bereit. C21 reduziert digitale Artefakte und Rauschen am Ausgang. Mit Tr1 kann die Augsgangsverstärkung eingestellt werden.

ISP DIN Buchse: Alle Analogmonster - Projekte mit Microcontroller stellen eine ISP-Buchse bereit, um Firmware während der Entwicklung und als spätere Releases / Upgrades hochzuladen. Weitere Infos können der Atmel-Doku entnommen werden.

MIDI IN DIN Buchse: Das ist der typische MIDI Current Loop - Anschluss für den galvanisch getrennten Anschluss anderer Geräte bzw. Musikinstrumente. Das eingehende serielle MIDI-Protokoll wird über R1 und D1 zum Optokoppler U1 geführt. Dessen Empfängerseite ist mit dem RxD Pin des seriellen Interfaces des Microcontrollers verbunden. R7 arbeitet als Pull-Up - Widerstand für RxD.

MIDI THRU DIN Buchse: Das eingehende RxD - Signal von MIDI IN wird mittels U4 gepuffert und als Current-Loop - Source für MIDI-Kaskadierung via R2 und R3 bereitgestellt.

MIDI OUT DIN Buchse: Serielle MIDI - Kommunikation (TxD), welche vom T908 initiiert wird (z. B. beim AUTOTUNE FULL RUN) wird mittels U4 gepuffert und als Current-Loop - Source für andere MIDI - Devices (beispielsweise MIDI2CVGATE Interfaces) bereitgestellt.



T908 Hardware


  • Board-Maße: 140 x 70 mm
  • Ich habe die Platine als KiCad Projekt entwickelt. Ich habe den KiCAD - Schaltplaneditor und den Platineneditor verwendet, um eine konsistente Platinenentwicklung zu ermöglichen.
  • Das 6-Layer - Board wurde von der Hongkong - Firma JLCPCB produziert.
  • Special Offer: T908 Board plus programmierter ATmega8535 Euro 50.00


YouTube


T908 Demo / Workbench Test: Autotune Full Run des Prototypen




T908 Demo: Autotune Full Run und Oktav-Demo





Full tracks of Analog-Monster project on YouTube channel Sushonyo Synth Project
Full tracks of Analog-Monster project on SoundCloud channel Analogmonster


Fragen und Anmerkungen bitte an:
Carsten Tönsmann

Home



Link Disclaimer:
Wichtiger Hinweis zu allen Links: Mit Urteil vom 12. Mai 1998 - 312 O 85/98 - "Haftung für Links" hat das Landgericht (LG) Hamburg entschieden, dass man durch die Anbringung eines Links, die Inhalte der gelinkten Seite ggf. mit zu verantworten hat. Dies kann - so das LG - nur dadurch verhindert werden, dass man sich ausdrücklich von diesen Inhalten distanziert. Hiermit distanzieren wir uns ausdrücklich von allen Inhalten aller gelinkten Seiten auf unserer Homepage und machen uns diese Inhalte nicht zu eigen. Diese Erklärung gilt für alle auf dieser Website angebrachten Links.

Haftungsausschluss:
Die bereitgestellten Informationen auf dieser Web Site wurden sorgfältig geprüft und werden regelmäßig aktualisiert. Jedoch kann keine Garantie dafür übernommen werden, dass alle Angaben zu jeder Zeit vollständig, richtig und in letzter Aktualität dargestellt sind. Dies gilt insbesondere für alle Verbindungen ("Links") zu anderen Web Sites, auf die direkt oder indirekt verwiesen wird. Alle Angaben können ohne vorherige Ankündigung ergänzt, entfernt oder geändert werden. Alle auf dieser Website genannten Produktnamen, Produktbezeichnungen und Logos sind eingetragene Warenzeichen und Eigentum der jeweiligen Rechteinhaber.

Schematics:
Sämtliche Schaltpläne, Skizzen, Baupläne und Funktionsbeschreibungen auf den Seiten von www.analog-monster.de/* sind - falls nicht anderweitig gekennzeichnet - Eigentum von Carsten Tönsmann und dürfen lediglich für private Zwecke genutzt werden. Jegliche Haftung ist ausgeschlossen.