उच्च गुणवत्ता reverb एल्गोरिथ्म


11

मैंने इस साइट पर थोड़ी खोज की लेकिन आश्चर्यजनक रूप से, मुझे बहुत अधिक प्रासंगिक जानकारी नहीं मिली, और डीएसपी का मेरा ज्ञान बहुत सीमित है।

मेरा लक्ष्य काफी सरल है: मैं C ++ में एक एल्गोरिथम रीवरब प्रोग्राम करना चाहता हूं जो वास्तव में अच्छा लगता है। या अधिक सटीक रूप से, सबसे अच्छा विकल्प यह होगा कि अंतिम उपयोगकर्ता गुणवत्ता और सीपीयू-उपयोग के बीच व्यापार बंद का चयन करें।

मुझे अब तक जो भी पता चला है, वह यह है कि, एक reverb बनाने के लिए, आपको एक प्रारंभिक परावर्तन एल्गोरिथ्म में, फिर एक देर प्रतिबिंब प्रतिबिंब को सूखा संकेत देना होगा। क्या ये सही है ?

अब, मैंने प्रतिक्रिया प्रतिबिंब नेटवर्क ( REDUCING ARTIFICIAL REVERBERATION REQUIREMENTS USING TIME-VARIANT FEEDBACK DELAY NETWORKS ) का उपयोग करते हुए देर से प्रतिबिंबों वाले हिस्से पर एक व्यापक लेख पाया । मैंने जो पढ़ा है, उससे एफडीएन एक उच्च गुणवत्ता है, देर से रिफ्लेक्सिस का अनुकरण करने के लिए बहुत विस्तृत (सीपीयू वार) नहीं है। इसके अलावा, मुझे लगता है कि आप देरी लाइनों की संख्या को बदलकर गुणवत्ता / सीपीयू चार्ज ट्रेड-ऑफ को नियंत्रित कर सकते हैं।

हालाँकि मुझे इस बात का बिलकुल भी अंदाजा नहीं है कि प्रारंभिक प्रतिबिंबों को कैसे प्रोग्राम किया जाए (याद रखें? मैं वास्तव में अनजान हूँ डीएसपी डोमेन में)।

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

इसके अलावा, मेरी वृत्ति मुझे बताती है कि सिग्नल पथ में कहीं एक या कई फिल्टर शामिल होने चाहिए।

क्या कोई मेरे लिए इस विषय को थोड़ा स्पष्ट कर सकता है?

दो नोट:

  • मैं एक दृढ़ विश्वास के बाद बिल्कुल नहीं हूँ। मैं वास्तव में reverb के यथार्थवाद के बारे में परवाह नहीं करता, लेकिन इसके बजाय मैं एक अच्छा लग रहा है, tweakable, cpu- भूख reverb के लिए नहीं।
  • इसके अलावा, कोडिंग हिस्सा मुझे क्या चिंता नहीं है, मैं अन्यथा stackoverflow पर पूछना चाहते हैं। यह वास्तव में डीएसपी हिस्सा है, और बस वह हिस्सा है, जो मैं बाद में हूं :)

जवाबों:


10

आपको देरी के कुछ नल के साथ प्रारंभिक प्रतिबिंब उत्पन्न करने की आवश्यकता है (= एक मुट्ठी भर की राशि के साथ दृढ़ संकल्प); और "पूंछ" जो आमतौर पर ऑल-पास (एपी) और कंघी फिल्टर के नेटवर्क के साथ लागू की जाती है।

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

