Spannungsgesteuertes MIDI Arpeggiator und Ratcheting Modul



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




Einleitung:

Dieses Modul ist das Ergebnis einer Anfrage von Hans-Joachim Helmstedt, dem Entwickler des Formant Mss2000 Modular Synthesizers und dem Autor des gleichnamigen Buches. Er bat mich darum, ein Modul zu entwickeln, welches ein fuer ihn einfach zu integrierenden und einfach zu nutzenden MIDI Arpeggiator darstellt:

Seine Anforderungsliste:
  • Kein generischer MIDI Prozessor, der konfiguriert werden muss
  • Realisiert als Modul fuer ein Modularsystem
  • Integrierbar in sein MIDI Setup
  • Einfach einstoepseln und benutzen
  • 5 Programme, wie MIDI Akkorde serialisiert werden sollen:
    • Down-Up
    • Down
    • Random
    • Up
    • Up-Down
  • Fernsteuerung / externer Trigger
  • Fuer MIDI Sequenzen solange transparent, bis der Feuerknopf gedrueckt wird
Das hier erschien mir noch sinnvoll:
  • Regelbare Verarbeitungs- und Wiederholgeschwindigkeit (Clock)
    • Manuell mittels Poti
    • Per Steuerspannung
    • Per externem Clock
  • Speed / Clock - Raten, die vom Modul oder aus externer Quelle stammen, werden an einem Clock-Output bereitgestellt, um damit andere Module synchronisieren zu koennen
  • Monophone MIDI-Streams werden mit Ratcheting versehen, lediglich Akkorde werden mittels Arpeggio serialisiert
  • Die Ratcheting - Wiederholrate wird durch Programmschalter festgelegt


Hier ein erstes Demo-Video. Ein polyphones Keyboard an monophonem Modular:

Das MIDI Arpeggiator und Ratcheting Modul:

  • Speed-Poti fuer die Ratcheting- bzw. Arpeggio-Geschwindigkeit (CLOCK)
  • Eingangsbuchse fuer Speed-Steuerspannung
  • CLOCK Anzeige-LED
  • Eingangsbuchse fuer Anschluss einer S-Trigger - Fernsteuerung
  • Eingangsbuchse fuer externes CLOCK-Signal
  • Ausgangsbuchse fuer intern generiertes oder extern bereitgestelltes / weitergegebenes CLOCK-Signal
  • Programmwahl-Drehschalter
  • ISP DIN-Buchse
  • RESET - Taster
  • MIDI IN DIN-Buchse
  • MIDI IN Anzeige-LED
  • MIDI OUT DIN-Buchse
  • MIDI OUT Anzeige-LED

Schaltung: Click here: KiCad-Schaltung
Die Schaltung ist um den Microcontroller ATmega8535 herum aufgebaut.
Speed-Potentiometer: Ein regelbarer Spannungsteiler (RV1) geht auf den ADC 0 Port des Microcontrollers. R2 verhindert eine direkte Verbindung mit +5V. Die Software liest den Spannungswert periodisch und leitet daraus die CLOCK-Geschwindigkeit ab.
CV-Eingang: Der Steuerspannungseingang geht auf den ADC 1 Port des Microcontrollers. Der wird ebenfalls periodisch von der Software eingelesen und beinflusst die CLOCK-Geschwindigkeit.
CLOCK-LED: Die Anzeige-LED zeigt die Ratcheting- bzw. Arpeggio-Rate (CLOCK) an. Die Ansteuerung erfolgt mittels Software ueber Pin PD4 des Controllers. Sie wird ueber R18 und Q1 verstaerkt. Die LED liegt im Kollektorzweig des Transistors, nicht im Emitterzweig, um unkontrolliertes gedimmtes Flackern der LED ueber die Basis-Emitterspannung des Transistors zu verhindern.
Start / Stop - Eingang: Hier wird eine Fernsteuerung (S-Trigger) zum Ausloesen von Ratcheting oder Arpeggio angeschlossen. T2 wurde als Buchse realisiert, um den Controller-Pin PC5 ueber einen entfernten / kabelgebundenen Taster oder ein S-Trigger - Signal auf 0V ziehen zu koennen.
CLK-IN: Der CLOCK-Eingang geht auf den ADC 2 Port des Microcontrollers. Der wird ebenfalls periodisch von der Software eingelesen und beinflusst die CLOCK-Geschwindigkeit insofern, als dass sich der interne CLOCK des Moduls mit dem externen CLOCK synchronisiert.
CLK-OUT: Die Ausgangsbuchse wird vom Controller Pin PD5 ueber R17 angesteuert. Die Ausgangsspannung folgt dem internen CLOCK.
Programmwahl: Der Drehschalter ermoeglicht die Auswahl des Ratcheting- bzw. Arpeggio-Programms. Je nach Stellung wird einer der Pins PA3 bis PA7 des Controllers auf 0V gezogen, was von der Software eingelesen und entsprechend verarbeitet wird. Die Pins sind mit den Widerstaenden R4, R5, R6, R8 und R9 mit +5V vorbelegt.
ISP: Din-Buchse fuer die Programmierung des Controllers per Software-Upload ueber R11 bis R14 an die ISP-Interfacepins /RESET, PB5 (MOSI), PB6 (MISO) und PB7 (SCK)
RESET-Taster: Reset-Mimik des Controllers mittels Taster T1, der den Kondensator C2 entlaedt und damit /RESET auf 0V zieht, was den /RESET-Interrupt im Controller ausloest. Ueber R1 wird der Kondensator ueber eine Zeitkonstante wieder aufgeladen, um eine definierte /RESET-Zeit zu ermoeglichen. Da ueber das ISP-Interface der /RESET auch extern angesteuert wird, dient D1 als Ueberspannungsschutz.
MIDI IN: Din-Buchse fuer den MIDI Eingang. Current-Loop - Physik. Der Eingangsstrom geht ueber R7 auf den Optokoppler U3. Dort wird es galvanisch getrennt, invertiert und zieht Pin PD0 des Controllers (RXD), der ueber R10 mit +5V vorbelegt ist, entsprechend periodisch auf 0V.
MIDI IN LED: Die Anzeige-LED zeigt ein eingehendes MIDI-Signal an. Die Ansteuerung erfolgt mittels Software ueber Pin PD2 des Controllers. Sie wird ueber R21 und Q3 verstaerkt. Die LED liegt im Kollektorzweig des Transistors, nicht im Emitterzweig, um unkontrolliertes gedimmtes Flackern der LED ueber die Basis-Emitterspannung des Transistors zu verhindern.
MIDI OUT: Din-Buchse fuer den MIDI Ausgang. Current-Loop - Physik. Der Ausgangsstrom wird von PD1 (TXD) als Stromsenke ueber R16 erzeugt und ausgegeben. R15 an 5V dient entsprechend als Stromquelle.
MIDI OUT LED: Die Anzeige-LED zeigt ein ausgehendes MIDI-Signal an. Die Ansteuerung erfolgt mittels Software ueber Pin PD3 des Controllers. Sie wird ueber R20 und Q2 verstaerkt. Die LED liegt im Kollektorzweig des Transistors, nicht im Emitterzweig, um unkontrolliertes gedimmtes Flackern der LED ueber die Basis-Emitterspannung des Transistors zu verhindern.

Das Modul:



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.