Wednesday 15 August 2012

Supercollider: automatic sustain in events with envelope -


  (सिंथिफ (\ testEvt, {arg out, gate = 1; var sint = Blip.ar (440) * Linen.kr (गेट, किया गया एक्शन: 2, रिलीज़टाइम: 0.8); आउट। (बाहर, पैन 2। डा। (सिंट, 0));}) जोड़ें (); सिंथ (\ testEvt) (उपकरण: \ testEvt, फ़िल्ट: 220, बनाए रखने के लिए: inf)।;;;;;;;;;;;;;;;;;;;;;;;;;;;);   

सिंथ्रेड के बाद पहली और दूसरी पंक्ति को क्रियान्वित करना एक सिंथ जो हमेशा के लिए खेलता है, जबकि तीसरी पंक्ति के सिन्थ 0.8 सेकेंड के लिए डिफॉल्ट मान के अनुसार तैयार की गई घटना है।

समस्या यह है कि मैं अपने सिंथ्रेड में कहीं भी 'टिकाऊ' का उपयोग नहीं करता हूं और यह स्वचालित रूप से उपयोग करता है क्योंकि एक लिनेन है

वही ऐसा freq के लिए नहीं होता है: दोनों घटनाएं 440 पर होती हैं और 220 पर नहीं होतीं, और ये सिर्फ इसलिए कि सिंथडिफ एक तर्क के रूप में 'freq' का उपयोग नहीं करता है। तो क्यों एक ही नियम का पालन नहीं करता?

इसके अलावा, क्या एक घटना के द्वारा बनाई गई सिंथे को संदर्भित करने का एक तरीका है? इसलिए, जब उनके पास बनाए रखा है: inf तर्क के रूप में, मैं उन्हें बाद के समय में मुक्त कर सकता हूं।

  (उपकरण: \ testEvt, freq: 220, बनाए रखना: inf)।   

और

  (उपकरण: \ testEvt, freq: 220)।   

घटनाएं हैं घटनाएं आपके लिए बहुत सी चीज़ों को संभालती हैं एक बात वे करते हैं, जब 0 से गेट सेट करने के लिए गणना की जाती है। (याद रखें कि गेट आपके सिंथडिफ में तर्कों में से एक है।) पहले उदाहरण में, क्योंकि आप अनंत अवधि के लिए बने रहते हैं, गेट शून्य पर कभी नहीं जाता दूसरे उदाहरण में, यह डिफ़ॉल्ट अवधि का उपयोग करता है और उस अवधि को पार करने के बाद गेट को शून्य में सेट करता है। इवेंट एंटरटेनमेंट वेरिएबल्स में ईवेंट.sc स्रोत फ़ाइल को देखकर आप क्या कुंजी शब्द उपयोग किए जा सकते हैं। यदि आप बनाए रखने की खोज करते हैं, तो आपको समय के लिए उपयोग किए जाने वाले अन्य कीवर्ड मिल जाएंगे। इनमें से एक है Durur यह प्रयास करें:

  (उपकरण: \ testEvt, dur: 3)।   

फ़्रीक घटनाओं के लिए एक कीवर्ड भी है, लेकिन जब से आपके पास कोई freq नहीं है तर्क, यह आपके synthDef को प्रभावित नहीं कर सकता यदि आप freq सेट करना चाहते हैं, तो आपको एक बदलाव करने की आवश्यकता होगी:

  SynthDef (\ testEvt, {arg out, gate = 1, freq = 440; var sint = Blip.ar (Freq) * Linen.kr (गेट, किया गया एक्शन: 2, रिलीज़टाइम: 0.8); आउट.र (बाहर, पैन 2।) (सिंट, 0));})। जोड़ें ();   

घटनाओं के विपरीत और सीधे synth को नियंत्रित करने के लिए, कोशिश करें: एक = Synth.new (\ testEvt, [\ out, 0, \ gate, 1]) आप किसी भी अन्य में जोड़ सकते हैं तर्क आप चाहते हैं, जैसे freq या बनाए, लेकिन उनके पास कोई प्रभाव नहीं है क्योंकि ये आपके सिन्थडेफ के तर्क नहीं हैं और, ईवेंट के विपरीत, सिंथ आपकी ओर से कोई गणना नहीं करता है जब आप नोट को समाप्त करना चाहते हैं, तो गेट को खुद से सेट करें: a.set (\ gate, 0)

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

No comments:

Post a Comment