मानव भाषण शोर फिल्टर


17

क्या किसी को नॉन-स्पीच अटैच करने के लिए किसी फिल्टर का पता है? मैं स्पीच रिकग्निशन सॉफ्टवेयर लिख रहा हूं और हर चीज को फ़िल्टर करना चाहूंगा लेकिन इंसानी स्पीच। इसमें पृष्ठभूमि शोर, एक भद्दा माइक्रोफोन द्वारा निर्मित शोर, या यहां तक ​​कि पृष्ठभूमि संगीत शामिल होगा। मैंने पहले से ही एक फ़िल्टर ऑर्डर लागू किया है जो पावर स्पेक्ट्रम के 6 डीबी रोल-ऑफ के लिए क्षतिपूर्ति करता है, लेकिन मैं अभी भी शोर सुन रहा हूं (हालांकि भाषण बहुत स्पष्ट लगता है)। मैंने एक कम-पास फिल्टर का उपयोग करने के लिए सोचा है, लेकिन मैं दो कारणों से ऐसा करने के बारे में iffy हूं:

  1. मुझे नहीं पता कि कम-पास प्री-फिल्टर बाकी भाषण प्रसंस्करण के साथ हस्तक्षेप करेगा या नहीं। भले ही मानव कान केवल 20 kHz से कम ध्वनियों का पता लगा सकता है, मैं किसी भी उच्च क्रम के हार्मोनिक्स को नष्ट करने का जोखिम नहीं उठाना चाहता जो भाषण को संसाधित करने के लिए आवश्यक हो सकता है (हालांकि मुझे नहीं पता कि यह मामला है या नहीं। लेकिन मैं कोई चांस नहीं लेना चाहता)।

  2. मैं समझता हूं कि कुछ विशिष्ट व्यंजन (जैसे f, h, और s) का उत्तेजना लगभग पूरी तरह से सफेद शोर है। मैं एक शोर फ़िल्टर लागू नहीं करना चाहता जो अच्छे शोर को खत्म कर देगा , इसलिए बोलने के लिए।

आदर्श रूप में, मैं केवल माइक्रोफोन में बोलने वाले व्यक्ति के भाषण के साथ छोड़ दिया जाना चाहूंगा। यदि आपके पास कोई विचार है, या ऐसा कुछ है जो मुझे याद आ रहा है, तो कृपया मुझे बताएं। बहुत सराहना की!


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


अंगूठे का नियम: यदि आप जानना चाहते हैं कि किसी विशेष भाषा में या किसी विशेष प्लेटफॉर्म पर दिए गए डीएसपी एल्गोरिदम को कैसे लागू किया जाए, तो यह एसओ के लिए विषय है। यदि यह डीएसपी एल्गोरिदम / तकनीकों के बारे में कोई विशिष्ट प्रोग्रामिंग कोण नहीं है, तो यह लगभग निश्चित रूप से डीएसपीईएसई पर है (जहां यह बेहतर गुणवत्ता वाले उत्तर प्राप्त करने की प्रवृत्ति होगी)।
पॉल आर।

पकड़ लिया। क्या आपने इसे यहाँ पर स्थानांतरित किया था? यदि ऐसा है तो धन्यवाद। मैं यह पता नहीं लगा सका कि इसे कैसे स्थानांतरित किया जाए, इसलिए मैंने इसे यहाँ फिर से पूछना शुरू कर दिया।
ज़ेटा सुरो जूल

मुझे नहीं - मैंने इसे ध्वजांकित किया और पूछा कि क्या कोई मॉडरेटर इसे स्थानांतरित कर सकता है तो मुझे लगता है कि टीपीटीबी में से एक ने यह किया है (जो कोई भी ऐसा था! धन्यवाद)।
पॉल आर।

जवाबों:


8

टेलिफोनी में प्रयुक्त एक भाषण संचार चैनल में आमतौर पर 300 हर्ट्ज से 3 किलोहर्ट्ज़ की आवृत्ति प्रतिक्रिया होती है। हालांकि यह सामान्य भाषण में बहुत सारी ऊर्जा को अस्वीकार करता है, लेकिन समझदारी अभी भी काफी अच्छी है - मुख्य समस्या यह है कि कुछ प्लोसिव व्यंजन , जैसे "पी" और "टी", उच्च आवृत्ति घटकों के बिना भेदभाव करने के लिए थोड़ा कठिन हो सकता है। ।

तो आप शायद पूर्ण 20 हर्ट्ज का उपयोग करने के बीच कहीं एक "मीठे स्थान" की तलाश कर रहे हैं - 20 केएचजेड बैंडविड्थ आमतौर पर उपभोक्ता ऑडियो में पाए जाते हैं और वॉयस कॉम्स के लिए उपयोग किए जाने वाले सबसे आक्रामक फ़िल्टरिंग (ऊपर देखें)। मेरा सुझाव है कि 50 हर्ट्ज से 8 किलोहर्ट्ज़ तक के एक बैंडपास फ़िल्टर के साथ शुरू करें। यह शायद एसएनआर को केवल कुछ डीबी द्वारा सबसे बेहतर रूप से बेहतर करेगा, लेकिन यह मदद कर सकता है, खासकर यदि आपके पास उच्च आवृत्ति पृष्ठभूमि शोर है।


धन्यवाद! मेरे एक दोस्त ने वास्तव में आवाज चैनल का सुझाव दिया था, लेकिन मुझे संदेह था कि यह कुछ व्यंजन में बहुत अधिक ऊर्जा को आकर्षित करेगा। मैं 50 हर्ट्ज से 8 kHz तक कोशिश करूँगा और देखूंगा कि यह कैसे काम करता है!
ज़ेटा सुरो

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

5

वाक् की बैंडविड्थ से मेल खाते पास बैंड फिल्टर का उपयोग करने से मदद मिलेगी।

यदि आपके पास कई माइक्रोफोन हैं (जैसा कि अब सेलफ़ोन पर होता है), तो ICA जैसी विधियों की एक टुकड़ी है जो इसका लाभ उठा सकती है - लेकिन आपका प्रश्न मुझे संकेत देता है कि आपके पास केवल एक इनपुट है।

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

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

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

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


1

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

आईसीए पीसीए (सिद्धांत घटक विश्लेषण) के समान है, लेकिन सिद्धांत अक्षों पर विचरण को अधिकतम करने के बजाय, यह स्वतंत्रता को अधिकतम करता है। आईसीए के कई कार्यान्वयन हैं जिन्हें आपके द्वारा उपयोग किए जाने वाले कोडिंग वातावरण में प्लग करना चाहिए।


4
आईसीए को कई इनपुट सिग्नल की आवश्यकता होती है क्योंकि अलग करने के लिए स्रोत होते हैं। भाषण में, हम केवल एक संकेत के साथ रह गए हैं और ICA इस प्रकार बिना किसी मदद के है।
pichenettes
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.