Open Sound Control

Μια περιληψη

Περι τινος προκειται

Το Open Sound Control (OSC) είναι ένα διαδικτυακό πρωτόκολλο1. που επιτρέπει την σύνδεση διάφορων συνθεσάιζερ ήχου, υπολογιστών κλπ.

Η πρώτη προδιαγραφή του πρωτοκόλλου κυκλοφόρησε τον Μάρτιο του 2002. Παίζει σημαντικά ρολού στην δομή του supercollider. Είναι κάπως συγκρίσιμο με το πρωτόκολλο MIDI. Η τελευταια ενημερωση ειναι η 1.1

Κάθε σερβερ που ειναι συμβατος με το OSC (πχ ο supecollider) δεχεται ένα σύνολο μεθόδων OSC. Οι μέθοδοι OSC είναι οι πιθανοί προορισμοί μηνυμάτων OSC που λαμβάνονται από το σερβερ μεσω του δικτυου. Καθε μεθοδος αντιστοιχει σε ενα από τα σημεία ελέγχου που ειναι διαθεσιμα. Η "επίκληση" μιας μεθόδου OSC είναι ανάλογη με μια κλήση διαδικασίας. Αυτο σημαίνει οτι περναει στη μεθοδο καποια ορίσματα-δεδομενα και προκαλει καποιο αποτελέσματα. Δηλαδη καπως σαν remote procedure call.

Η ροη μηνυματων προς τον σερβερ εχει την παρακατω δομη. Τα μηνυματα ειναι οργανωμενα σε δεσμες με χρονικη σταμπα.

osc

Απο το paper: Best Practices for Open Sound Control, Andrew Schmeder and Adrian Freed and David Wessel

Οι μέθοδοι OSC ενός server είναι διατεταγμένες σε μια δομή δέντρου που ονομάζεται Χώρος διευθύνσεων (address space). Τα φύλλα αυτού του δέντρου είναι οι Μέθοδοι OSC και οι κόμβοι διακλάδωσης ονομάζονται OSC Containers. Η δομη των μηνυματων ειναι ως εξης:

"(/prefix)/[OSC Address],[OSC Type],[Value]"

Ενα παραδειγμα στον ιδιο υπολογιστη

n = NetAddr("127.0.0.1", 57120); 

// Εδω οριζουμε την μεθοδο "chat"
OSCdef(\test, {|msg, time, addr, recvPort| \unmatching.postln}, '/chat', n); 

m = NetAddr("127.0.0.1", 57120); 
// Εδω στελνουμε το μηνυμα, την απαντηση την βλεπουμε στο post window
m.sendMsg("/chat", "Hello");

Παραδειγμα με κινητο

TODO

Παραδειγμα με processing

TODO


  1. Για την ακριβεια ειναι ενα φορμα δεδομενων που κωδικοποιουν ηχους και οχι πρωτοκολλο με την εννοια επιτρεπτων αλληλουχιων απο μηνυματα.