ओपन साउंड कंट्रोल

ओपन साउंड कंट्रोल (OSC) ध्वनि सिंथेसाइज़र, कंप्यूटर और अन्य मल्टीमीडिया उपकरणों जैसे संगीत प्रदर्शन या नियंत्रण दिखाने के लिए नेटवर्किंग के लिए एक संचार प्रोटोकॉल है। ओएससी के फायदों में अंतरसंचालनीयता, सटीकता, लचीलापन और बेहतर संगठन और प्रलेखन शामिल हैं। इसके नुकसान में सूचनाओं की अक्षम कोडिंग, एम्बेडेड प्रोसेसर पर बढ़ा हुआ भार, और मानकीकृत संदेशों/इंटरऑपरेबिलिटी की कमी।  पहला विनिर्देश मार्च 2002 में जारी किया गया था।

प्रेरणा
ओएससी सीएनएमएटी में एड्रियन फ्रीड और मैट राइट द्वारा एक्सएमएल, डब्ल्यूडीडीएक्स, या जेएसओएन की तुलना में विकसित एक सामग्री प्रारूप है। यह मूल रूप से संगीत वाद्ययंत्रों (विशेषकर इलेक्ट्रॉनिक संगीत वाद्ययंत्र जैसे सिंथेसाइज़र), कंप्यूटर और अन्य मल्टीमीडिया उपकरणों के बीच संगीत प्रदर्शन डेटा (इशारों, मापदंडों और नोट अनुक्रम) को साझा करने के लिए अभिप्रेत था। OSC को कभी-कभी 1983 MIDI मानक के विकल्प के रूप में उपयोग किया जाता है, जब उच्च रिज़ॉल्यूशन और एक समृद्ध पैरामीटर स्थान वांछित होता है। OSC संदेशों को UDP/IP और ईथरनेट का उपयोग करके पूरे इंटरनेट और स्थानीय सबनेट में ले जाया जाता है। जेस्चरल कंट्रोलर्स के बीच OSC संदेश आमतौर पर सीरियल लाइन इंटरनेट प्रोटोकॉल प्रोटोकॉल में लिपटे USB के सीरियल एंडपॉइंट्स पर प्रसारित होते हैं।

सुविधाएँ
MIDI की तुलना में OSC की मुख्य विशेषताओं में शामिल हैं: * ओपन-एंडेड, डायनेमिक, यूनिफॉर्म रिसोर्स पहचानकर्ता प्रतीकात्मक नामकरण योजना
 * प्रतीकात्मक और उच्च-रिज़ॉल्यूशन संख्यात्मक डेटा
 * एक ही संदेश के कई प्राप्तकर्ताओं को निर्दिष्ट करने के लिए पैटर्न मिलान भाषा
 * उच्च रिज़ॉल्यूशन नेटवर्क टाइम प्रोटोकॉल # टाइमस्टैम्प्स
 * संदेशों के बंडल जिनका प्रभाव एक साथ होना चाहिए

अनुप्रयोग
रीयल-टाइम साउंड और मीडिया प्रोसेसिंग वातावरण, वेब इंटरएक्टिविटी टूल, सॉफ़्टवेयर सिंथेसाइज़र, प्रोग्रामिंग लैंग्वेज और हार्डवेयर डिवाइस सहित दर्जनों OSC एप्लिकेशन हैं। ओएससी ने संगीत अभिव्यक्ति, रोबोटिक्स, वीडियो प्रदर्शन इंटरफेस, वितरित संगीत प्रणाली और अंतर-प्रक्रिया संचार सहित क्षेत्रों में व्यापक उपयोग हासिल किया है।

मल्टीटच जैसे मूर्त इंटरफेस के लिए TUIO समुदाय मानक OSC के शीर्ष पर बनाया गया है। इसी तरह इशारों का प्रतिनिधित्व करने के लिए GDIF प्रणाली OSC को एकीकृत करती है।

