# Réception OSC

Par défaut, lorsque Sonic Pi est lancé, il écoute sur le port 4560 pour des messages OSC entrant de programmes sur le même ordinateur. Cela veut dire que sans aucune configuration, vous pouvez envoyer à Sonic Pi un message OSC et il sera affiché dans la queue du journal tout comme les messages MIDI entrants. Cela veut également dire que tout message OSC entrant est aussi automatiquement ajouté à l’État du Temps, ce qui veut dire que vous pouvez aussi utiliser `get` et `sync` pour travailler avec l’information entrante, comme avec le MIDI, et synchroniser `live_loops` - voir les sections 5.7 et 10.2 pour récapituler comment cela fonctionne.

## Un écouteur OSC basique

Construisons un écouteur OSC basique :

    live_loop :foo do
      use_real_time
      a, b, c = sync "/osc*/trigger/prophet"
      synth :prophet, note: a, cutoff: b, sustain: c
    end

Dans cet exemple, nous décrivons un chemin OSC `"/osc*/trigger/prophet"` sur lequel nous nous synchronisons. Cela peut être n’importe quel chemin OSC valide (toutes les lettres et chiffres sont supportés et le `/` est utilisé comme dans une URL pour diviser le chemin en plusieurs mots). Le préfixe `/osc` est ajouté par Sonic Pi à tous les messages OSC entrants, alors nous devons envoyer un message OSC avec le chemin `/trigger/prophet` pour que notre `sync` cesse de bloquer et que le synthé prophet soit déclenché.

## Envoyer du OSC à Sonic Pi

Nous pouvons envoyer du OSC à Sonic Pi à partir de n’importe lequel langage de programmation qui a une librairie OSC. Par exemple, si nous envoyons du OSC à partir de Python, nous allons faire quelque chose ressemblant à ceci :

    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])

Ou si nous envoyons du OSC à partir de Clojure, nous allons faire quelque chose qui ressemble à ceci à partir de la REPL :

    (use 'overtone.core)
    (def c (osc-client "127.0.0.1" 4560))
    (osc-send c "/trigger/prophet" 70 100 8)

## Recevoir des machines externes

Pour des raisons de sécurité, par défaut Sonic Pi ne laisse pas les machines distantes lui envoyer des messages OSC. Cependant, vous pouvez activer le support des machines distantes dans Préférences->IO->Réseau->Recevoir des messages OSC distants. Une fois que vous l’avez activé, vous pouvez recevoir les messages OSC de n’importe quel ordinateur sur votre réseau. Habituellement, la machine expéditrice va devoir connaître votre adresse IP (un identificateur unique de ton ordinateur sur ton réseau - comme un numéro de téléphone ou une adresse courriel). Vous pouvez découvrir l’adresse IP de votre ordinateur en regardant la section IO de votre panneau de préférences. (Si votre machine a plus d’une adresse IP, placer votre souris sur l’adresse listée fera apparaître une liste de toutes les adresses connues).

Prenez note, des programmes comme TouchOSC pour iPhone et Android supportent l’envoi de OSC comme fonctionnalité standard. Alors, une fois que vous écoutez les machines distantes et que vous connaissez votre adresse IP, vous pouvez commencer instantanément l’envoi de messages à partir d’applications comme TouchOSC ce qui vous permet de construire vos propres contrôles tactiles personnalisés avec glisseurs, boutons, cadrans, etc. Cela vous fournit un grand éventail de possibilités d’entrée.