2015-05-14 5 views
6

मैं शुद्ध डेटा पर स्वचालित रूप से सागर ध्वनि अनुकरण करने की कोशिश कर रहा हूं। अब तक मैंने कुछ शोर को [बीपी ~] के साथ फ़िल्टर करके एक बहुत ही बुनियादी ध्वनि प्राप्त करने के लिए पूरा किया है। मैंने देखा है कि कट ऑफ आवृत्ति की सबसे अच्छी रेंज 300 से 500 हर्ट्ज तक है, इसलिए मैं एक क्षैतिज स्लाइडर [एचएसएल] रखना चाहता हूं जो 300 से 500 तक और पीछे, स्वचालित रूप से और एक लूप पर जब तक मैं इसे न कहूं रोकने के लिए। (मैंने स्लाइडर को सीमा (300,500) पहले ही सौंपी है, मुझे केवल इसे स्वचालित रूप से नियंत्रित करने की आवश्यकता है)। मैंने [osc ~] के साथ प्रयास किया है लेकिन यह काम नहीं करेगा क्योंकि स्लाइडर ऑडियो तत्व नहीं है और [osc ~] का आउटपुट एक ऑडियो सिग्नल है। तस्वीर में मैं दिखाने के क्या मैं इतनी दूर है:शुद्ध डेटा में स्वचालित स्लाइडर?

Current distribution of my program

तो मैं इसे कैसे इसे मैन्युअल रूप से अलग-अलग किए बिना स्लाइडर स्वत: नियंत्रित करने के लिए कर सकते हैं? अब तक सबकुछ काम करता है जैसा कि मैं चाहता हूं, लेकिन मुझे समुद्री तरंगों को अनुकरण करने के लिए आवधिक रूप से बढ़ने और घटाने के लिए स्लाइडर की आवश्यकता है।

उत्तर

3

अपने प्रश्न बस होगा: मैं कैसे एक स्लाइडर को स्वचालित करते हैं? जवाब [लाइन] ऑब्जेक्ट को देखना होगा। लाइन किसी दिए गए समय में वर्तमान मान से लक्ष्य मान तक इंटरपोलेट करती है। Use the line object to interpolate between floats and automate a slider movement

(नोट:। जब संकेतों को नियंत्रित करने, हम [लाइन ~] का प्रयोग करते)

हालांकि, अपने लक्ष्य को एक समुद्र तट लहर के अनुकरण है। उपरोक्त स्लाइडर स्वचालन में दो मुद्दे हैं: 1.) हम सिग्नल डेटा दर और 2 के विपरीत नियंत्रण डेटा दर में परिचालन कर रहे हैं।) हम रैंपिंग में आसानी से और आसानी से बाहर निकलना चाहते हैं। एक ऑसीलेटर एक ही समय में दोनों समस्याओं का समाधान करेगा। Oscillator acting as an envelope to a signal

(नोट:। यहाँ सरलीकरण के लिए लोप कि आयाम नियंत्रण रैखिक की मात्रा शक्ति में वृद्धि के बराबर नहीं किया जा रहा धारणा की वजह से नहीं होना चाहिए)

जब से हम केवल आयाम बदलने के लिए नहीं करना चाहते, लेकिन timbre (बैंडपास की कट ऑफ आवृत्ति) हम एक साइन फ़ंक्शन का उपयोग करना चाहते हैं, हम वांछित आउटपुट रेंज एनीमेशन प्राप्त करने के लिए एक काउंटर चला सकते हैं जिसमें इज़िंग-इन और आउट भी शामिल है। नोट: स्लाइडर केवल इस पैच में विज़ुअलाइज़ेशन के रूप में कार्य करता है। Bandpass automation

+0

ध्यान दें कि [पाप] ऑब्जेक्ट * रेडियन * (0..2π) में इनपुट की अपेक्षा करता है, [cos ~] ऑब्जेक्ट सिग्नल के विपरीत!) जो सामान्य मान (0..1) लेता है। –

+0

भी, संकेतों को नियंत्रित करते समय, आपको [line] के बजाय [line ~] का उपयोग करना चाहिए। –

+0

@ umläute [बीपी ~] का कट ऑफ ऑफलेट एक नियंत्रण दर इनपुट है। क्या आपने पाठ पढ़ा था? –

3

पीडी में दो वस्तुएं हैं जो आपको सिग्नल दुनिया से नियंत्रण दुनिया में परिवर्तित करने देती हैं। [एसआईजी ~] सिग्नल में नियंत्रण परिवर्तित करता है और [स्नैपशॉट ~] सिग्नल को नियंत्रण में परिवर्तित करता है। आप [स्नैपशॉट ~] का उपयोग करके अपने [ओएससी ~] समाधान का उपयोग कर सकते हैं।

[स्नैपशॉट ~] त्वरित सिग्नल वैल्यू की रिपोर्ट करके प्रत्येक बार जब यह बैंग प्राप्त होता है तो रिपोर्ट करता है। आप नियमित रूप से रिपोर्ट करने के लिए किसी दिए गए दर पर मेट्रो सेट अप कर सकते हैं।

यहां एक परीक्षण है जो [xsc ~] को 1 हर्ट्ज पर ले जाने के लिए प्रति सेकंड 20 बार [स्नैपशॉट ~] बैंग करता है। मैंने आपके उदाहरण के साथ फिट करने के लिए 300 से 500 के बीच आउटपुट को -1 से 1 तक स्केल करने के लिए कुछ सरल ऑपरेटरों का उपयोग किया है। आप इसे अपने स्लाइडर पर पैच कर सकते हैं और दौड़ में जा सकते हैं।

Pd patch illustrating snapshot and metronome solution

संबंधित मुद्दे