कतरन के बिना ऑडियो संकेतों को मिलाने के लिए एलगोरिदम (एस)


49

मैं दो या दो से अधिक पीसीएम ऑडियो चैनलों (जैसे रिकॉर्ड किए गए नमूनों) को एक ध्वनिक-वफादार तरीके से डिजिटल रूप से मिश्रण करना पसंद करता हूं, अधिमानतः निकट-वास्तविक समय में (मतलब बहुत कम या कोई तिरछा-आगे)।

ऐसा करने का शारीरिक रूप से "सही" तरीका नमूनों का योग है। हालाँकि जब आप दो मनमाने नमूने जोड़ते हैं, तो परिणामस्वरूप मूल्य अधिकतम मूल्य से दोगुना तक हो सकता है।

उदाहरण के लिए, यदि आपके नमूने 16-बिट मान हैं, तो परिणाम 65536 * 2 तक होगा। इससे क्लिपिंग निकल जाती है।

यहां भोला समाधान एन द्वारा विभाजित करना है, जहां एन चैनलों की संख्या मिश्रित है। हालांकि, इसके परिणामस्वरूप प्रत्येक नमूने में 1 / Nth जोर से होता है, जो पूरी तरह से अवास्तविक है। वास्तविक दुनिया में, जब दो उपकरण एक साथ बजते हैं, तो प्रत्येक उपकरण आधा नहीं बनता है।

चारों ओर पढ़ने से, मिश्रण करने की एक सामान्य विधि है: परिणाम = ए + बी - एबी, जहां ए और बी दो सामान्यीकृत नमूने मिश्रित होते हैं, और एबी यह सुनिश्चित करने के लिए एक शब्द है कि लाउड ध्वनियां तेजी से "सॉफ्ट-क्लिप्ड" हैं।

हालांकि, यह संकेत की विकृति का परिचय देता है। क्या उच्च-स्तरीय ऑडियो संश्लेषण में विरूपण का यह स्तर स्वीकार्य है?

इस समस्या को हल करने के लिए और क्या तरीके हैं? मुझे कुशल कम-गुणवत्ता वाले एल्गोरिदम के साथ-साथ कम-कुशल उच्च-गुणवत्ता वाले एल्गोरिदम में दिलचस्पी है।

मैं डिजिटल संगीत संश्लेषण के संदर्भ में अपना प्रश्न पूछ रहा हूं, एक साथ कई इंस्ट्रूमेंट ट्रैक्स को मिलाने के उद्देश्य से। पटरियों को संश्लेषित किया जा सकता है ऑडियो, पूर्व दर्ज नमूने, या वास्तविक समय माइक्रोफोन इनपुट।


मुझे आश्चर्य है कि कितनी बार केवल समय-समय पर संकेतों को थोड़ा-थोड़ा करके कतरन से बचना संभव है।
सेबेस्टियन रीचेल्ट

अच्छा विचार है, हालांकि मुझे संदेह है कि यह बहुत सरल नहीं है, खासकर जब आपके पास बहुत अधिक लुकहैड नहीं है (जैसे वास्तविक समय में)। समस्या यह है, आपको यह जानने के लिए पहले से नमूना लेना होगा कि किस प्रकार का समय-बदलाव उचित होगा। अधिकांश संगीत में, आपने सहसंबंध की एक उच्च संभावना होगी, इसलिए यादृच्छिक समय-स्थानांतरण का एक बहुत अच्छा काम कर सकता है। किसी को भी यहाँ पर खींचने का कोई अनुभव है?
bryhoyt

2
@bryhoyt: रियल मिक्सर एक साथ संकेतों को जोड़ते हैं। बस। किसी भी समय देरी या गैर-रैखिक प्रसंस्करण की आवश्यकता नहीं है। क्लिपिंग कोई समस्या नहीं है क्योंकि मूल सिग्नल उसके साथ होने के लिए ज़ोर से नहीं थे।
एंडोलिथ

2
16 + 16 बिट = 17 बिट्स;;
7