पूंछ वह जगह है जहां एल्गोरिथम प्रतिरूप चमकता है (कोई सज़ा नहीं), क्योंकि यह पैरामीरिज़ के लिए आसान है। अल्गोरिदमिक रीवर के दादाजी श्रोएडर हैंकलन विधि। ध्यान दें कि यह केवल एक "पूंछ" उत्पन्न करता है, प्रारंभिक प्रतिबिंब नहीं - आप इसे सिर देने के लिए देरी के कुछ नल के साथ बढ़ा सकते हैं। यह बहुत अच्छा नहीं लगता है (बहुत "दानेदार") लेकिन यह एक अच्छी शुरुआत है - इसके साथ आपको कुछ गड़बड़ करना है और यह प्रत्येक पैरामीटर के प्रभाव को समझने में मदद करता है। कई प्रशंसात्मक एल्गोरिथम विशेष रूप से 80 के दशक (लेक्सिकॉन, इवेंटाइड, पबिसन) के लोग सब-पास फिल्टर और कंघी फिल्टर के बारीक ट्यून किए गए टोपोलॉजी हैं। मुझे संदेह है कि इसमें प्रशिक्षित कानों द्वारा बहुत परीक्षण और त्रुटि शामिल थी, जो यह पता लगाने में बहुत अच्छा था कि किसी भी वैज्ञानिक दृष्टिकोण के बजाय मापदंडों या टोपोलॉजी में बदलाव कैसे आएगा। यहाँ एक और दिलचस्प पढ़ा है- कीथ बर्र की पसंदीदा reverb टोपोलॉजी दिखा रहा है। मूल मिडिवरब आपके "उच्च गुणवत्ता वाले एल्गोरिथ्म reverb" की परिभाषा नहीं हो सकता है, लेकिन यह मीठा लग रहा था, और यह परिप्रेक्ष्य में बात करता है यह जानने के लिए कि यह "डीएसपी" केवल 0.5 के गुणांक के साथ एमएसीएस के साथ बनाया गया था ...

वल्हल्ला कमरा मेरा पसंदीदा सॉफ्टवेयर एल्गोरिदम रेवेरब है - इसके डेवलपर के ब्लॉग को पढ़ने के लिए कुछ समय ले लो कि इसे किस तरह की चीजों के बारे में प्रेरणा मिलती है।


2
फ्रीवेर्ब को एक और आधुनिक संस्करण के रूप में उल्लेख करना भूल गए (उपलब्ध कोड के साथ, जैसे कि श्रोएडर के एल्गोरिदम के सीएसाउंड, या लाडस्पा कोडबेस में पाया जा सकता है)।
जेक

बहुत ही रोचक ! मुझे वल्लाह उत्पाद बहुत पसंद हैं (वल्लाह शिमर चमकता है, कोई भी दंड का कोई इरादा नहीं है :))। आप जल्दी पलटा के लिए सजा का उल्लेख क्यों करते हैं? एक सामान्य देरी मल्टीटैप देरी पर्याप्त बताया?
दिनाज

1
मैंने सजा का उल्लेख किया क्योंकि "मल्टीटैप विलम्ब" केवल एक विशेष प्रकार का कन्वेन्शन है (कुछ गैर-शून्य गुणांक के साथ, इसलिए इसे भोले तरीके से और "घने" दृढ़ संकल्पों से जुड़े तोपखाने के बिना) गणना की जा सकती है। वैसे भी, जैसा कि हिलमार ने कहा, एक मल्टीटैप देरी थोड़ी भोली और कुछ प्रतिबिंबों के बाद हो सकती है, इसलिए अस्थायी रूप से फैलने (= कम-पास फ़िल्टरिंग) गूंज अधिक प्राकृतिक ध्वनि होगी। यह प्रत्येक नल के लिए एक साधारण एलपी के साथ मल्टी-टैप देरी के साथ किया जा सकता है; या सीधे एक कन्वेंशन इंजन और प्रीसेट IR के साथ reverb के पूरे प्रारंभिक प्रतिबिंबों की गणना करके।
पेचिनेट्स

8

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

एक बहुत अच्छा खुला स्रोत कार्यान्वयन है जो चारों ओर तैर रहा है, इसे GVerb कहा जाता है और इसका उपयोग उदाहरण के लिए, ऑडेसिटी में किया जाता है। एक Google खोज आपको स्रोत कोड की एक (कानूनी) प्रति प्राप्त करनी चाहिए।


अपनी पोस्ट से यह आसान लगता है! अच्छी तरह से कम से कम मैं इसे समझ सकता हूं, केवल डी-सहसंबंध के बारे में भाग को छोड़कर। आप वास्तव में क्या मतलब है? आवृत्ति निर्भर सावधानी के बारे में भी, मुझे लगता है कि आप का मतलब है कि यह हर लाइन के लिए आवृत्तियों द्वारा कुछ फिल्टर और ठीक-ट्यूनिंग फेंक रहा है। हालांकि हम किस तरह के फिल्टर के बारे में बात कर रहे हैं? HP? एलपी? बीपी? धन्यवाद !
दिनाज
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.