प्रायोगिक संगीत नियंत्रकों में OSC का बड़े पैमाने पर उपयोग किया जाता है, और इसे कई खुले स्रोत और वाणिज्यिक उत्पादों में बनाया गया है।

ओपन साउंड वर्ल्ड (OSW) म्यूजिक प्रोग्रामिंग लैंग्वेज OSC मैसेजिंग के आसपास डिजाइन की गई है। ओएससी डिस्पोजेबल सॉफ्ट सिंथ इंटरफ़ेस  प्लगइन एपीआई का दिल है, जो एलएडीएसपीए एपीआई का एक विकास है, ताकि अंतिम  ग्राफिकल यूज़र इंटरफ़ेस  प्लगइन होस्ट को मैसेजिंग के माध्यम से प्लगइन के मूल के साथ इंटरैक्ट कर सके। LADSPA और DSSI ऑडियो प्रभाव और सिंथेसाइज़र के लिए समर्पित API हैं।

2007 में, नियंत्रकों, सिंथेसाइज़र और मेजबानों के बीच संचार के लिए OSC के भीतर SYN नामक एक मानकीकृत नामस्थान प्रस्तावित किया गया था,

OSC कार्यान्वयन के साथ उल्लेखनीय सॉफ़्टवेयर में शामिल हैं:

• Ableton Live

• Ardour

• Aurora dBTechnologies Network

• Bidule

• ChucK

• CasparCG (open source video graphics engine)

• Crystal Space

• CSound

• Digital Performer

• Fluxus

• FreeJ

• Gig Performer

• IanniX

• Impromptu

• Isadora (v.1.1)

• JUCE (Framework)

• Kyma

• Lily

• LiVES

• Logic Pro

• Magic Music Visuals

• Max/MSP

• Mocolo

• Modul8

• MuseScore

• Mxwendler

• openFrameworks

• ossia score

• Processing

• Pure

• Pure Data

• QLab

• Quartz Composer (as of v3.0 / Mac OS X v10.5)

• Reaktor

• REAPER

• Renoise

• ShowForge

• SPAT Revolution

• Sonic Pi

• SuperCollider

• Squeak

• TouchDesigner

• Unreal Engine

• Veejay

• VRChat

• Ventuz

OSC कार्यान्वयन के साथ उल्लेखनीय हार्डवेयर में शामिल हैं:

• AlphaSphere

• Audiocubes

• ETC EOS Consoles

• DiGiCo SD Mixing Consoles

• Kyma

• Lemur

• MC2 Delta-DSP Amplifiers

• MIDIbox

• Milkymist One

• Monome 40h

• X32 Digital Mixing Console

• XTA DPA Amplifiers

• Yamaha Rivage PM Series Consoles (V5.0)

डिजाइन
OSC संदेशों में एक पता पैटर्न होता है (जैसे ), एक प्रकार की टैग स्ट्रिंग (जैसे   एक फ्लोट32 तर्क के लिए एक int32 तर्क के बाद), और स्वयं तर्क (जिसमें एक समय टैग शामिल हो सकता है)। एड्रेस पैटर्न एक पदानुक्रमित नाम स्थान बनाते हैं, जो यूनिक्स फाइल सिस्टम पथ या यूनिफ़ॉर्म रिसोर्स लोकेटर की याद दिलाता है, और सर्वर के अंदर  विधि (कंप्यूटर प्रोग्रामिंग)  को संदर्भित करता है, जिसे संलग्न पैरामीटर (कंप्यूटर प्रोग्रामिंग) के साथ लागू किया जाता है। टाइप टैग स्ट्रिंग तर्क प्रकारों का एक कॉम्पैक्ट स्ट्रिंग प्रतिनिधित्व है। तर्क चार-बाइट संरेखण के साथ बाइनरी रूप में प्रस्तुत किए जाते हैं। समर्थित कोर प्रकार हैं


 * 32-बिट दो के पूरक हस्ताक्षरित पूर्णांक
 * 32-बिट आईईईई 754-2008 नंबर
 * अशक्त-समाप्त स्ट्रिंग | आठ-बिट एन्कोडेड डेटा की अशक्त-समाप्त सरणियाँ (सी-शैली स्ट्रिंग (कंप्यूटर विज्ञान) एस)
 * मनमाने आकार की बाइनरी बड़ी वस्तु (जैसे ऑडियो डेटा, या एक वीडियो फ्रेम)