1
बस इनपुट की संख्या से विभाजित करें, तो कतरन संभव नहीं होगा। और अगर ध्वनि बहुत शांत है, तो एम्पलीफायर को चालू करें ...
सर्ज बोर्श

जवाबों:


14

अपनी समस्या के संदर्भ के बिना आपको प्रासंगिक तकनीकों के बारे में बताना बहुत कठिन है।

स्पष्ट उत्तर आपको प्रत्येक नमूने के लाभ को समायोजित करने के लिए बताना होगा ताकि कतरन शायद ही कभी हो। यह मानने के लिए अवास्तविक नहीं है कि संगीतकारों को एकल में खेलने के बजाय एक कलाकारों की टुकड़ी में नरम खेल होगा।

A + B - AB द्वारा शुरू की गई विकृति केवल स्वीकार्य नहीं है। यह बी के हार्मोनिक्स के प्रत्येक तरफ ए की दर्पण छवियां बनाता है - रिंग-मॉड्यूलेशन के बराबर - जो बहुत ही भयानक है अगर ए और बी में हार्मोनिक्स के साथ एक समृद्ध स्पेक्ट्रम है जो पूर्णांक अनुपात पर नहीं है। उदाहरण के लिए 220 और 400 हर्ट्ज पर दो वर्ग तरंगों पर इसे आज़माएं।

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


4
परिवर्धन और कठिन कतरन। बस किसी भी ओपन-सोर्स मॉड प्लेयर को देखें। मिश्रण के लिए एक अतिरिक्त का उपयोग करना, कतरन को कम करने के लिए उचित रूप से मापे गए इनपुट के साथ, और फिर एक हार्ड-सीमक (वैकल्पिक रूप से नरम) आदर्श है, अपवाद नहीं ...
pichenettes

4
ज्यादातर स्थितियों में यह समस्या को हल करने के लिए डेवलपर की जिम्मेदारी नहीं है। आप उपयोगकर्ता / संगीतकार को प्रत्येक चैनल के वॉल्यूम को समायोजित करने की संभावना देते हैं, और यह उपयोगकर्ता पर निर्भर है कि वह मिक्सचर करे ताकि क्लिपिंग उन्हें स्वीकार्य हो। उदाहरण के लिए, रेनॉइस में, डिफ़ॉल्ट रूप से, प्रत्येक इंस्ट्रूमेंट / नोट का लाभ 1 है और ट्रैक जोड़ने पर चीजें बुरी तरह से कतरनी शुरू कर देती हैं - यह उपयोगकर्ता पर निर्भर है कि वे क्लिप पर नोट को रोकने के लिए मॉड्यूल में क्लिप या इंस्ट्रूमेंट की मात्रा को समायोजित करें। मास्टर ट्रैक (जब तक यह वांछित नहीं है)। यहाँ है कि दिखाने वाले स्क्रीनशॉट है: i.imgur.com/KVxDt.png
pichenettes

2
IIRC, फास्टट्रैकर अधिक रूढ़िवादी था, इसमें प्रत्येक ट्रैक पर एक क्षीणन लागू किया गया था, और फिर एक्स 1 से एक्स 32 तक वरीयता संवाद में वैश्विक "श्रृंगार लाभ" था। मुझे याद है कि जब मुझे अपने सभी मॉड्यूल्स को .WAV को सीडी के लिए रेंडर करना था, तो मुझे तब तक लाभ के मूल्यों की कोशिश करनी थी जब तक कि मुझे सबसे कम ऐसा नहीं मिला जो क्लिपिंग का कारण नहीं बना ...
pichenettes

2
क्षीणन स्तर के संबंध में, यदि आपके पास लूप में कोई उपयोगकर्ता नहीं है; 1/32 एक बिल्कुल सुरक्षित स्तर है (कोई कतरन नहीं)। यह मानते हुए कि चैनल सहसंबद्ध नहीं हैं (जो संगीत के लिए बहुत सच नहीं है - पृष्ठभूमि एंबियंस को मिलाते समय अधिक सही), 1 / sqrt (32) का मान जोर और कतरन संभावना के बीच एक अच्छा समझौता होगा। सबसे अच्छा समाधान अभी भी 1/32 का उपयोग करना होगा और फिर एक डायनामिक कंप्रेसर के साथ अपने नमूनों को पोस्ट-प्रोसेस करना होगा।
pichenettes

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

