Goertzel Algorithmus mit Pure Data

Pure Data ist viel mehr als eine grosse Kiste voller Lego für Programmierer von Elektronischer Musik!

Pd (Pure Data) ist eine „real-time graphical programming environment for audio processing“, zu deutsch, eine „grafische Programmierumgebung zur Klangerzeugung in Echtzeit“. Traditionell arbeiten Programmierer mit textbasierten Programmiersprachen. Sie erstellen den sogenannten Code, starten die Verarbeitung des Computers und erhalten ein Ergebnis. Pd stellt für seine Programmfunktionen visuelle Objekte bereit, die der Anwender auf dem Bildschirm platziert und verändert. Diese visuellen Stellvertreter – kleine Kästchen, die miteinander verbunden werden – gehen auf die analogen Studios zurück, in denen vor dem Computerzeitalter Elektronische Musik produziert wurde: Verschiedene Geräte – jetzt symbolisiert durch unsere Kästchen – werden durch Linien miteinander verbunden, die – in Analogie zu den Kabeln – Verbindungen zwischen den Kästchen symbolisieren. (Wegen dieser Art von Verbindungen wird Pd eine datenstromorientierte Programmiersprache genannt.)

(Textquelle: Autor Johannes Kreidler, Programmierung Elektronischer Musik in Pd)

Pd als Beispiel für eine Berechnung eines einzelnen diskreten Spektralanteils eines Audiosignals auf der Grundlage des Goertzel-Algorithmus

Die Amplitude eines diskrete Spektralanteils eines Audiosignal lässt sich mit dem Algorithmus von Goertzel berechnen:

goertzel_diagramm

|Yk(N) |² = Q²(N) + Q²(N-1) – coeff  * Q(N)*Q(N-1)

Where:  coeff = 2*cos(2*p*k/N)

 

Mit den visuellen Objekte von Pd sieht die Umsetzung etwas so aus:

2015-02-11 11_19_13-subbiquadgoertzel  - X__PROJ_EPCLD_pas_pas_source

 

Pd ist ein vielseitiges Werkzeug und ist genial geeignet um digitale Filter zu programmieren und visuell miteinander zu verbinden.