Verwendung von Ardour für die Erzeugung von Sound
(EN google-translate)
(PL google-translate)
Die Resourcen eines Smartphones sind in der Regel sehr begrenzt. Echzeitbearbeitung von Sound kann nur mit Einschränkungen und i.d.R mit reduzierten Samplingraten oder auf wenigen Kanälen gelingen.
Statt dessen wird im weiteren Verlauf das Konzpet verfolgt, zwar die Sensorik des Smartphones und das VR-Rendering zu nutzen, den Sound aber über OSC-Befehle zu steuern. Die Befehle sollen an einen PC geschickt werden, auf dem Ardour läuft.
Für erste Versuche reicht es, Sketche auf dem gleichen PC laufen zu lassen, auf dem auch Ardour läuft und die OSC-Befehle an "localhost" bzw. 127.0.0.1 zu schicken.
Versuch 001: Start und stop eines geloopten Audiofiles von Processing aus.
ardour_versuch001.zip - Ardour- und Processing-Projekt zu diesem Versuch.Bild 0-1: Einstellungen beim Anlegen des Ardour-Projektes.
Bild 0-2: Audio-Einstellungen. Zukünftig typisch: 48kHz (wie im i2audiolab).
Einrichten des Ardour-Projektes:
|
Bild 0-3: Importieren: "Kopiere Dateien in Projekt" angehakt. (Vermeidet Probleme beim umkopieren des Projekts)
Bild 0-4: Nahtlose Schleifen unter Bearbeiten -> Globale Einstellungen -> Transport aktivieren;
Bild 0-5: OSC in Ardour aktivieren: Bearbeiten -> Globale Einstellungen -> Eingabegeräte/Controller
|
Bild 0-6: Hier den Default-Eintrag nötigenfalls ändern.
import oscP5.*; import netP5.*; OscP5 oscP5; NetAddress myRemoteLocation; void setup() { size(400,400); frameRate(25); oscP5 = new OscP5(this,3819); myRemoteLocation = new NetAddress("127.0.0.1",3819); } boolean AN = false; void mousePressed() { AN = !AN; if(AN) { OscMessage myMessage = new OscMessage("/ardour/goto_start"); //Band zurückspulen oscP5.send(myMessage, myRemoteLocation); delay(10); //Befehle benötigen in Ardour etwas Verarbeitungszeit und werden ohne delay nicht richtig erkannt. OscMessage myMessage2 = new OscMessage("/ardour/transport_play"); //Band starten oscP5.send(myMessage2, myRemoteLocation); delay(10); OscMessage myMessage3 = new OscMessage("/ardour/loop_toggle"); //... geloopt oscP5.send(myMessage3, myRemoteLocation); delay(10); println("Ardour gestartet"); } else { OscMessage myMessage3 = new OscMessage("/ardour/loop_toggle"); //geloopt rückgängig oscP5.send(myMessage3, myRemoteLocation); delay(10); OscMessage myMessage = new OscMessage("/ardour/transport_stop");//stoppen. oscP5.send(myMessage, myRemoteLocation); delay(10); println("Ardour angehalten"); } } public void draw() { if(AN) background(0,255,0); else background(255,0,0); }
Code 0-1: ardour_proc_versuch001.pde - Processing Sketch für den ersten Versuch.
|
Bild 0-7: Screenshot des laufenden ersten Versuches, Ardour von Processing aus zu steuern.
Versuch 002: Start und stop eines geloopten Audiofiles von Processing aus.
Bild 0-8: Audio-Einstellungen für das neue Ardour-Projekt: Wav-Files haben eine Samplingrate von 48kHz.