PureData-Programmierung. Teil 1

  • Tutorial

Ein bisschen Ergänzungen und Terminologie


In einem früheren Artikel haben wir uns mit grundlegenden mathematischen Operatoren getroffen und die Prinzipien der digitalen Klangorganisation in unserem Gedächtnis aufgefrischt. Ich habe auch darauf hingewiesen, dass die Essenz von Verbindungen in PureData die Übertragung von Nachrichten, Signalen und Impulsen ist. Hier gilt es einen Punkt zu verdeutlichen: Momentum ist in der Tat ein besonderer Kommunikationsfall. Die Übertragung des Impulses bedeutet die Übertragung einer Einheit. Um dies sicherzustellen, verbinden Sie [bang] und numberBox und sehen Sie, was passiert. Gemäß der allgemein anerkannten Terminologie, die in der Literatur und in Literaturhinweisen zu Bibliotheken verwendet wird, werden numerische Nachrichten als Skalare und Signale als Vektoren bezeichnet .
Vielleicht bleibe ich auch dabei. Fangen wir an.

Signale und Signalobjekte


Signale sind Daten, die zur Ausgabe an Audiogeräte bestimmt sind. Wie Sie sich denken können, sind Signalobjekte Werkzeuge zum Erzeugen und Verarbeiten von Signalen.
In PureData werden Signalobjekte mit dem Postfix [~] definiert, z. B. [osc ~], [phazor ~], [+ ~]. Auch im Code sind die Ein- und Ausgänge, die Signale empfangen und senden, und die entsprechenden Verbindungen hervorgehoben. Der Signalausgang kann nicht mit Skalaren verbunden werden und mit seltenen Ausnahmen umgekehrt. Lernen wir diese Objekte besser kennen.

Der einfachste Synthesizer und die erste GUI


Ein Objekt, das sehr häufig in Patches verwendet wird und ohne das kein Generator auskommt - [osc ~] . Am linken Eingang nimmt es einen Frequenzwert an. Trotz der Tatsache, dass es hervorgehoben ist, ist es durchaus möglich, hier eine Nummer zu übergeben. Jetzt hören wir jedoch keinen Ton. Dazu müssen Sie ein Signal an die Soundkarte senden. Die Ausgabe wird vom Objekt [dac ~] festgelegt . Stellen Sie den Ton leiser, da er laut genug ist. Der linke Eingang ist der linke Kanal, der rechte bzw. der rechte. Wir haben den einfachsten Synthesizer.



Jetzt schraube hier einfache Mathematik. Zuerst bringen wir den Lautstärkeregler an. Basierend auf der Formel y = A * sin (x)können wir schließen, dass Amplitudenänderungen unter Verwendung der Multiplikationsoperation erzielt werden können. Dazu multiplizieren Sie das Signal einfach mit einer bestimmten Zahl. Verwenden Sie dazu das Objekt [* ~] . Alle arithmetischen Operationen für Wellen können durch Hinzufügen des Postfixes "~" zum Symbol des Skalaroperators erhalten werden . Verbinden Sie nun den Oszillator mit dem Multiplikationsobjekt und fügen Sie numberBox hinzu, wobei Sie ihn auf das Intervall [0, 1] beschränken. Dies kann über die Eigenschaften erfolgen. Senden Sie das Ergebnis der Multiplikation an den Ausgang und blockieren Sie den Patch. Halten Sie die Umschalttaste gedrückt und ziehen Sie die Maus in die numberBox'e.



Es funktioniert, ist aber unangenehm. Deshalb werden wir eine Alternative finden.

Lassen Sie uns Objekte [vslider] und [knob] erstellen. Schönheit? Schönheit Ein Fader und ein Potentiometer sind viel praktischer als eine Schachtel mit Zahlen. Wir schränken sie durch die "Eigenschaften" in [0, 1] ein. Und versuchen Sie, anstatt nuberBox'a zuerst ein Objekt, dann ein anderes zu verbinden.



Wie Sie sehen, gibt es keinen großen Unterschied, und was Sie verwenden müssen, hängt nur von Ihrem Geschmack und Ihren Wünschen ab.

In der nächsten Lektion konzentrieren wir uns auf die additive Synthese und die Bearbeitung von Hüllkurven.

Jetzt auch beliebt: