P5,
P5.sound
und Meyda Grundlage für die Arbeit mit P5 ist das mit HTML5 eingeführte "Canvas-Prinzip", in dessen Rahmen ein Bereich auf der Webseite quasi als Leinwand gilt, auf der beliebig programmierbare Aktionen möglich sind. Um mit P5 und P5.sound zu arbeiten, müssen die dazu gehörenden Javascript-Libraries p5.js und p5.sound.js unter https://p5js.org/download/ bzw. https://github.com/processing/p5.js-sound/blob/main/lib/p5.sound.js heruntergeladen werden und in den Header der jeweiligen html-Seite eingebunden werden. Die mit P5 erstellten Scripte benötigen häufig eine Server-Umgebung, um lauffähig zu sein, d.h. das Ergebnis kann man erst sehen, wenn man alles auf einen Server geladen hat. Unter https://editor.p5js.org/ gibt es eine online-Umgebung, um Scripte direkt auszuprobieren. Für die Wiener Musikwissenschaft wurde deswegen unter https://muwiserver.synology.me:444 eine Testumgebung eingerichtet, in der Studierende jeweils einen Ordner mit ihrem Namen anlegen können und eigene Scripte ausprobieren können. Über das ftp-Programm FileZilla können die Daten hochgeladen werden, der Zugang ist: Server: muwiserver.synology.me Eine Referenz für die einzelnen Befehle und Funktionen findet man unter https://p5js.org/reference/ Im folgenden Beispiel befinden sich die beide Dateien (p5.js und p5.sound.js) in dem Ordner "header", der sich am gleichen Ort wie die index.htm-Datei befindet. Das Grundgerüst der index.htm-Datei sieht dann folgendermaßen aus: <html> Eine typische
P5-Anwendung hat meist 3 Abschnitte, die durch Funktionen gekennzeichnet
sind: function preload(){
... } Das typische Grundgerüst für eine komplette index.htm-Datei für die Arbeit mit P5 sieht dann wie folgt aus: <html> <script> function setup(){ function draw(){ </script> //
hier via DIV-Tags einen Container erstellen, an den der von P5 erzeugte
Canvas angehängt werden </body>
P5.sound Mit Hilfe der P5.sound Erweiterung lassen sich Klänge sowohl analysieren/visualisieren als auch erzeugen, wie z.B. Darstellung von Pegelwerten Darstellung von Spektren
Filterung in Echtzeit Effekte Synthese
Signalanalyse mit Meyda Signalanalyse mit Essentia.js Visualisierung und Videosynchronisierung von Motion-Capture-Daten
P5 und
ML5 für Bewegungs- und Objekterkennung
|