‘TinyRhythm’ – 8bit Drumsynthesizer

TinyRhythm hybrid 8 channel Drumsynthesizer
TinyRhythm hybrider 8 Kanal Drumsynthesizer

Diese Projekt diente der Erforschung des Tiny13. Er hat 4 DACs (Digital Audio Converter – Anschlussmöglichkeit für Potis) bei nur 8 Pins. Fehlen nur noch etwas Code, 5 Volt und Masse und man hat schon einen kleinen Rechteckoszillator, ohne irgendwelche externen Bausteile.

TinyRhythm – vier Loops die den TinyRhythm per Midi ansteuern
TinyRhythm loops

Ausserdem wollte ich bei dem Projekt etwas lernen über

  • Wandlung Digital nach Analog und zurück (ADCs und DACs)
  • Sounds generieren mit Microcontrollern
  • Entwicklung eines Midi-Trigger Interface
  • Pulsweitenmodulation für LED-Dimmen und Audio-Ausgabe
  • sauberes Hardwaredesign (im Gegensatz zum Kabel-Chaos vergangener Projekte) – klar ’sauber‘ wäre eine geätze Leiterplatte, soweit war ich aber hier noch nicht
Little helper for developing with the tiny13
Kleines Helferboard zum Entwickeln mit dem Tiny13

Entwicklungs-Ding

Der Tiny13 hat nur 8 Pins, daher ist es recht schwierig ihn per normaler InSynstemProgrammierung (3 Pins + Reset + Masse) zu flashen. zusätzlich nutzt einer der 4 DACs den Resetpin. Wenn wir den Reset per Fuse deaktivieren bleibt uns nur noch Highvoltage Serial Programming.Ich habe daher diesen kleinen Entwicklungshelfer gebastelt der Die Spannungen für die DACs zum Tiny13 schickt während er im Entwicklungsboard steckt. PB0 und PB1 werden auch rausgeführt und man kannes bei Bedarf umjumpern.

TinyRhythm Mainboard
TinyRhythm Mainboard

Hauptplatine

Hier liegt das Zentralgehinr des TinyRhythm mit folgenden Funktionsblöcken:

  • 10 pin Stecker mit Kabel zu Netzteil-/Midibuchse und Midichannel-Learn Taster
  • Spannungsregler für +5V (für die µController) und +9V (für die OpAmps)
  • Optokopler für Midiempfang zum µController
  • µController zur Konvertierung des digitalen Midi in analoge Trigger
  • 8 x DAC mit 2bit um bei verschiedener Velocity verschiedene Sounds auf den Boards zu triggern (nur bei einigen)
  • 8 x Buffer für die Triggers
  • 8 x 6pin-Buchse für die 8 Voice-Module
  • 16pin-Buchse um Triggers zum Mixer-board zu schicken für die leuchtenden Fader-LEDs
  • 10pin-Buchse um Audio zum Mixer-board zu schicken
TinyRhythm Mixerboard
TinyRhythm Mixerboard mit Ausdiomischpunkt und LED-Treibern für 8 Trigger-LEDs

Mixer-/Triggerindicator board

  • 8 Kanalmischer für Instrumente
  • octal driver um Triggersignale von LEDs zu entkoppeln
  • 8 x LED-Treiber für Fader-LEDs
  • einfache Accent-Einheit aus der Roland® DR-110
  • Accent Tiefe und Accent Länge für kürzere/längere Accent-Hüllkurve
TinyRhythm low cost case before painting
TinyRhythm Billiggehäuse vor dem Anstrich

Case

Es sollte billig sein und trotzdem nett aussehen. Die MDF-Teile aus dem Baumarkt waren tatsächlich billig: 2.46 EUR

TinyRhythm - 808 type digital Bassdrum
TinyRhythm – 808 artige digitale Bassdrum

Module 1 : mit dem tiny13 ’nachgebaute‘ 808-Bassdrum

  • digitaler Dreieckoszillator und digitale Hüllkurve über PWM rausgeschickt
  • logarythmic Hüllkurve für Amplitude aus Lookuptable
  • Potis für Tune, Bend, Tone und Decay
  • klingt fast bzw. kaum wie das Original :)