16

ऐसा करने का शारीरिक रूप से "सही" तरीका नमूनों का योग है। हालाँकि जब आप दो मनमाने नमूने जोड़ते हैं, तो परिणामस्वरूप मूल्य अधिकतम मूल्य से दोगुना तक हो सकता है। ... यहाँ भोला समाधान एन द्वारा विभाजित करना है, जहां एन चैनलों की संख्या मिश्रित है।

यह "भोला" समाधान नहीं है, इसका एकमात्र समाधान है। यही हर एनालॉग और डिजिटल मिक्सर करता है, क्योंकि यह वही है जो हवा करता है, और यह वही है जो आपका मस्तिष्क करता है।

दुर्भाग्य से, यह एक सामान्य गलत धारणा है, जैसा कि इन अन्य गलत गैर-रैखिक "मिश्रण" (विरूपण) एल्गोरिदम द्वारा प्रदर्शित किया गया है:

"एन द्वारा विभाजन" को हेडरूम कहा जाता है ; चोटियों के लिए अतिरिक्त कमरा जो तरंग के आरएमएस स्तर से ऊपर आवंटित किया गया है। सिग्नल के लिए आवश्यक हेडरूम की मात्रा सिग्नल के क्रेस्ट फैक्टर द्वारा निर्धारित की जाती है । (डिजिटल सिग्नल स्तर और हेडरूम की गलतफहमी शायद आंशिक रूप से लाउडनेस युद्ध और एलिफंक के लिए दोषी है ।)

एनालॉग हार्डवेयर में, हेडरूम शायद 20 डीबी है। एक हार्डवेयर डीएसपी में, फिक्स्ड-पॉइंट का उपयोग अक्सर किया जाता है, एक निश्चित हेडरूम के साथ; उदाहरण के लिए, AD के सिग्माडीएसपी में हेडरूम के 24 डीबी हैं। कंप्यूटर सॉफ्टवेयर में, ऑडियो प्रोसेसिंग आमतौर पर 32 बिट फ़्लोटिंग पॉइंट में किया जाता है, इसलिए हेडरूम विशाल है।

आदर्श रूप में, आपको एन द्वारा विभाजित करने की आवश्यकता नहीं होगी, आप केवल संकेतों को एक साथ जोड़ देंगे, क्योंकि आपके सिग्नल पहले स्थान पर 0 dBFS में उत्पन्न नहीं होंगे।

ध्यान दें कि अधिकांश संकेतों को एक-दूसरे से संबद्ध नहीं किया जाता है, वैसे भी, इसलिए यह एक मिक्सर के सभी चैनलों के लिए एक ही समय में रचनात्मक रूप से हस्तक्षेप करने के लिए असामान्य है। हां, 10 समान, इन-चरण साइन तरंगों को मिलाने से चोटी का स्तर 10 गुना (20 डीबी) बढ़ जाएगा, लेकिन 10 गैर-सुसंगत शोर स्रोतों को मिलाकर केवल चरम स्तर 3.2 गुना (10 डीबी) बढ़ जाएगा। वास्तविक संकेतों के लिए, मूल्य इन चरम सीमाओं के बीच होगा।

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


1
मैं इन अवधारणाओं को समझता हूं, लेकिन मुझे यकीन नहीं है कि यह काफी सही है। ज़रूर, अगर मैं 16-बिट नमूनों का एक गुच्छा जोड़ता हूं, तो 32 बिट मुझे संख्यात्मक कमरे के ढेर देता है। लेकिन मुझे अभी भी परिणामी मिश्रण को एक वास्तविक दुनिया साउंड सिस्टम पर सामान्यीकृत मात्रा में खेलना है। मैं चाहता हूं कि 2 चैनल अलग से खेले जाने वाले हर चैनल से जोर से आवाज करें, लेकिन मैं क्लिपिंग नहीं चाहता। 32 या 64 बिट्स में मेरे योग करने से इससे मदद नहीं मिलती है। शायद मैं अपने सवाल का जवाब देना शुरू कर रहा हूं: मूल नमूनों को अधिकतम आयाम की तुलना में एक शांत स्तर पर सामान्यीकृत किया जाना चाहिए। जैसा कि आप सुझाव देते हैं, कुछ मिश्रण हेडरूम छोड़कर।
8

