चोटी सीमित / ऑडियो संपीड़न सूत्र की जरूरत है


9

मैं चोटियों को सीमित करने के लिए एक ऑडियो तरंग को प्रभावी ढंग से संपीड़ित करने के लिए एक सूत्र की तलाश कर रहा हूं। यह "स्वचालित वॉल्यूम नियंत्रण" अनुप्रयोग नहीं है, जहां कोई एम्पलीफायर को वॉल्यूम स्तर बनाए रखने के लिए नियंत्रित करेगा, बल्कि मैं व्यक्तिगत चोटियों को सीमित करना चाहता हूं ("सॉफ्ट" ट्रंकट)। (मुझे पता है कि यह हार्मोनिक्स का परिचय देता है, लेकिन मैं डेटा का विश्लेषण करने की कोशिश कर रहा हूं, इसे सुनने के लिए नहीं।)

अब तक मेरा (बहुत क्रूड) फॉर्मूला है:

factor = (10 * average / level) + exp(-sqrt(0.1 * level / average))

जहां स्तर तात्कालिक ध्वनि स्तर है, औसत ऐतिहासिक औसत ध्वनि स्तर है, और कारक "समायोजित" स्तर ( कारक समय स्तर ) का उत्पादन करने के लिए उपयोग किया जाने वाला गुणक है ।

इसके अलावा, इस गुणक को केवल तभी लागू किया जाता है जब यह 1 से कम मूल्य पर गणना करता है। अन्यथा स्तर अनजाने में छोड़ दिया जाता है।

मंशा ऐतिहासिक औसत के लिए समायोजित स्तर को कुछ कई (लगभग 15x इस सूत्र के साथ) सीमित करने की है। यह सूत्र है कि मुझे क्या चाहिए, सॉर्ट करें, लेकिन संख्याओं के बढ़ने पर "डिप" प्रदर्शित करता है। यही है, समायोजित स्तर (यानी, कारक समय स्तर ) एक स्तर तक बढ़ जाता है जिसके साथ अन्यायपूर्ण स्तर बढ़ता है लेकिन फिर, स्पर्शोन्मुख जाने के बजाय, वास्तव में छोटा होने लगता है। (वास्तव में, सूत्र को मुख्य रूप से अत्यंत उच्च मूल्यों के साथ शून्य से जाने से रोकने के लिए जोड़ा गया था।)

(इस तरह से मूल्यों को सीमित करने की इच्छा के कारण मुख्य रूप से इतना क्षणिक शोर ध्वनि स्तर के चलने वाले औसत को गंभीर रूप से परेशान नहीं करता है। लेकिन जब आप खर्राटों का विश्लेषण कर रहे हैं "क्षणिक शोर" काफी महत्वपूर्ण है, तो मैं बस इसे हटा सकता हूं। ।)

तो, क्या कोई बेहतर कुछ सुझा सकता है? (ऐसा लगता है कि जब आप नहीं चाहते हैं तो असममित व्यवहार उत्पन्न करना आसान होता है, लेकिन जब आप ऐसा करते हैं तो कठिन होता है।)


जवाबों:


9

यहां दो समस्याएं: स्तर का एक विश्वसनीय अनुमान कैसे प्राप्त करें, और डेटा को कैसे संपीड़ित करें।

  • मूल "(पीक-सीमित नहीं) डेटा पर मजबूत आंकड़ों का उपयोग करें, जैसे" औसत स्तर "का पता लगाने के लिए एक औसत रनिंग औसत के बजाय माध्य या क्वांटिल्स।
  • ×tanh(एक्स) एक के रूप में अच्छा काम करता है सीसंपीड़न सूत्र और यह वास्तव में कुछ ऑडियो सर्किट (ओटीए का उपयोग करके) में क्या हो रहा है। अनुकूली संपीड़न प्राप्त करने के लिए जो मूल सिग्नल की गतिशीलता को संरक्षित करता है और बस ग्राहकों को हटाता है, k को स्मूथ "औसत" स्तर पर ट्रैक करता है।

उदाहरण

  • नीला: मूल संकेत
  • ग्रीन: एक "विशिष्ट स्तर" का पता लगाने के रूप में एक स्लाइडिंग विंडो पर निरपेक्ष मूल्य के 2 एक्स माध्यिका
  • लाल: तन संपीड़न (हरे रंग में प्लॉट किए गए स्तर के बराबर के साथ ऊपर दिया गया सूत्र)

धन्यवाद, यह आशाजनक लग रहा है। मैं इसे प्लग करूंगा और देखूंगा कि यह कैसे होता है।
डैनियल आर हिक्स

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

"मूविंग औसत" से "मूविंग माध्य" क्यों बेहतर है? मैंने कई जगहों पर पढ़ा कि यह आउटलेर्स के प्रति कम संवेदनशील है। लेकिन मैं इसे वास्तविक डेटा के साथ देखने में असमर्थ हूं । इस प्रश्न के बारे में कोई विचार?
बसज
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.