ओपन साउंड कंट्रोल: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 2: Line 2:
{{No footnotes|date=अगस्त 2010}}
{{No footnotes|date=अगस्त 2010}}


ओपन साउंड कंट्रोल (OSC) ध्वनि सिंथेसाइज़र, कंप्यूटर और अन्य मल्टीमीडिया उपकरणों जैसे संगीत प्रदर्शन या नियंत्रण दिखाने के लिए नेटवर्किंग के लिए एक [[संचार प्रोटोकॉल]] है। ओएससी के फायदों में अंतरसंचालनीयता, सटीकता, लचीलापन और बेहतर संगठन और प्रलेखन शामिल हैं।<ref name="osc org">{{cite web |title=ओएससी का परिचय|url=http://opensoundcontrol.org/spec-1_0.html#introduction |website=opensoundcontrol.org |access-date=11 September 2021}}</ref> इसके नुकसान में सूचनाओं की अक्षम कोडिंग, एम्बेडेड प्रोसेसर पर बढ़ा हुआ भार,<ref name=":0">{{Cite web |last=Fraietta |first=Angelo |date=2008 |title=Open Sound Control: Constraints and Limitations |url=https://www.semanticscholar.org/paper/Open-Sound-Control%3A-Constraints-and-Limitations-Fraietta/f4409def23dd8edb9c850d542d7ccdce331c4466 |access-date=2022-12-31 |website=www.semanticscholar.org |language=en}}</ref> और मानकीकृत संदेशों/इंटरऑपरेबिलिटी की कमी।<ref>{{Cite web |title=Home · fabb/SynOSCopy Wiki |url=https://github.com/fabb/SynOSCopy |access-date=2022-12-31 |website=GitHub |language=en |quote=one of the reasons OSC has not replaced MIDI yet is that there is no connect-and-play … There is no standard namespace in OSC for interfacing e.g. a synth}}</ref><ref>{{Cite web |last=Supper |first=Ben |date=October 24, 2012 |title=हम मिडी से नफरत करते हैं। हम मिडी से प्यार करते हैं।|url=https://focusritedevelopmentteam.wordpress.com/2012/10/24/we-hate-midi-we-love-midi/ |access-date=2023-01-01 |website=Focusrite Development |language=en |quote=OSC suffers from a superset of this problem: it’s anarchy, and deliberately so. The owners of the specification have been so eager to avoid imposing constraints upon it that it has become increasingly difficult for hardware to cope with it. … More severely, there is an interoperability problem. OSC lacks a defined namespace for even the most common musical exchanges, to the extent that one cannot use it to send Middle C from a sequencer to a synthesiser in a standardised manner}}</ref><ref>{{Cite web |title=OSC-Namespace and OSC-State: Schemata for Describing the Namespace and State of OSC-Enabled Systems |url=https://www.nime.org/proceedings/2014/nime2014_300.pdf |quote=OSC also introduces new obstacles. First, since there is no fixed set of messages, each participating server needs to know what messages it can send to the servers it intends to communicate with. Currently the OSC standard does not provide for a means of programmatically discovering all messages a server responds to}}</ref> पहला विनिर्देश मार्च 2002 में जारी किया गया था।
स्वतंत्र ध्वनि नियंत्रक (ओएसी) ध्वनि संश्लेषक, कंप्यूटर और अन्य मल्टीमीडिया उपकरणों जैसे संगीत प्रदर्शन या नियंत्रण प्रदर्शित करने के लिए नेटवर्किंग हेतु एक [[संचार प्रोटोकॉल]] है। स्वतंत्र ध्वनि नियंत्रक के लाभों में अंतरसंचालनीयता, सटीकता, लचीलापन और बेहतर संगठन और प्रलेखन सम्मिलित हैं।<ref name="osc org">{{cite web |title=ओएससी का परिचय|url=http://opensoundcontrol.org/spec-1_0.html#introduction |website=opensoundcontrol.org |access-date=11 September 2021}}</ref> इसके हानियों में सूचनाओं की अक्षम कोडिंग, एम्बेडेड प्रोसेसर पर बढ़ा हुआ भार,<ref name=":0">{{Cite web |last=Fraietta |first=Angelo |date=2008 |title=Open Sound Control: Constraints and Limitations |url=https://www.semanticscholar.org/paper/Open-Sound-Control%3A-Constraints-and-Limitations-Fraietta/f4409def23dd8edb9c850d542d7ccdce331c4466 |access-date=2022-12-31 |website=www.semanticscholar.org |language=en}}</ref> और मानकीकृत संदेशों/इंटरऑपरेबिलिटी की कमी का<ref>{{Cite web |title=Home · fabb/SynOSCopy Wiki |url=https://github.com/fabb/SynOSCopy |access-date=2022-12-31 |website=GitHub |language=en |quote=one of the reasons OSC has not replaced MIDI yet is that there is no connect-and-play … There is no standard namespace in OSC for interfacing e.g. a synth}}</ref><ref>{{Cite web |last=Supper |first=Ben |date=October 24, 2012 |title=हम मिडी से नफरत करते हैं। हम मिडी से प्यार करते हैं।|url=https://focusritedevelopmentteam.wordpress.com/2012/10/24/we-hate-midi-we-love-midi/ |access-date=2023-01-01 |website=Focusrite Development |language=en |quote=OSC suffers from a superset of this problem: it’s anarchy, and deliberately so. The owners of the specification have been so eager to avoid imposing constraints upon it that it has become increasingly difficult for hardware to cope with it. … More severely, there is an interoperability problem. OSC lacks a defined namespace for even the most common musical exchanges, to the extent that one cannot use it to send Middle C from a sequencer to a synthesiser in a standardised manner}}</ref><ref>{{Cite web |title=OSC-Namespace and OSC-State: Schemata for Describing the Namespace and State of OSC-Enabled Systems |url=https://www.nime.org/proceedings/2014/nime2014_300.pdf |quote=OSC also introduces new obstacles. First, since there is no fixed set of messages, each participating server needs to know what messages it can send to the servers it intends to communicate with. Currently the OSC standard does not provide for a means of programmatically discovering all messages a server responds to}}</ref> पहला विनिर्देश मार्च 2002 में जारी किया गया था।


== प्रेरणा ==
== प्रेरणा ==
ओएससी [[सीएनएमएटी]] में एड्रियन फ्रीड और मैट राइट द्वारा [[एक्सएमएल]], [[डब्ल्यूडीडीएक्स]], या जेएसओएन की तुलना में विकसित एक सामग्री प्रारूप है।<ref>{{cite web |title=OpenSoundControl {{!}} CNMAT |url=http://cnmat.berkeley.edu/opensoundcontrol |website=cnmat.berkeley.edu |access-date=22 December 2019}}</ref> यह मूल रूप से संगीत वाद्ययंत्रों (विशेषकर [[इलेक्ट्रॉनिक संगीत वाद्ययंत्र]] जैसे [[सिंथेसाइज़र]]), कंप्यूटर और अन्य मल्टीमीडिया उपकरणों के बीच संगीत प्रदर्शन डेटा (इशारों, मापदंडों और नोट अनुक्रम) को साझा करने के लिए अभिप्रेत था। OSC को कभी-कभी 1983 [[MIDI]] मानक के विकल्प के रूप में उपयोग किया जाता है, जब उच्च रिज़ॉल्यूशन और एक समृद्ध पैरामीटर स्थान वांछित होता है। OSC संदेशों को UDP/IP और [[ईथरनेट]] का उपयोग करके पूरे इंटरनेट और स्थानीय सबनेट में ले जाया जाता है। जेस्चरल कंट्रोलर्स के बीच OSC संदेश आमतौर पर [[सीरियल लाइन इंटरनेट प्रोटोकॉल]] प्रोटोकॉल में लिपटे [[USB]] के सीरियल एंडपॉइंट्स पर प्रसारित होते हैं।{{Citation needed|date=December 2022}}
स्वतंत्र ध्वनि नियंत्रक [[सीएनएमएटी]] में एड्रियन फ्रीड और मैट राइट द्वारा [[एक्सएमएल]], [[डब्ल्यूडीडीएक्स]] या जेएसओएन की तुलना में विकसित एक सामग्री प्रारूप है।<ref>{{cite web |title=OpenSoundControl {{!}} CNMAT |url=http://cnmat.berkeley.edu/opensoundcontrol |website=cnmat.berkeley.edu |access-date=22 December 2019}}</ref> यह मूल रूप से संगीत वाद्ययंत्रों (विशेषकर [[इलेक्ट्रॉनिक संगीत वाद्ययंत्र]] जैसे [[सिंथेसाइज़र|संश्लेषक]]) कंप्यूटर और अन्य मल्टीमीडिया उपकरणों के बीच संगीत प्रदर्शन डेटा (सिग्नल्स, मापदंडों और नोट अनुक्रम) को साझा करने के लिए अभिप्रेत था। स्वतंत्र ध्वनि नियंत्रक को कभी-कभी 1983 [[MIDI|एमआईडीआई]] मानक के विकल्प के रूप में उपयोग किया जाता है, जब उच्च रिज़ॉल्यूशन और एक समृद्ध मापदंड का स्थान वांछित होता है। स्वतंत्र ध्वनि नियंत्रक संदेशों को यूडीपी/आईपी और [[ईथरनेट]] का उपयोग करके पूरे इंटरनेट और स्थानीय सबनेट में ले जाया जाता है। जेस्चरल नियंत्रकों के बीच स्वतंत्र ध्वनि नियंत्रक संदेश सामान्यतः [[सीरियल लाइन इंटरनेट प्रोटोकॉल]] में लिपटे [[USB|यूएसबी]] के सीरियल एंडपॉइंट्स पर प्रसारित होते हैं।{{Citation needed|date=December 2022}}


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


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


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


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


ओपन साउंड वर्ल्ड (OSW) म्यूजिक प्रोग्रामिंग लैंग्वेज OSC मैसेजिंग के आसपास डिजाइन की गई है।<ref>{{cite web |title=ओएसडब्ल्यू मैनुअल ओपनसाउंड कंट्रोल (ओएससी)|url=http://osw.sourceforge.net/manual/osc.htm |website=osw.sourceforge.net |access-date=22 December 2019}}</ref>
ओपन साउंड वर्ल्ड (ओएसडब्ल्यू) म्यूजिक प्रोग्रामिंग लैंग्वेज स्वतंत्र ध्वनि नियंत्रक मैसेजिंग के आसपास डिजाइन की गई है।<ref>{{cite web |title=ओएसडब्ल्यू मैनुअल ओपनसाउंड कंट्रोल (ओएससी)|url=http://osw.sourceforge.net/manual/osc.htm |website=osw.sourceforge.net |access-date=22 December 2019}}</ref> स्वतंत्र ध्वनि नियंत्रक [[ डिस्पोजेबल सॉफ्ट सिंथ इंटरफ़ेस |डिस्पोजेबल सॉफ्ट सिंथ इंटरफ़ेस]] प्लगइन एपीआई का ह्रदय है, जो एलएडीएसपीए एपीआई का एक विकास है, ताकि अंतिम [[ ग्राफिकल यूज़र इंटरफ़ेस |ग्राफिकल यूज़र इंटरफ़ेस]] प्लगइन होस्ट को मैसेजिंग के माध्यम से प्लगइन के मूल के साथ पारस्परिक प्रतिक्रिया कर सके। एलएडीएसपीए और डीएसएसआई ऑडियो प्रभाव और संश्लेषक के लिए समर्पित एपीआई हैं।
ओएससी [[ डिस्पोजेबल सॉफ्ट सिंथ इंटरफ़ेस |डिस्पोजेबल सॉफ्ट सिंथ इंटरफ़ेस]] प्लगइन एपीआई का दिल है, जो एलएडीएसपीए एपीआई का एक विकास है, ताकि अंतिम [[ ग्राफिकल यूज़र इंटरफ़ेस |ग्राफिकल यूज़र इंटरफ़ेस]] प्लगइन होस्ट को मैसेजिंग के माध्यम से प्लगइन के मूल के साथ इंटरैक्ट कर सके। LADSPA और DSSI ऑडियो प्रभाव और सिंथेसाइज़र के लिए समर्पित API हैं।


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


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


<!--Listed applications should be notable with a sourced Wikipedia article.-->
<!--Listed applications should be notable with a sourced Wikipedia article.-->
Line 78: Line 77:
}}
}}


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


<!--Listed hardware should be notable with a sourced Wikipedia article.-->
<!--Listed hardware should be notable with a sourced Wikipedia article.-->
Line 108: Line 107:


== डिजाइन ==
== डिजाइन ==
OSC संदेशों में एक पता पैटर्न होता है (जैसे <code>/oscillator/4/frequency</code>), एक प्रकार की टैग स्ट्रिंग (जैसे,<code>fi</code> एक [[फ्लोट32]] तर्क के लिए एक [[int32]] तर्क के बाद), और स्वयं तर्क (जिसमें एक समय टैग शामिल हो सकता है)।<ref name=":1" />एड्रेस पैटर्न एक पदानुक्रमित नाम स्थान बनाते हैं, जो [[यूनिक्स]] [[फाइल सिस्टम]] पथ या [[यूनिफ़ॉर्म रिसोर्स लोकेटर]] की याद दिलाता है, और सर्वर के अंदर [[ विधि (कंप्यूटर प्रोग्रामिंग) |विधि (कंप्यूटर प्रोग्रामिंग)]] को संदर्भित करता है, जिसे संलग्न [[पैरामीटर (कंप्यूटर प्रोग्रामिंग)]] के साथ लागू किया जाता है। टाइप टैग स्ट्रिंग तर्क प्रकारों का एक कॉम्पैक्ट स्ट्रिंग प्रतिनिधित्व है। तर्क चार-बाइट संरेखण के साथ बाइनरी रूप में प्रस्तुत किए जाते हैं। समर्थित कोर प्रकार हैं
स्वतंत्र ध्वनि नियंत्रक संदेशों में एक एड्रेस पैटर्न होता है (जैसे <code>/स्वतंत्र ध्वनि दोलित्र/4/आवृत्ति</code>), एक प्रकार की टैग स्ट्रिंग (जैसे,<code>fi</code> एक [[फ्लोट32|float32]] लॉजिक के लिए एक [[int32]] लॉजिक के बाद), और स्वयं लॉजिक (जिसमें एक समय टैग सम्मिलित हो सकता है)।<ref name=":1" />एड्रेस पैटर्न एक पदानुक्रमित नाम स्थान बनाते हैं, जो [[यूनिक्स]] [[फाइल सिस्टम]] पथ या [[यूनिफ़ॉर्म रिसोर्स लोकेटर]] की याद दिलाता है, और सर्वर के अंदर [[ विधि (कंप्यूटर प्रोग्रामिंग) |विधि (कंप्यूटर प्रोग्रामिंग)]] को संदर्भित करता है, जिसे संलग्न [[पैरामीटर (कंप्यूटर प्रोग्रामिंग)|मापदंड (कंप्यूटर प्रोग्रामिंग)]] के साथ लागू किया जाता है। टाइप टैग स्ट्रिंग लॉजिक प्रकारों का एक कॉम्पैक्ट स्ट्रिंग प्रतिनिधित्व है। लॉजिक चार-बाइट संरेखण के साथ बाइनरी रूप में प्रस्तुत किए जाते हैं। समर्थित कोर प्रकार हैं


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


युक्ति में एक उदाहरण संदेश शामिल है (शून्य पैडिंग बाइट्स के साथ - द्वारा दर्शाया गया है): <code>/oscillator/4/frequency␀,f␀␀</code>, 440.0: 0x43dc0000 के 4-बाइट फ्लोट32 प्रतिनिधित्व के बाद।<ref>{{Cite web |last=Wright |first=Matt |date=March 29, 2002 |title=OpenSoundControl 1.0 युक्ति का समर्थन करने वाले उदाहरण|url=https://opensoundcontrol.stanford.edu/spec-1_0-examples.html#argument |access-date=2023-01-01 |website=opensoundcontrol.stanford.edu |edition=}}</ref>
युक्ति में एक उदाहरण संदेश सम्मिलित है (शून्य पैडिंग बाइट्स के साथ द्वारा दर्शाया गया है): <code>/स्वतंत्र ध्वनि दोलित्र/4/आवृत्ति</code>, 440.0: 0x43dc0000 के 4-बाइट float32 प्रतिनिधित्व के बाद<ref>{{Cite web |last=Wright |first=Matt |date=March 29, 2002 |title=OpenSoundControl 1.0 युक्ति का समर्थन करने वाले उदाहरण|url=https://opensoundcontrol.stanford.edu/spec-1_0-examples.html#argument |access-date=2023-01-01 |website=opensoundcontrol.stanford.edu |edition=}}</ref> संदेशों को बंडलों में संयोजित किया जा सकता है, जो स्वयं बंडलों आदि में संयोजित हो सकते हैं। प्रत्येक बंडल में एक टाइमस्टैम्प होता है, जो यह निर्धारित करता है कि सर्वर को तुरंत प्रतिक्रिया देनी चाहिए या भविष्य में किसी बिंदु पर।<ref name=":1" />
संदेशों को बंडलों में संयोजित किया जा सकता है, जो स्वयं बंडलों आदि में संयोजित हो सकते हैं। प्रत्येक बंडल में एक टाइमस्टैम्प होता है, जो यह निर्धारित करता है कि सर्वर को तुरंत प्रतिक्रिया देनी चाहिए या भविष्य में किसी बिंदु पर।<ref name=":1" />


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


MIDI की तुलना में OSC के लाभ मुख्य रूप से इंटरनेट कनेक्टिविटी हैं; [[डेटा प्रकार]] संकल्प; और सात-बिट या चौदह-बिट डेटा प्रकारों के साथ सात-बिट संख्या के रूप में सभी कनेक्शनों को निर्दिष्ट करने के विपरीत एक प्रतीकात्मक पथ निर्दिष्ट करने की तुलनात्मक आसानी।<ref name=":1">{{cite web |last=Wright |first=Matt |date=March 26, 2002 |title=ओपन साउंड कंट्रोल 1.0 विशिष्टता|url=https://opensoundcontrol.stanford.edu/spec-1_0.html |access-date=22 December 2019 |website=opensoundcontrol.org |edition=}}</ref> हालांकि, इस मानव-पठनीयता को संचारित करने में अक्षम होने और एम्बेडेड फर्मवेयर द्वारा पार्स करने में अधिक कठिन होने का नुकसान है।<ref name=":0" />
एमआईडीआई की तुलना में स्वतंत्र ध्वनि नियंत्रक के लाभ मुख्य रूप से इंटरनेट कनेक्टिविटी हैं; [[डेटा प्रकार]] संकल्प और सात-बिट या चौदह-बिट डेटा प्रकारों के साथ सात-बिट संख्या के रूप में सभी कनेक्शनों को निर्दिष्ट करने के विपरीत एक प्रतीकात्मक पथ निर्दिष्ट करने की तुलनात्मक आसान है।<ref name=":1">{{cite web |last=Wright |first=Matt |date=March 26, 2002 |title=ओपन साउंड कंट्रोल 1.0 विशिष्टता|url=https://opensoundcontrol.stanford.edu/spec-1_0.html |access-date=22 December 2019 |website=opensoundcontrol.org |edition=}}</ref> हालांकि, इस मानव-पठनीयता को संचारित करने में अक्षम होने और एम्बेडेड फर्मवेयर द्वारा पार्स करने में अधिक कठिन होने की कई हानियां हैं।<ref name=":0" />


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


== संदर्भ ==
== संदर्भ ==
Line 128: Line 126:
* Schmeder, A., Freed, A., and Wessel, D., "Best practices for Open Sound Control", Linux Audio Conference, Utrecht, The Netherlands, 2010.
* 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.
* 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.
* Wright, M., Freed, A., "Open Sound Control: A New Protocol for Communicating with Sound एसवाईएनthesizers", 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, "UNOFFICIAL X32/M32 स्वतंत्र ध्वनि नियंत्रक 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.
* Patrick-Gilles Maillot, "स्वतंत्र ध्वनि नियंत्रक Remote Control Documentation for WING", [https://mediadl.musictribe.com/download/software/behringer/WING/BE-P0BV2-WING-OSC-Documentation-0.59.pdf https://mediadl.musictribe.com/download/software/behringer/WING/BE-P0BV2-WING-स्वतंत्र ध्वनि नियंत्रक-Documentation-0.59.pdf], 2020.




== बाहरी संबंध ==
== बाहरी संबंध ==
* {{Official website|http://opensoundcontrol.org/}}
* {{Official website|http://opensoundcontrol.org/}}
* [http://www.linuxjournal.com/content/introduction-osc Introduction to OSC] at LinuxJournal
* [http://www.linuxjournal.com/content/introduction-osc Introduction to स्वतंत्र ध्वनि नियंत्रक] at LinuxJournal
* [https://github.com/fabb/SynOSCopy/wiki SYN], a standardized namespace within OSC
* [https://github.com/fabb/SynOSCopy/wiki एसवाईएन], a standardized namespace within स्वतंत्र ध्वनि नियंत्रक
* [https://github.com/pmaillot/X32-Behringer X32-Behringer], a collection of programs and tools for the X32 digital console, based on OSC
* [https://github.com/pmaillot/X32-Behringer X32-Behringer], a collection of programs and tools for the X32 digital console, based on स्वतंत्र ध्वनि नियंत्रक
* [https://sites.google.com/site/patrickmaillot/wing#h.xitnoyg1gpny patrickmaillot/wing], a collection of OSC based utilities for the WING personal digital mixing console
* [https://sites.google.com/site/patrickmaillot/wing#h.xitnoyg1gpny patrickmaillot/wing], a collection of स्वतंत्र ध्वनि नियंत्रक based utilities for the WING personal digital mixing console
* [https://sites.google.com/site/patrickmaillot/x32 patrickmaillot/x32], a collection of OSC based utilities for the X32/M32 family of digital mixing consoles
* [https://sites.google.com/site/patrickmaillot/x32 patrickmaillot/x32], a collection of स्वतंत्र ध्वनि नियंत्रक based utilities for the X32/M32 family of digital mixing consoles


[[Category:All articles with unsourced statements]]
[[Category:All articles with unsourced statements]]

Revision as of 16:06, 18 June 2023

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

प्रेरणा

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

सुविधाएँ

एमआईडीआई की तुलना में स्वतंत्र ध्वनि नियंत्रक की मुख्य विशेषताओं में ओपन-एंडेड, डायनेमिक, यूनिफॉर्म रिसोर्स पहचानकर्ता प्रतीकात्मक नामकरण योजना सम्मिलित हैं:[1]

  • प्रतीकात्मक और उच्च-रिज़ॉल्यूशन संख्यात्मक डेटा
  • एक ही संदेश के कई प्राप्तकर्ताओं को निर्दिष्ट करने के लिए पैटर्न मिलान भाषा
  • उच्च रिज़ॉल्यूशन नेटवर्क टाइम प्रोटोकॉल टाइमस्टैम्प्स
  • संदेशों के बंडल जिनका प्रभाव एक साथ होना चाहिए

अनुप्रयोग

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

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

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

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

2007 में, नियंत्रकों, संश्लेषक और मेजबानों के बीच संचार के लिए स्वतंत्र ध्वनि नियंत्रक के भीतर एसवाईएन नामक एक मानकीकृत नामस्थान प्रस्तावित किया गया था।

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

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

डिजाइन

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

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

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

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

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

संदर्भ

  1. 1.0 1.1 "ओएससी का परिचय". opensoundcontrol.org. Retrieved 11 September 2021.
  2. 2.0 2.1 Fraietta, Angelo (2008). "Open Sound Control: Constraints and Limitations". www.semanticscholar.org (in English). Retrieved 2022-12-31.
  3. "Home · fabb/SynOSCopy Wiki". GitHub (in English). Retrieved 2022-12-31. one of the reasons OSC has not replaced MIDI yet is that there is no connect-and-play … There is no standard namespace in OSC for interfacing e.g. a synth
  4. Supper, Ben (October 24, 2012). "हम मिडी से नफरत करते हैं। हम मिडी से प्यार करते हैं।". Focusrite Development (in English). Retrieved 2023-01-01. OSC suffers from a superset of this problem: it's anarchy, and deliberately so. The owners of the specification have been so eager to avoid imposing constraints upon it that it has become increasingly difficult for hardware to cope with it. … More severely, there is an interoperability problem. OSC lacks a defined namespace for even the most common musical exchanges, to the extent that one cannot use it to send Middle C from a sequencer to a synthesiser in a standardised manner
  5. "OSC-Namespace and OSC-State: Schemata for Describing the Namespace and State of OSC-Enabled Systems" (PDF). OSC also introduces new obstacles. First, since there is no fixed set of messages, each participating server needs to know what messages it can send to the servers it intends to communicate with. Currently the OSC standard does not provide for a means of programmatically discovering all messages a server responds to
  6. "OpenSoundControl | CNMAT". cnmat.berkeley.edu. Retrieved 22 December 2019.
  7. "ओएसडब्ल्यू मैनुअल ओपनसाउंड कंट्रोल (ओएससी)". osw.sourceforge.net. Retrieved 22 December 2019.
  8. 8.0 8.1 8.2 Wright, Matt (March 26, 2002). "ओपन साउंड कंट्रोल 1.0 विशिष्टता". opensoundcontrol.org. Retrieved 22 December 2019.
  9. Wright, Matt (March 29, 2002). "OpenSoundControl 1.0 युक्ति का समर्थन करने वाले उदाहरण". opensoundcontrol.stanford.edu. Retrieved 2023-01-01.


बाहरी संबंध