Neben MIDI-Nachrichten können wir mithilfe von Time State und unserer Musik auch OSC-Nachrichten in Echtzeit versenden. Dazu müssen wir nur wissen, an welche IP-Adresse und Port die Nachricht senden wollen. Probieren wir es aus:
use_osc "localhost", 4560
osc "/hello/world"
Wenn du den Code von oben ausführst, wird dir auffallen, dass Sonic Pi an sich selbst eine OSC Nachricht sendet. Das kommt daher, dass die IP Adresse und der Port auf den Standart OSC-Port von Sonic Pi gerichtet sind. Im Grundegenommen ist es dasselbe als würden wir einen Brief an uns selber schreiben - das OSC Packet wird erstellt, verlässt Sonic Pi, landet auf dem Netzwerkstapel unseres Betriebssystems und wird dann wieder an Sonic Pi, mit der im Protokoll sichtbaren standart OSC-Nachricht (/osc:127.0.0.1:4560
) gesendet. (Sieh wie Sonic Pi automatisch das /osc
Prefix für alle einkommenden Nachrichten setzt)
Natürlich ist es Lustig an sich selbst OSC-Nachrichten zu addressieren, hilfreich ist es aber nicht. Der Nutzen wir dann sichtbar, wenn wir Nachrichten an andere Programme senden:
use_osc "localhost", 123456
osc "/hello/world"
In diesem Beispiel nehemen wir an, dass ein Programm auf dem selben Computer am Port 123456 wartet. Falls dies der Fall ist, wird es eine OSC-Nachricht mit dem Inhalt "/hello/world"
erhalten, welche es dann verarbeiten kann.
Wenn Dein Programm auf einer anderen Maschine läuft, müssen wir deren IP-Adresse kennen, die wir anstelle von "localhost"
verwenden:
use_osc "192.168.10.23", 123456
osc "/hello/world"
Nun können wir OSC-Nachrichten zu jedem, über das lokale Netzwerk oder das Internet erreichbaren, Gerät senden!