Das Audioausgangsmaterial sollte eine Sinuswelle sein und war zunächst perfekt. Als dann zusätzliche Code-Komponenten dazukamen hatte ich unerklärliche Glitches in der Wellenform. Es muss etwas mit der Code-‚Optimierung‘ des Compilers zu tun haben, wenn ich die allerdings ausgeschaltet hätte, hätte der Flashrom-Platz nicht gereicht um alles unterzubringen. Das hätte man dann wohl besser alles in Assembler gemacht. Nach meinem Sequencerprojekt mit Assembler hatte ich darauf aber keine Lust. Ich ersetzte den hinkenden Sinus also duch eine simple Dreieckswelle. Am Ende war ich mit dem Ergebnis siweit recht zufrieden. Die Dreieckswelle hat ein paar Aliasing-Obertöne die ihr einen hybriden Charme geben. Das ist im Audiodemo ganz gut zu hören. Wenn der Pitch gebendet wird werden auch die Obertöne gebendet.

TinyRhythm – Bassdrum
Tiny Bassdrum
TinyRhythm Snaredrum
TinyRhythm Snaredrum

Module 2 : Snaredrum

  • komplett digital
  • shifted noise, der sich tunen lässt
  • digitale Hüllkurve um Rechteckwelle und Noise zu benden
  • Poti zum Faden von Square und Noise
  • Audiooutput endweder AN oder AUS – kein VCA
TinyRhythm – Snare
Tiny Snaredrum
TinyRhythm HiHats
TinyRhythm HiHats

Module 3 : HiHats

  • shifted noise, der sich tunen lässt
  • 6 verschiedene Squarewave-Mix-Spektren
  • analoger, einstellbarer Hochpassfilter
  • Audiooutput endweder AN oder AUS – kein VCA

Open and Closed HiHat is combined in one module here. The reason is, i didnt want to ‚waste‘ another triggerchannel for them. I have 3 levels for my triggers, so i decided to start the open-HH with full level and trigger the closed HH with the lower triggerlevels altering the decaytime. The audio is digital-shiftregister-noise OR a digital sum of 3 square-oscillators which alter their frequency by odd formulas in dependance to the tune-pot. The audio is sent through an analogue bandpass which is manually adjustable in wide range. You find these bandpasses in all the analog drummies with a so called ringoscillator in the HiHat section.

TinyRhythm – HiHats
Tiny HiHats
TinyRhythm Bassdrum
TinyRhythm Bassdrum

Module 4 : Dreifach-Tom / Bassdrum 2

  • drei verschiedene Grund- Tonhöhen, auswählbar per Anschlagdynamik – natürlich kann nur eine Tom gleichzeitig klingen
  • permanent schwingender Rechteckoszillator Tiny13
  • digitale Hüllkurve für Pitchbend
  • analoges Lowpassfilter, abschaltbar für agressiveren Sound
  • analoger VCA mit analoger Hüllkurve

Der Tiny13 liest die analogen Werte des Trigger und von 3 Potentiometern. Er gibt an PB1 eine Rechteckwelle aus und einen Triggerpuls der eine analoge Hüllkurve startet (adaptiert vom DR-110). Diese Envelope steuert einen (simplen) VCA. Danach folgt ein statischer Lowpassfilter um aus der geshapten Rechteckwelle einen etwas angenehmeren Tom-Sound zu machen. Der Lowpass ist sehr simpel (Kondensator 10n und 1M trimmer) und nicht vergleichbar mit den üblichen Synthesizer-Lowpassfiltern. Die Rechteckwelle ist im Tiny13 per digitaler Hüllkurve im Pitch bendbar über die Parameter Decay und Depth. Nicht das llercoolste Modul aber Möglichkeit der 3 Tonhöhen bringen viel Variation in den Sound.

TinyRhythm – Triple Tom
Tiny Triple Tom
TinyRhythm Cymbal / Cowbell
TinyRhythm Cymbal / Cowbell

Module 5 : Cymbal / Cowbell

  • 3 digitale Oscillatoren mit verschiedenen Tunings erzeugen 3 Noisespectra und 3 verschiedene Cowbell-Tunings
  • stimmbarer Shifted Noise
  • analoger VCA mit Hüllkurve
  • analoger Bandpassfilter der über einen lichtempfindlichen Widerstand und LED gestimmt wird
  • PWM-gedimmte LED stimmt den Bandpassfilter über verschiedene Modes: LFO, positive oder negative Hüllkurve und Sample/Hold
