SYSBAS1B

JavaScript / Microcontrollers / SuperCollider

Teensy

SuperCollider

Terugblik

Javascript

variabelen en scope

functies en argumenten

conditionelen (if/else, for loop)

classes en objecten

arrays

Open Sound Control


controller-data uitwisselen via netwerk

Open Sound Control


Demonstratie

OSC vs Midi

Hoge resolutie

oneindig veel berichten

meerdere clients naar server

via ethernet/internet

flexibel

OSC vs Midi

niet zo populair als midi

via ethernet/internet

Ethernet

twee protocollen

Ethernet

TCP

Transmission Control Protocol

compleet

minder snel

Ethernet

UDP

User Datagram Protocol

snel

minder betrouwbaar

Ethernet


Welke kies je voor OSC?

IP-adres en poorten

IP-adres


Intern

Lokaal netwerk

Publiek

Intern


127.0.0.1 / localhost


Alleen geldig in je eigen computer

Lokaal netwerk


192.168.x.x || 169.254.x.x


Binnen het lokale netwerk

publiek


kan van alles zijn


jouw adres voor de hele wereld

Poort


0-49151


binnen de computer de ‘locatie’ waar een service actief is

één service per poort

Poort

80 http (internet)

25 smtp (e-mail)

20808 Ableton Link

8001 csdosc

All ports

IP-adres en poorten


studentencomplex

Intern

Binnen één gebouw

IP-adres en poorten


studentencomplex

Lokaal

Ander gebouw op zelfde terrein

IP-adres en poorten


studentencomplex

Publiek

Postadres voor de rest van de wereld

OSC


berichtenstructuur

OSC-bericht


adres

+

waarde

Adres


"/naam"

"/naam/subnaam"

"/naam/subnaam/subsubnaam"

Adres


bijvoorbeeld

"/effectstatus"

"/delay/feedback"

"/mixer/channel/1/eq/midfreq"

Waarde


integer: 10/20 etc.

float: 0.1/0.2034324252

string: "off"/"on"/"lowpass"

Voorbeeld


"/effectstatus on"

"/delay/feedback 0.8"

"/mixer/channel/1/eq/midfreq 500"

OSC & P5js


naar de code!

Reload?