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, fuer viele fruchtbare Diskussionen!
Einleitung:

Einige Keyboardsynthesizer wie der Memorymoog und einige Oberheim Synthesizer bieten ein Autotune Feature fuer 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 Gruende fuer Veraenderungen in Stimmung oder Scale eines VCO auszugleichen.

Mir ist allerdings bisher kein Modul fuer Analogsynthesizer bzw. Modularsysteme bekannt, welches man als Schaltungserweiterung oder eigenstaendiges Modul nachruesten kann. Speziell die aelteren analogen Modularsysteme wie das Moog System 55, 35, 15, IIP. IIIP und ihre Neuauflagen muessen aufgrund von Aufwaermphasen, Alterung der Elektronik, Umgebungsveraenderungen etc. nachgestimmt werden, was echt nervig sein kann, wenn es ein sich staendig wiederholender und iterativer Prozess wird.

Ein spezieller Kandidat fuer so etwas ist die Moog 901ABBB Oszillator-Bank, speziell das alte Original. Die Aufwaermphase veraendert Stimmung und Scale der Oszillatoren, also muss man lange warten, bis der VCO "in Stimmung" ist. Und von Zeit zu Zeit muss man dann auch noch das Instrument oeffnen, 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 moeglich sei, digitale Kontrolle ueber den ansonsten ach so analogen VCO zu bekommen, um all diese aufwaerm- und altersbedingten Drift-Effekte automatisch zu kompensieren.

So entschied ich mich, ein AUTOTUNE Modul als Stand-Alone - Modul zu entwickeln, welches man nachtraeglich in ein Modularsystem integrieren kann, um digitale Kontrolle ueber analoge VCOs zu bekommen, um sie "in Stimmung" und in korrekter Oktavspreizung zu halten, ohne permanent nachregeln zu muessen. AUTOTUNE fuer jedermann, nicht nur fuer 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 ausgewaehlte Programm oder Notendaten (Noten und Oktaven) an.

Taster: Die drei Taster kontrollieren das Modul: Mit "SET" wird das Programm ausgewaehlt, welches ausgefuehrt werden soll. Mit "ENTER" wird das ausgewaehlte Programm dann gestartet. Mittels "RESET" fuehrt 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 fuer 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 fuer MIDI-Kaskadierung benoetigt. "MIDI OUT" stellt die MIDI-Sequenzen fuer einen AUTOTUNE FULL RUN zur Verfuegung.


Run Modi:

Derzeit koennen 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 Druecken von "ENTER" wird ein FULL RUN initiiert. Das bedeutet, dass das T908 MIDI-Kommandos fuer jede Note eines 5-Oktaven Keyboards sendet, von c0, c#0, d0, d#0 etc. 12 Halbtoene pro Oktave bis c5.
    Tuning Prozess: Die Ausgangsfrequenz eines zu tunenden Oszillators wird vom T908 ueber 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 veraendernde 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 prueft der T908 die naechste bis hin zu C5. Alle ermittelten CV Offsets worden in einer internen Liste gespeichert und als Basis fuer Auto-Korrektur waehrend des Spielens im "P2" oder "P3" Modus herangezogen.

  • P2
    "AUTOTUNE Online Mode": Dieser Modus fuehrt ein permanentes Autotuning waehrend des Spielens durch. Jede Note, die auf dem Keyboard gespielt wird, wird erneut geprueft. Die neu ermittelte Korrekturspannung ueberschreibt den zuvor ermittelten Wert und die Korrektur wird somit korrigiert. Damit werden sich veraendernde Drifts bei Aufwaermprozessen des VCOs oder aehnlichem automatisch ohne Notwendigkeit eines erneuten FULL RUN ausgeglichen.
    Das Tuning selbst erfolgt wie unter "P1" beschrieben.

  • P3
    "AUTOTUNE Offline Mode": Dieser Modus fuehrt eine Autokorrektur einer jeden gespielten Note anhand der aktuellen Werte der internen CV - Offset - Tabelle durch. In diesem Fall wird kein erneuter Scan durchgefuehrt. Der Korrekturwert bleibt fix. Das ist der Modus, mit dem der Memorymoog und die Oberheim-Synthesizer AUTOTUNE durchfuehren, soweit ich weiss. Dieser Modus wird beispielsweise fuer Portamento benoetigt.

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

  • P5
    "LOAD EEPROM": Diese Funktion laedt 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 benoetigten 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 waehrend eines Upload-Prozesses nicht veraendert 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 Masseanschluesse der Displays gehen ueber 2k2 - Widerstaende (r30,r31,r32, r33) an GND, um den Stromvebrauch der CPU zu reduzieren.