3
@bryhoyt: हाँ, लेकिन आपको यह भी याद रखना होगा कि लहरें एक-दूसरे के साथ शायद ही कभी जुड़ी होती हैं, इसलिए 5 ध्वनियों को एक साथ जोड़ने से चोटियाँ 5 गुना ऊँची नहीं होतीं।
एंडोलिथ

1
धन्यवाद, @endolith, मुझे लगता है कि यह वास्तव में इस सब के दिल में है, और मुझे समझाता है कि क्यों यह एक बड़ी समस्या नहीं है जैसा कि मैंने पहले सोचा था।
बजे bryhoyt

तो अगर 10 गैर-सुसंगत स्रोत 10 डीबी देते हैं, तो sqrt (स्रोतों की संख्या) से विभाजित करना एक उचित उत्तराधिकार होगा? यही है, यदि आपके पास 3 स्रोत हैं, तो उन्हें राशि दें और sqrt (3) से विभाजित करें? (एक प्राचीन सूत्र पर टिप्पणी करने के लिए खेद है)
nerdfever.com

@ nerdfever.com यह है कि आरएमएस का स्तर कैसे संयोजित होता है, इसलिए ... शायद?
एंडोलिथ

6

सूत्र

result=A+BAB

कोई मतलब नहीं है, भले ही आप अलावा कुछ और मतलब । आपको एक बात सोचने की ज़रूरत है कि ध्वनि शून्य से ऊपर और नीचे बदलती है। इसके बारे में सोचने का एक बेहतर तरीका इस प्रकार है:AB=AB

result=g(A+B)

जहां ।g1

सबसे सरल दृष्टिकोण कहना है , जो रूढ़िवादी, रैखिक और हमेशा काम करता है, लेकिन जैसा आप चाहते हैं "जोर" नहीं हो सकता है। एक कम रूढ़िवादी दृष्टिकोण जो "आमतौर पर काम करता है" और "जोर से" है, । इस दृष्टिकोण के साथ अधिक चैनलों के विस्तार बेहतर काम करते हैं।g=0.5g=1/2

वैकल्पिक रूप से, समय के साथ बदल सकता है, जिस स्थिति में यह आमतौर पर कंप्रेसर / सीमक एल्गोरिदम का परिणाम होता है। तब आपके पास वास्तव में एक अंतर समीकरण होता है:g

result[i]=g[i](A[i]+B[i])

g[i] पिछले , , और का एक फ़ंक्शन है ।ABgresult

शायद यह:

g[i]=f(A[i]+B[i],g[i1])

अद्यतन: जैसा कि hotpaw2 द्वारा सुझाया गया है, आप इनपुट सिग्नल में देरी कर सकते हैं लेकिन लाभ दमन नहीं। इसे "लुक-फॉरवर्ड लिमिटर" कहा जाता है।


"एबी" से मेरा मतलब है "ए * बी"। मैं समझता हूं कि आयाम सकारात्मक या नकारात्मक हो सकता है। आप सही हैं, मेरा समीकरण नकारात्मक आयामों के संयोजन के लिए बहुत मायने नहीं रखता है।
bryhoyt

मुझे 8 से 10 (एन) विभिन्न साइनस तरंगों को मिलाना है। औपचारिक रूप से मुझे पता था कि सही मान लगभग 0.3 था ... 1 / rightN सही लगता है ... किसी भी लिंक पर वह सूत्र सही क्यों है?
जिबरी

5

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


यह एक लुक-फ़ॉरवर्ड सीमक है, न कि एक लुक-अग्रेसिव एजीसी।
ब्योर्न रोश

