Otwórz kontrolę dźwięku - Open Sound Control
Open Sound Control ( OSC ) to protokół do łączenia w sieć syntezatorów dźwięku, komputerów i innych urządzeń multimedialnych do celów takich jak występy muzyczne lub sterowanie pokazami . Zaletami OSC są interoperacyjność, dokładność, elastyczność oraz lepsza organizacja i dokumentacja. Pierwsza specyfikacja została wydana w marcu 2002 roku.
Motywacja
OSC to format treści opracowany w CNMAT przez Adriana Freeda i Matta Wrighta, porównywalny z XML , WDDX lub JSON . Pierwotnie był przeznaczony do udostępniania danych muzycznych (gestów, parametrów i sekwencji nut) między instrumentami muzycznymi (zwłaszcza elektronicznymi instrumentami muzycznymi, takimi jak syntezatory ), komputerami i innymi urządzeniami multimedialnymi. OSC jest czasami używany jako alternatywa dla standardu MIDI 1983 , gdy pożądana jest wyższa rozdzielczość i bogatsza przestrzeń parametrów. Komunikaty OSC są przesyłane przez Internet oraz w lokalnych podsieciach za pomocą UDP/IP i Ethernet . Komunikaty OSC między kontrolerami gestów są zwykle przesyłane przez szeregowe punkty końcowe USB opakowane w protokół SLIP .
Cechy
Główne cechy OSC, w porównaniu do MIDI, to:
- Otwarty, dynamiczny schemat nazewnictwa symbolicznego w stylu URI
- Symboliczne i wysokiej rozdzielczości dane liczbowe
- Język dopasowywania wzorców do określenia wielu odbiorców pojedynczej wiadomości
- Tagi czasu w wysokiej rozdzielczości
- „Pakiety” wiadomości, których efekty muszą wystąpić jednocześnie
Aplikacje
Istnieją dziesiątki aplikacji OSC, w tym środowiska przetwarzania dźwięku i multimediów w czasie rzeczywistym, narzędzia do interaktywności w sieci, syntezatory programowe, języki programowania i urządzenia sprzętowe. OSC znalazło szerokie zastosowanie w takich dziedzinach, jak ekspresja muzyczna, robotyka, interfejsy wydajności wideo, rozproszone systemy muzyczne i komunikacja między procesami.
TUIO standardowy społeczność rzeczowych interfejsów takich jak multitouch jest zbudowany na szczycie OSC. Podobnie system GDIF do przedstawiania gestów integruje OSC.
OSC jest szeroko stosowany w eksperymentalnych kontrolerach muzycznych i został wbudowany w kilka produktów open source i komercyjnych.
Język programowania muzyki Open Sound World (OSW) został zaprojektowany z myślą o przesyłaniu komunikatów OSC.
OSC jest sercem API wtyczek DSSI , ewolucją API LADSPA, aby umożliwić interakcję GUI z rdzeniem wtyczki poprzez wysyłanie wiadomości do hosta wtyczki. LADSPA i DSSI to interfejsy API dedykowane efektom dźwiękowym i syntezatorom.
W 2007 roku zaproponowano ustandaryzowaną przestrzeń nazw w OSC o nazwie SYN, służącą do komunikacji między kontrolerami, syntezatorami i hostami,
Godne uwagi oprogramowanie z implementacjami OSC to:
- Zapał
- Sieć Aurora dBTechnologies
- Bidule
- Gdakanie
- CasparCG (silnik grafiki wideo typu open source)
- Kryształowa przestrzeń
- Dźwięk
- Cyfrowy wykonawca
- Fluxus
- FreeJ
- Wykonawca koncertowy
- IanniX
- Zaimprowizowany
- Isadora (v.1.1)
- JUCE ( rama )
- Kyma
- Lilia
- Zyje
- Logika Pro
- Maks./MSP
- Mocolo
- Moduł8
- MuseScore
- Mxwendler
- openFrameworks
- ocena ossia
- Przetwarzanie
- Czysty
- Czyste dane
- QLab
- Kompozytor kwarcowy (od v3.0 / Mac OS X v10.5 )
- Reaktor
- ŻNIWIARZ
- Renoise
- ShowForge
- Sonic Pi
- Superzderzacz
- Pisk
- Projektant dotykowy
- Nierealny silnik
- Veejay
Godny uwagi sprzęt z implementacjami OSC obejmuje:
Projekt
Komunikaty OSC składają się z wzorca adresu, ciągu znacznika typu, argumentów i opcjonalnego znacznika czasu. Wzorce adresów tworzą hierarchiczną przestrzeń nazw, przypominającą ścieżkę systemu plików Unix lub adres URL . Ciągi tagów typu są zwartą reprezentacją ciągu typów argumentów. Argumenty są reprezentowane w postaci binarnej z wyrównaniem czterobajtowym. Obsługiwane typy podstawowe to
- 32-bitowe liczby całkowite ze znakiem uzupełnienia do dwóch
- 32-bitowe liczby zmiennoprzecinkowe IEEE
- Zakończone znakiem zerowym tablice ośmiobitowych zakodowanych danych ( ciągi w stylu C )
- obiekt blob o dowolnej wielkości (np. dane audio lub ramka wideo)
Aplikacje często wykorzystują rozszerzenia tego zestawu podstawowego. Niedawno niektóre z tych rozszerzeń, takie jak kompaktowy typ Boolean, zostały zintegrowane z wymaganymi podstawowymi typami OSC 1.1.
Zalety OSC nad MIDI to przede wszystkim łączność z Internetem; rozdzielczość typu danych ; oraz względną łatwość określania ścieżki symbolicznej, w przeciwieństwie do określania wszystkich połączeń jako siedmiobitowych liczb z siedmiobitowymi lub czternastobitowymi typami danych.
Bibliografia
- Schmeder, A., Freed, A. i Wessel, D., „Najlepsze praktyki w zakresie otwartej kontroli dźwięku”, Linux Audio Conference, Utrecht, Holandia, 2010.
- Freed, A., Schmeder, A., „Features and Future of Open Sound Control version 1.1 for NIME”, Konferencja NIME 2009.
- Wright, M., Freed, A., „Open Sound Control: A New Protocol for Communicating with Sound Synthesizers”, Międzynarodowa Konferencja Muzyki Komputerowej, Saloniki, Grecja, 1997.
Zewnętrzne linki
- Oficjalna strona internetowa
- Wprowadzenie do OSC w LinuxJournal
- SYN , ustandaryzowana przestrzeń nazw w OSC