Wie alles begann

Schon seit meiner Jugend interessiere ich mich für Technik. Ich wollte immer genau wissen, wie etwas funktioniert. Zum Beispiel ein Elektromotor, ein Benzinmotor. Ich stellte die Frage, warum ruckelt das Auto nicht, wenn sich der Kolben hoch und runter bewegt?

Mein Vater brachte mir bei, wie man elektronische Schaltungen aufbaut und lötet. Ich fand es immer spannend zu sehen, wie eine Schaltung eine bestimmte Funktion erfüllt, wenn sie fertig aufgebaut war. Natürlich lernte ich auch, was alles schief gehen kann und welche Fehler passieren können. Die Schaltungen waren anfangs einfache Analogschaltkreise mit Transistoren, Widerständen, Relais, Dioden. Schaltungen mit dem NE555 waren auch so ein Hobby, ein Experimentierbuch war meine tägliche Lektüre. Später kamen integrierte Schaltkreise zum Einsatz wie Operationsverstärker und Logik-ICs wie Gatter, Zähler, Schieberegister, BCD Decoder. Damit konnte man schon lustige Dinge anstellen wie ein LED Lauflicht oder eine Stoppuhr.

Musik war bei uns zuhause ebenso immer ein Thema. Mein Vater war ein leidenschaftlicher Keyboard Spieler und hat sogar selbst eine elektronische Orgel aufgebaut. Er brachte mir das Keyboardspiel bei und ich lernte, einige Lieder zu spielen. Mein erstes eigenes Keyboard

war ein Casio VL-Tone. Kenner wissen Bescheid!

In den 80ern kam ich auch mit Computern in Berührung. Es war vielleicht 1984, da kam ein ZX81 ins Haus geflattert. Ich war sofort wahnsinnig neugierig, was man damit anstellen kann. Man konnte mit der Basic Programmiersprache Spiele programmieren und auf dem „Funkendrucker“ Schwarzweiß Grafiken drucken. Ich mochte computergenerierte Grafik, tippte seitenlange Programme aus Zeitschriften ab und machte selbst erste Programmierversuche.

Ein paar Jahre später kam der Amiga 500 ins Haus. Ich erkannte recht schnell das Potential dieser Maschine, als ich den Aufbau untersuchte. Natürlich konnte man wirklich schön Spiele damit spielen. Das eigentlich interessante war aber, wie das Gerät Sound und Grafik erzeugt hat. Zum ersten Mal gab es einen D/A Wandler. Dieser verband die digitale mit der analogen Welt und ermöglichte es, digital gespeicherte Klänge aus der realen Welt originalgetreu abzuspielen. Damals entstand mein erstes Synthesizer Programm. Es war in GFA Basic geschrieben und generierte FM Sounds, die man abspeichern konnte.

Bessere Performance als Basic versprach die C- und Assembler Programmierung. Der MC68000 war richtig schön in Assembler zu programmieren, dabei entstanden einige Programme zur Ansteuerung der Grafikchip Hardware. Die C Programmierung war noch nicht so meins, eigentlich hätte ich gerne alle Referenzhandbücher des Amiga Betriebsystems gehabt (intuition, graphics etc) um richtige Anwendungen schreiben zu können. Die waren aber nur als Büchersammlung zu haben, welche ich mir leider nicht leisten konnte. MIt dem Amiga hatte ich auch meinen ersten Kontakt zur Datenübertragung. Mit der serliellen Schnittstelle konnte man einen anderen Amiga verbinden oder ein Modem daran anschließen. Damals gab es noch kein Internet, aber bereits das sogenannte BTX (Bildschirmtext). Damit konnte man sogar Online Banking machen (ich war vielleicht der erste in meinem Dorf, der das hatte).

Nach der Schule ging es dann weiter mit meiner Ausbildung zum Kommunikationselektroniker. Die meisten Dinge kannte ich ja schon, zum Beispiel löten und ein Oszilloskop bedienen. Dennoch habe ich dabei viel dazugelernt, vor allem sauberes und systematisches Arbeiten sowie die grundlegende Funktionsweise vieler elektronischen Bauteile und deren physikalische Grundlagen. Ich lernte außerdem das reale Berufsleben kennen in der Leiterplattenfertigung, Bestückung, Fernsehgerät-Montage und bei der Elektronik Entwicklung. Letzteres fand ich am spannendsten. Ich entwickelte dort eine Geschwindigkeitsmessungsschaltung für eine Modelleisenbahn mit diskreten Zähler-ICs.