TinyRhythm – Cymbal
Tiny Cymbal
TinyRhythm - Clap
TinyRhythm – Clap

Module 6 : Clap / Guiro

  • einige verschiedene Burst-Modes mit verschiedenen Burstdauer/-abstand Kombinationen
  • verschiedene Wellenformen/Spektra
  • grob basierend auf der DR110-Clap (Reverb und analoge Filtersection)

Da das Flashrom nicht ausreichte habe ich hier einen Tiny26 verwendet. Man hätte an den Tiny26 noch mehr Potis anklemmen können, ich wollte aber daß das Modul in mein 4-Poti-Raster passt

Einen Nachteil zu einem Gewinn wandeln

Nachdem das Modul fast fertig war musste ich feststellen daß der VCA nicht ganz schliessen wollte, vielleicht lag es am Transistor, ich fand es nicht raus. Um das Problem zu umgehen habe ich einfach ein Poti umgetauft in ein Gate-Poti. Man kann damit eine Zeitdauer einstellen wie lange der Microcontroller sein Audiosignal ausgeben soll. Danach ist er mucksmäusschenstill. Jetzt muss man zwar die Decayzeit der analogen Hüllkurve immer jew. abstimmen mit der Gate-Zeit wie lange der Controller sein Ausio ausgibt. Es bietet sich so aber die zusätzliche Möglichkeit auch ge-gatete Claps einzustellen. Dass also das Audiosignal abreisst bevor die analoge Hüllkurve zuende ist.

TinyRhythm – Clap/Guiro – wenn man genau hinhört kann man das Problem raushören daß auch nach beendeter analoger Hüllkurve noch etwas Timbre zu hören ist und wie der Gate-Parameter ins Spiel kommt

Tiny Clap

TinyRhythm Maracas / Clave
TinyRhythm Maracas / Clave

Module 7 : analoge Maracas & Clave der Vermona ER-9

  • nichts digitales hier :)
  • sehr, sehr simple aber klasse klingende Voice
  • um als Kontrast zu den harten digitalen Voices etwas weiche Percussion zu haben
  • Maracas-Attack einstellbar
  • Umschalter Maracas oder Clave

Nichts besonderes hier. Ich mag einfach die Sounds der Vermona ER9. Wenn man sich den Schaltplan ansieht erschrickt man förmlich ob der Einfachheit, das muss man einfach nachbauen.

TinyRhythm – Clave/Maracas
Tiny Clave/Maracas
TinyRhythm - analogue Percussion
TinyRhythm – analogue Percussion

Module 8 : analoge 808-Clave / Noise-Rim / CR5000-Clave

  • drei analoge Voices, auswählbar über den Triggerpegel (Anschlagsdynamik) – natürlich kann immer nur eine gleichzeitig erklingen
  • 808-Clave mit Tunemöglichkeit von Clave bis Conga
  • 808-Rim mit Noise als Klangquelle
  • CR-Clave klingt nicht wie Original, macht aber einen sympathischen ‚bec‘-Sound :)

Nachdem die ersten 3 Module BD, Sid-Snare und HH aufgebaut waren wurde ich etwas unsicher angesichts des barschen und fast unangenehmen digitalen Grundklangs der TinyRhythm. Ich hielt es für eine gute Idee ein paar analoge Stimmen als Kontrast dazuzubauen in Form der TR-808 Clave und der sehr simplen CR5000-Clave. Und die 808-RIM ist ja auch sehr schön.

Die 808-Clave kam sehr schön raus mit der Tuning-Möglichkeit beider Tones. Ich weiss nicht so ganz warum aber die 808-Rim wollte nicht so recht klingen. Vermutlich liegt es an der bipolaren Spannungsversorgung der 808, ich habe hier ja nur 9V monopolar. Ich habe sie dann zum Behelf mit der Noisequelle aus dem Tiny13 gefüttert, jetzt klingt sie wenigstens wie eine schwache Snare.

Und die CR-Clave hatte auch leider nicht den schönen, rauschigen ‚tak‘ wie das Original … ich war mit dem Ergebnis trotzdem zufrieden. Der Sound erzeugt einen warmen, sehr kurzen Percussion-‚bek‘ sound. Und ist in weitem Bereich tunebar.

TinyRhythm – analogue percussion
Tiny Percussion