Synthesizer mit dem Raspberry Pi Pico 2

Die Geschichte

Wie entwickelt man einen digitalen Synthesizer? Diese Frage stellte ich mir bereits vor vielen Jahren. Zunächst habe ich mit Java einige Versuche gemacht, wie man mit dem Computer Sound erzeugen kann. Dabei habe ich einige Grundlagen der Klangsynthese erarbeitet und diese in einem Java Synthesizer umgesetzt: Oszillatoren, FM Synthese, PWM, Bandlimiting, LFO, Hüllkurven, Filter, Effekte wie Delay, Chrorus, Flanger und Hall. Dabei entstanden viele Unit Tests. Auch Java Swing und später JavaFX kamen zum Einsatz, um den Sound beispielsweise zu visualisieren, mit einem Oszilloskop, einer Spektrum Anzeige, einem „Klangteppich“ (scrollendes vertikales Spektrum) und Lissajous Figuren.

Irgendwie war ich damit noch nicht zufrieden, ich wollte das ganze in C++ auf einer Hardware umsetzen. Zunächst kam ein Black Pill Microcontroller zum Einsatz (STM32) mit 84MHz. Dabei stieß ich schnell an die Grenzen der Leistungsfähigkeit des Prozessors. Mit dem Entwicklungs-Prozess war ich auch nicht wirklich zufrieden (STM Cube IDE).

Nun kam vor Kurzem der Raspberry Pi Pico 2 raus. Der erste Pico hatte leider keine FPU, der zweite hatte nun eine. Ohne FPU machts wenig Spaß, finde ich. Der Raspberry Pi Pico 2 ist eine kleine Wundermaschine. Er taktet mit 150MHz (es geht auch mehr) und hat vergleichsweise eine Menge RAM. I2S wird nicht von Haus aus unterstützt, daher war eines meiner erstes Projekte, dies selbst zu implementieren mit der „State Machine“.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert