Tijd toestand
Let’s build a basic OSC listener:
live_loop :bla do
use_real_time
a, b, c = sync "/osc*/trigger/prophet"
synth :prophet, note: a, cutoff: b, sustain: c
end
In this example we described an OSC path "/osc*/trigger/prophet"
which we’re syncing on. This can be any valid OSC path (all letters and numbers are supported and the /
is used like in a URL to break up the path to multiple words). The /osc
prefix is added by Sonic Pi to all incoming OSC messages, so we need to send an OSC message with the path /trigger/prophet
for our sync
to stop blocking and the prophet synth to be triggered.
We can send OSC to Sonic Pi from any programming language that has an OSC library. For example, if we’re sending OSC from Python we might do something like this:
from pythonosc import osc_message_builder
from pythonosc import udp_client
sender = udp_client.SimpleUDPClient('127.0.0.1', 4560)
sender.send_message('/trigger/prophet', [70, 100, 8])
Or, if we’re sending OSC from Clojure we might do something like this from the REPL:
(use 'overtone.core)
(def c (osc-client "127.0.0.1" 4560))
(osc-send c "/trigger/prophet" 70 100 8)
Vanwege veiligheidsvoorzorgen laat Sonic Pi niet standaard machines op afstand OSC-berichten verzenden. Maar je kan dit toestaan in Voorkeuren->IO->Netwerk->Ontvang OSC-berichten op afstand. Wanneer je dit hebt aangezet, kan je OSC-berichten van elke computer op je netwerk ontvangen. Normaal zal de versturende machine moeten weten wat het IP-adres is (een unieke waarde die je computer identificeert op je netwerk - net als een telefoonnummer of een emailadres). Je kan je eigen IP-adres opzoeken door te kijken naar de IO-sectie in het voorkeursscherm. Als je computer meerdere IP-adressen heeft, ga dan met de muis over het adres om een lijst van alle bekende adressen te krijgen.
Weet dat sommige programma’s, zoals TouchOSC for iPhone en Android het versturen van OSC-berichten standaard ondersteunen. Dit betekent dat wanneer je luistert naar computers die van buitenaf berichten versturen en je weet je IP-adres, je meteen berichten kan gaan versturen van apps zoals TouchOSC waarmee je je eigen gebouwde drukknoppen en schuifregelaars, knoppen en draaiknoppen kan maken en zo meer. Hiermee kan je een ongelooflijke hoeveelheid inputmogelijkheden creëren.