युक्ति में एक उदाहरण संदेश शामिल है (शून्य पैडिंग बाइट्स के साथ - द्वारा दर्शाया गया है):, 440.0: 0x43dc0000 के 4-बाइट फ्लोट32 प्रतिनिधित्व के बाद। संदेशों को बंडलों में संयोजित किया जा सकता है, जो स्वयं बंडलों आदि में संयोजित हो सकते हैं। प्रत्येक बंडल में एक टाइमस्टैम्प होता है, जो यह निर्धारित करता है कि सर्वर को तुरंत प्रतिक्रिया देनी चाहिए या भविष्य में किसी बिंदु पर।

एप्लिकेशन आमतौर पर इस कोर सेट में एक्सटेंशन का उपयोग करते हैं। हाल ही में इनमें से कुछ एक्सटेंशन जैसे कॉम्पैक्ट बूलियन प्रकार को OSC 1.1 के आवश्यक कोर प्रकारों में एकीकृत किया गया था।

MIDI की तुलना में OSC के लाभ मुख्य रूप से इंटरनेट कनेक्टिविटी हैं; डेटा प्रकार संकल्प; और सात-बिट या चौदह-बिट डेटा प्रकारों के साथ सात-बिट संख्या के रूप में सभी कनेक्शनों को निर्दिष्ट करने के विपरीत एक प्रतीकात्मक पथ निर्दिष्ट करने की तुलनात्मक आसानी। हालांकि, इस मानव-पठनीयता को संचारित करने में अक्षम होने और एम्बेडेड फर्मवेयर द्वारा पार्स करने में अधिक कठिन होने का नुकसान है।

विनिर्देश किसी विशेष OSC विधि या OSC कंटेनर को परिभाषित नहीं करता है। सभी संदेश कार्यान्वयन-परिभाषित हैं और सर्वर से सर्वर में भिन्न होते हैं।

संदर्भ

 * Schmeder, A., Freed, A., and Wessel, D., "Best practices for Open Sound Control", Linux Audio Conference, Utrecht, The Netherlands, 2010.
 * Freed, A., Schmeder, A., "Features and Future of Open Sound Control version 1.1 for NIME", NIME Conference 2009.
 * Wright, M., Freed, A., "Open Sound Control: A New Protocol for Communicating with Sound Synthesizers", International Computer Music Conference, Thessaloniki, Greece, 1997.
 * Patrick-Gilles Maillot, "UNOFFICIAL X32/M32 OSC REMOTE PROTOCOL", https://drive.google.com/file/d/1Snbwx3m6us6L1qeP1_pD6s8hbJpIpD0a/view?usp=share_link, 2012.
 * Patrick-Gilles Maillot, "OSC Remote Control Documentation for WING", https://mediadl.musictribe.com/download/software/behringer/WING/BE-P0BV2-WING-OSC-Documentation-0.59.pdf, 2020.

बाहरी संबंध

 * Introduction to OSC at LinuxJournal
 * SYN, a standardized namespace within OSC
 * X32-Behringer, a collection of programs and tools for the X32 digital console, based on OSC
 * patrickmaillot/wing, a collection of OSC based utilities for the WING personal digital mixing console
 * patrickmaillot/x32, a collection of OSC based utilities for the X32/M32 family of digital mixing consoles
 * patrickmaillot/x32, a collection of OSC based utilities for the X32/M32 family of digital mixing consoles