Taster: Hierbei handelt es sich um simple Kurzschlusstaster, einfache Schliesser. Die "SET" - und "ENTER" - Taster erzeugen einen Spannungsabfall an den entsprechenden CPU Pins, wenn sie gedrueckt werden (via r20 and r25). Sie werden ueber die Tiefpassfilter r21 C19 und r27 C20 entprellt.
Der "RESET" Taster fuehrt 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 zugefuehrt. Die "CV OUT" - Buchse stellt die Ausgangs - CV Offset - Spannung von der CPU ueber den seriellen DAC U5 und zwei invertierenden Puffern U6 bereit. C21 reduziert digitale Artefakte und Rauschen am Ausgang. Mit Tr1 kann die Augsgangsverstaerkung eingestellt werden.

ISP DIN Buchse: Alle Analogmonster - Projekte mit Microcontroller stellen eine ISP-Buchse bereit, um Firmware waehrend der Entwicklung und als spaetere Releases / Upgrades hochzuladen. Weitere Infos koennen der Atmel-Doku entnommen werden.

MIDI IN DIN Buchse: Das ist der typische MIDI Current Loop - Anschluss fuer den galvanisch getrennten Anschluss anderer Geraete bzw. Musikinstrumente. Das eingehende serielle MIDI-Protokoll wird ueber R1 und D1 zum Optokoppler U1 gefuehrt. Dessen Empfaengerseite ist mit dem RxD Pin des seriellen Interfaces des Microcontrollers verbunden. R7 arbeitet als Pull-Up - Widerstand fuer RxD.

MIDI THRU DIN Buchse: Das eingehende RxD - Signal von MIDI IN wird mittels U4 gepuffert und als Current-Loop - Source fuer 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 fuer andere MIDI - Devices (beispielsweise MIDI2CVGATE Interfaces) bereitgestellt.



T908 Hardware


  • Board-Masse: 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 ermoeglichen.
  • 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 Toensmann

Home



Link Disclaimer:
Wichtiger Hinweis zu allen Links: Mit Urteil vom 12. Mai 1998 - 312 O 85/98 - "Haftung fuer 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 ausdruecklich von diesen Inhalten distanziert. Hiermit distanzieren wir uns ausdruecklich von allen Inhalten aller gelinkten Seiten auf unserer Homepage und machen uns diese Inhalte nicht zu eigen. Diese Erklaerung gilt fuer alle auf dieser Website angebrachten Links.

Haftungsausschluss:
Die bereitgestellten Informationen auf dieser Web Site wurden sorgfaeltig geprueft und werden regelmaessig aktualisiert. Jedoch kann keine Garantie dafuer uebernommen werden, dass alle Angaben zu jeder Zeit vollstaendig, richtig und in letzter Aktualitaet dargestellt sind. Dies gilt insbesondere fuer alle Verbindungen ("Links") zu anderen Web Sites, auf die direkt oder indirekt verwiesen wird. Alle Angaben koennen ohne vorherige Ankuendigung ergaenzt, entfernt oder geaendert werden. Alle auf dieser Website genannten Produktnamen, Produktbezeichnungen und Logos sind eingetragene Warenzeichen und Eigentum der jeweiligen Rechteinhaber.

Schematics:
Saemtliche Schaltplaene, Skizzen, Bauplaene und Funktionsbeschreibungen auf den Seiten von www.analog-monster.de/* sind - falls nicht anderweitig gekennzeichnet - Eigentum von Carsten Toensmann und duerfen lediglich fuer private Zwecke genutzt werden. Jegliche Haftung ist ausgeschlossen.