2
@BjornRoche: एक सीमक को AGC का एक प्रकार नहीं माना जा सकता है?
एंडोलिथ

कुछ सीमाएं AGCs हैं, लेकिन एक लुकहेड सीमक AGC नहीं है।
ब्योर्न रोश

1
@BjornRoche अच्छी तरह से स्वचालित है और लाभ को नियंत्रित करता है ...
Olli Niemitalo

2

मैंने 1990 के दशक के अंत और पहले 2000 के मिक्स डिज़ाइनर के साथ बात की थी जो डिजिटल वेव (टिप्टोइंग होने के बाद) पर चल रहा था। मुझे लगता है कि लड़का एसपीएल के लिए एक डिजाइनर था, लेकिन शायद वह बड़ा नहीं था, मुझे पूरी तरह से न तो नाम याद है और न ही ब्रांड, मुझे बस याद है कि वास्तव में कितना बड़ा और महंगा मशीन था।

हमने लंबी बात की, और अंत में वास्तव में गारंटी के लिए तकनीकों के बारे में बात की कि उनके 64/128 @ 24 चैनल एक साथ मिश्रित किए गए थे, क्लिपिंग के बिना 24 बिट सटीक मिश्रित आउटपुट चैनल शेष थे।

उन्होंने जो तकनीक बताई वह सरल थी। 64 ट्रैक्स (24 बिट्स पर) 48 बिट्स चैनल में जोड़े गए थे, जहां क्लिपिंग नहीं हो सकती है। सीधे।

मैं यह नहीं कह सकता कि कैसे उस सिग्नल को 48 बिट्स से 24 बिट्स तक वापस भेज दिया गया था। शायद यही वह जगह है जहाँ मुश्किल रसोई व्यंजनों को लागू किया जाता है।

और हो सकता है कि इसे प्राप्त करने के लिए बहुत सारी तकनीकें हों, जो कि अलग-अलग हों चाहे वास्तविक समय में की गई हों या सभी सिग्नल के साथ जो पहले से ही उच्च-चोटियों के साथ रिकॉर्ड की गई हों, जो निर्धारित करने के लिए सरल हों ... सभी प्रकार के सामान्यीकरण जो मुझे लगता है कि कल्पना करने के लिए हैं।


2

वैश्विक मात्रा कम। आवेग ट्रैकर शास्त्रीय रूप से डिफ़ॉल्ट रूप से लगभग 33% वॉल्यूम अधिकतम पर चैनल आउटपुट करता है।

ऐसा लगता है कि दोनों कुछ चैनलों (4 चैनल अमीगा मॉड्स) के साथ संगीत के लिए पर्याप्त जोर से हैं और 50 चैनलों के साथ गाने के लिए पर्याप्त नरम हैं (क्योंकि चैनल सामग्री आमतौर पर सहसंबद्ध नहीं हैं, इसलिए वॉल्यूम एक निश्चित स्तर से उस तेज अतीत को नहीं जोड़ता है ... प्लस कुछ चैनल अधिकतम मात्रा में आउटपुट कर रहे होंगे, जिसमें बहुत सारा सामान चल रहा होगा)। यह हार्ड-लेफ्ट या हार्ड-राईट पेड चैनलों के लिए पर्याप्त हेडरूम छोड़ता है (जो कि रेंज का 66% उपयोग करते हैं)।

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


0

मुझे लगता है कि कुंजी है, अगर आपके पास 16 बिट मान हैं और आपके 2 मान एक साथ हैं जो संभवतः अधिक हो सकते हैं तो अधिकतम मूल्य, तो आपके पास 2 विकल्प हैं:

1) दोनों को 32 बिट में जोड़ें फिर अधिकतम मान वापस करें यदि जोड़ उस मान से अधिक हो। फिर इसे 16 बिट्स पर वापस कास्ट करें। उदाहरण के लिए यदि आपके मान 32768 और 34567 हैं, तो यह 65535 से अधिक है और कुंजी तब 65535 है। यदि आप न्यूनतम मूल्य के अंत में हस्ताक्षर किए गए मानों का उपयोग कर रहे हैं, तो आप यही करेंगे।