Nach der Ausbildung habe ich ein Wehrpflicht Jahr bei der Bundeswehr absolviert. Ich wurde als Funker eingesetzt, passend zu meiner Ausbildung. Dort wurde unter anderem ein Mikrocomputer Abendkurs angeboten, der mich sehr interessierte. Ich hatte Spaß dabei, seitenlange 8080 Assember Programme zu schreiben, die einem Lautsprecher 1-Bit Töne und Melodien entlockten, was selbst den Lehrer beeindruckte.

Nach dieser Erfahrung habe ich beschlossen, weiter auf die Schule zu gehen, um die Fachhochschulreife zu erlangen. Ich studierte anschließend technische Informatik an der Fachhochschule Karlsruhe. Das Studium war äußerst anspruchvoll, vor allem die höhere Mathamatik war eine Herausforderung. Was ich vorher unter Mathematik verstand (Gleichungssysteme lösen, ableiten, Hoch- und Tiefpunkte finden), hatte damit nicht mehr viel zu tun. Interessant fand ich die lineare Algebra, mit der ich bereits in Verbindung mit Computergrafik erste Erfahrungen hatte. Ich lernte, wie Datenbanken funktionieren und wie ein Rechner aufgebaut ist, wie Halbleiterschaltungen entwickelt werden, wie digitale Regelungen mit der Z-Transformation entwickelt werden. Im Studium hatte ich auch meinen ersten Kontakt mit der Java Programmierung. Objektorientierte Konzepte waren mir bereits von C++ bekannt, jedoch gefiel mir die Einfachheit und Mächtigkeit der Java Programmiersprache. Es fühlte sich an wie eine Kreuzung zwischen C++ und Basic.

Das Studium habe ich dann 2001 mit einem Diplom abgeschlossen. Der Internet Hype war in vollem Gange, alle Welt wollte Online Shops und sowas aufbauen, um damit Geld zu machen. Ich war an der Entwicklung derartiger Systeme beteiligt und lernte Java EE als Plattform für Business Anwendungen kennen. Das ist bis heute auch mein Job.

In den folgenden Jahren befasste ich mich etwas intensiver mit elektronischer Musik. Ich probierte mehrere Synthesizer aus und experimentierte mit verschiedenen DAWs, um damit selbst Musik zu produzieren. Virtuall analoge Synthesizer fand ich besonders interessant, da sie ohne Samples auskamen und Sound wie aus dem „nichts“ generieren konnten mittels subtraktiver oder FM Synthese. Zwischendurch war ich bei einem Web Radio als DJ tätig. Meine Lieblingsgenres waren dabei Progressive House und Trance.

In der Pandemie 2020 fing ich wieder an, in meiner Freizeit Java Programme für die Sound Generierung zu entwickeln. Dabei habe ich mir die DSP Grundlagen für bandlimited Sound Synthese und digitale Filter angeeignet. Es entstand ein experimenteller Synthesizer mit Swing, später mit JavaFX Frontend.

Seit einem Jahr befasse ich mich intensiver mit Mikrocontrollern und entdecke meine Leidenschaft zur Elektronik neu. Als ersten Mikrocontroller wählte ich einen „Black Pill“, eine STM32 MCU mit 84MHZ mit FPU, um damit Sound mit DSP Algorithmen zu erzeugen, die ich bereits mit Java erforscht hatte. Als IDE habe ich erstmal mit der Arduino IDE experimentiert. Dabei stieß ich aber schnell an die Grenzen, daher kam die STM32 Cube IDE zum Einsatz. Damit konnte man wesentlich mehr machen.

Die Leistung war aber irgendwie noch nicht gut genug und ich hatte so meine Kämpfe mit der IDE. Da habe ich vom Raspberry Pi Pico 2 erfahren, der letztes Jahr herauskam. Er war mit 150MHZ wesentlich schneller und hatte auch eine FPU an Bord. Die Programmierung erfolgt hier mit der Visual Code IDE von Microsoft. Was mir daran gut gefällt ist die Möglichkeit, komplexere Projekte aufzubauen mit Cmake. Der Raspberry Pi Pico 2 ist ähnlich aber einfacher aufgebaut wie der Black Pill und hat einige Spezialitäten wie die frei programmierbare PIO State Machine. Natürlich war mein erstes Projekt, meinen PCM5102 D/A Wandler anzuschließen und ihm einen Sinuston zu entlocken. Dazu musste ich erstmal das I2S Protokoll in der PIO SM zusammenschrauben. Das geniale am Raspberry Pi Pico (2) ist, dass er über 2 Kerne verfügt. Man kann also Realtime Audio ungestört auf einem Kern rendern, während man die anderen Sachen wie Regler und Display auf dem anderen Kern umsetzen kann.