2) दोनों मूल्यों को संपीड़ित करें, फिर उन्हें एक साथ जोड़ें।

पहला अनिवार्य रूप से हार्ड क्लिपिंग है, दूसरा सॉफ्ट क्लिपिंग है। एनालॉग सिस्टम सभी हार्ड क्लिपिंग हैं।


0

वे केवल दो बार अंतरिक्ष होंगे यदि दोनों पटरियों में आवृत्तियों को एक ही स्थान आवृत्ति वार में लेते हैं। प्रत्येक ध्वनि के लिए आवृत्ति स्पेक्ट्रम के क्षेत्रों को बाहर निकालकर और ध्वनियों के संक्रमण और व्यंग्य को नियंत्रित करने के लिए इसके चारों ओर प्राप्त करने के लिए eq और कम्प्रेशन का उपयोग करें ताकि सब कुछ वहां से निकल जाए जहां इसे होना चाहिए। हो सकता है कि हालांकि इस सवाल का जवाब नहीं है। आप कम आवृत्ति संकेतों को 2 एमएस तक देरी कर सकते हैं। यह चरण के माध्यम से रद्द नहीं करेगा क्योंकि तरंग दैर्ध्य उच्च आवृत्तियों की तुलना में अधिक लंबे होते हैं और यह स्थान जोड़ देगा क्योंकि ग्राहक पूरी तरह से बिजली भूखे बास संकेतों के साथ समय पर नहीं होते हैं। कुछ रैखिक रूप से देरी के अधिक जोड़ने से सिग्नल का परीक्षण करना दिलचस्प होगा।


-1
A + B + {
    (|A| = A) = (|B| = B) = true: -AB;
    (|A| = A) = (|B| = B) = false: AB;
    else: 0
}

यही है, अगर ए और बी दोनों एक संकेत साझा करते हैं, तो एक सीमित ऑफसेट लागू करें। ऑफ़सेट का परिमाण A और B का गुणन है। ऑफ़सेट की दिशा A और B के विपरीत है।

यदि ए और बी एक संकेत साझा नहीं करते हैं, तो कोई सीमा लागू नहीं होती है, क्योंकि अतिप्रवाह का कोई तरीका नहीं है।


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

-1

मेरा सुझाव:

  1. ट्रैक ऑडियो प्रारूप को 16 बिट फिक्स्ड पॉइंट से 32 बिट फ़्लोटिंग पॉइंट में बदलें।
  2. सभी ट्रैक्स के वर्तमान नमूना मूल्य को मिलाएं।
  3. कुछ और मत करो।

उपयोगकर्ता इस मिश्रित धारा को सम्पीडन के साथ प्रोसेस कर सकता है और / या 16 बिट फिक्स्ड पॉइंट फॉर्मेट में डिटररिंग और रिनोवेशन से पहले सीमित कर सकता है (इस रूपांतरण को मानते हुए ... मास्टरिंग इंजीनियरों को सौंपने के लिए मिश्रण आमतौर पर एक उच्च रिज़ॉल्यूशन प्रारूप पर छोड़ दिया जाता है)


2
नमस्कार, और DSP.se में आपका स्वागत है। हम आपको योगदान देने की कोशिश करने के लिए धन्यवाद देते हैं, लेकिन मुझे ऐसा नहीं लगता कि यह ओपी के सवाल का जवाब देता है। ओपी ने अपने सिस्टम के "उपयोगकर्ताओं" का उल्लेख नहीं किया: वह अपने दम पर इसके साथ खेल सकता है, या विशिष्ट आवश्यकताओं के लिए कार्यक्रम लिख सकता है। मुझे खेद है कि यदि आप अपना उत्तर इस बिंदु पर बना लेते हैं तो मुझे अपना वोट संशोधित करने में खुशी होगी। इसके अलावा, कृपया अपने स्वरूपण का ध्यान रखें: अच्छे उत्तर कैसे लिखें , यह देखने के लिए FAQ पर एक नज़र डालें ।
पेनेलोप
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.