2010-11-19 19 views
9

से मौलिक लापता है मैं वर्तमान में अपने चौथे वर्ष प्रोजेक्ट (कंप्यूटर विज्ञान) पर काम कर रहा हूं जिसमें संगीत के स्वचालित प्रतिलेखन -> शीट संगीत शामिल है। मैं इस समय मैटलैब में कर रहा हूं लेकिन किसी स्तर पर जावा में परिवर्तित होना होगा।MATLAB - एक एफएफटी

मेरी समस्या: मेरे पास शुद्ध साइन टोन के लिए सही नोट्स लौटने का मेरा प्रोग्राम है, अब मुझे एक प्राकृतिक उपकरण द्वारा निभाई गई नोट से मौलिक आवृत्ति के पुनर्प्राप्ति के लिए एक समस्या का सामना करना पड़ा है। कुछ नोट्स के साथ, नोट के मौलिक का प्रतिनिधित्व करने वाला शिखर पूरी तरह से गायब प्रतीत होता है। उदाहरण के लिए जब मैं गेराज बैंड से जी 3 नोट चलाता हूं, तो इसे जी 4 के रूप में दिखाया जाता है, क्योंकि मेरी साजिश में केवल 1, 3, 5 वें और 7 वें हार्मोनिक्स दिखाई दे रहे हैं। मैंने छवि जोड़ने की कोशिश की लेकिन चूंकि यह मेरी पहली पोस्ट है, यह मुझे अनुमति नहीं देगी। सही दिशा में किसी भी पॉइंटर्स की सराहना की जाएगी।

+0

क्षमा इस विस्तृत पोस्ट पढ़ें। यह देखने में बहुत मदद करेगा कि आप क्या देख रहे हैं। – xscott

+0

पहला हार्मोनिक * मौलिक है। क्या आप वाकई यही मतलब है? –

+1

हाँ मुझे यकीन है कि यह मुझे मौलिक नहीं दे रहा है, यह पहली चोटी है जो मुझे दे रहा है 392 हर्ट्ज पर है, जहां मैं इसे एक जी 3 दे रहा हूं जो 1 9 6 हर्ट्ज पर है। मैंने अपनी परियोजना के लिए एक साइट भी बनाई, मैंने यहां एक ब्लॉग पोस्ट किया है जिसमें शीर्षक छवि मेरी साजिश है, उम्मीद है कि इससे मदद मिलेगी: http://csserver.ucd.ie/~djones/Project_Site/Blog/Entries/ 2010/11/1 9_Problem_Confirmation__Missing_Fundamental.html – Joneser

उत्तर

16

यह असामान्य नहीं है। मौलिक आवाज़ें, या लगभग इतनी, पुरुष आवाज़ें, बड़े स्ट्रिंग यंत्र और कई अन्य ध्वनि स्रोतों के लिए यह बहुत आम है।

साइनइन फ़ंक्शन जेनरेटर के विपरीत, वास्तविक संगीत वाद्ययंत्रों से संगीत नोटों को निर्धारित करने के लिए अकेले एक एफएफटी पीक परिणाम का उपयोग करना बेहद खराब होता है। ऐसा इसलिए है क्योंकि पिच चरम वर्णक्रमीय आवृत्ति से अलग है। पिच एक मनोविज्ञान-ध्वनिक अवधारणात्मक घटना है। तो यही है कि आपको पढ़ने की जरूरत है। इस विषय पर कई शोध पत्र हैं।

तो आपको एल्गोरिदम का एक पूरी तरह से अलग सेट देखने की आवश्यकता है। cepstrums (Cepstral विश्लेषण), हार्मोनिक उत्पाद स्पेक्ट्रम, ऑटो सहसंबंध और इसी तरह के (AMDF, ASDF, आदि अंतराल), अचेत, YAAPT (पिच ट्रैकिंग के लिए मजबूत एल्गोरिथ्म), आदि

जोड़ा प्रयास करें: मैं लिखा एक अधिक विस्तृत explanation of pitched sounds with missing fundamentals in a blog post

+2

इसके लिए धन्यवाद, इनमें से कुछ एल्गोरिदम लागू करने में कितना आसान है? मैं अपने प्रोजेक्ट में पहले से ही 2 महीने पहले हूं, इसलिए अगर मुझे इसे बदलना है तो यह मेरी प्रगति के लिए एक बड़ा झटका है। – Joneser

+1

उत्कृष्ट जवाब! – Nemeth

0

क्या आपने यह देखने के लिए स्पेक्ट्रोग्राम (MATLAB में फ़ंक्शन स्पेक्ट्रोग्राम) के माध्यम से इसे चलाने का प्रयास किया है?

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

क्या आप सुनिश्चित हैं कि आपके पास सभी नमूनाकरण अधिकार हैं: यानी आपके डीएफटी में केवल नमूना आवृत्ति (सकारात्मक और नकारात्मक आवृत्ति सीमा दोनों) तक आवृत्तियों की आवृत्ति होती है? इसके अलावा: आप अपने सिग्नल के किसी भी क्षणिक भाग को कैसे दबाते हैं?

+1

"क्या आप सुनिश्चित हैं कि आपके पास सभी नमूनाकरण अधिकार हैं: यानी आपके डीएफटी में केवल नमूना आवृत्ति (सकारात्मक और नकारात्मक आवृत्ति रेंज दोनों) तक आवृत्तियों की आवृत्ति है?" जब मैं आवृत्ति डिब्बे बनाम शक्ति की साजिश करता हूं, तो मेरे पास सीमा की शुरुआत दोनों में कई चोटियां हैं, लेकिन मेरे पास सीमा के अंत में कुछ चोटियां भी हैं, मैं केवल चोटियों का पहला सेट खाता में ले रहा था, क्या आप कह रहे हैं कि f0 के लिए सटीक मूल्य प्राप्त करने के लिए दोनों सिरों पर चोटियों की आवश्यकता है? अगर कोई मुझे वोट दे सकता है ताकि मेरे पास 10 प्रतिनिधि हों, तो मैं तस्वीरें पोस्ट कर सकता हूं – Joneser

0

तथ्य यह है कि आप 2 एफ, 4 एफ, 6 एफ और 8 एफ पर चोटियों को देखते हैं, यह वास्तव में तात्पर्य है कि या तो आपका इनपुट डेटा वास्तव में एक ऑक्टेट है जो आप सोचते हैं, या आप अपने परिणामों के आवृत्ति पैमाने को गलत व्याख्या कर रहे हैं। यदि आप मौलिक आवृत्ति को याद कर रहे थे, तो आप 3 एफ, 5 एफ और 7 एफ भी देखेंगे।

सुझाव:

  • प्लॉट अपने इनपुट डेटा तुम से पहले एफटी यह। आप प्रमुख अवधि की आवृत्ति को नजरअंदाज करने में सक्षम होना चाहिए।
  • गेराज बैंड द्वारा उत्पादित नोट को सुनो। क्या यह मध्य सी के ऊपर या नीचे है?
  • जांचें कि आप समझते हैं कि आपकी साजिश पर आवृत्ति पैमाने पर मूल्य कहां से आए थे।
0

यह एक संगीत उपकरण नोट के मौलिक आवृत्ति के लिए असामान्य नहीं है हार्मोनिक्स (यह भी मकसद के रूप में जाना जाता है) के सापेक्ष तनु किया जाना है, और कुछ मामलों में मौलिक आवृत्ति परिमाण में अच्छी तरह से की भयावहता से कम हो सकती मकसद।

एक वास्तविक बेसून (एक सिंथेसाइज्ड बेसून नहीं) की इस आवृत्ति/परिमाण साजिश पर एक नज़र डालें, जिसमें एक जी 3 नोट खेल रहा है। पहले हार्मोनिक के सापेक्ष क्षीणित मौलिक (1 9 6.3 9 हर्ट्ज) का निरीक्षण करें। लेकिन यह भी देखें कि सभी पूर्णांक-एकाधिक हार्मोनिक्स 10 वें हार्मोनिक तक दिखाई दे रहे हैं। असल में, कई और हार्मोनिक्स मौजूद हैं, लेकिन वे इस रैखिक परिमाण साजिश पर दिखाई नहीं दे रहे हैं।

BassoonG3frequencyMagnitude

आपके मामले में, अतिरिक्त तथ्य यह है कि अपने G3 संगीत नोट के स्पेक्ट्रम केवल 1, 3, 5 वीं और 7 वीं हार्मोनिक्स दिखाया जा रहा है पता चलता है कि कुछ गलत है। आपकी टेस्ट ध्वनि संश्लेषित प्रतीत होती है, इसलिए समस्या संश्लेषित होने के तरीके के साथ हो सकती है।

असली संगीत वाद्ययंत्र का स्पेक्ट्रा सामान्य रूप से मौलिक आवृत्ति और कई पूर्णांक-एकाधिक हार्मोनिक्स जैसे 1, 2, 3 और इसी तरह दिखाया गया है, जैसा कि ऊपर देखा गया है। और अधिकांश उपकरणों पर खेले जाने वाले अधिकांश नोट्स के लिए हार्मोनिक्स आम तौर पर 6 किलोहर्ट्ज़ से ऊपर बढ़ते हैं।

एक वास्तविक बेसून (एक संश्लेषित बेसून नहीं) के इस आवृत्ति/decibel_magnitude प्लॉट को एक G3 नोट खेलकर देखें। निरीक्षण करें कि कुल 37 पूर्णांक-एकाधिक हार्मोनिक्स मौजूद हैं, जब तक कि वे -104 डीबी के पास शोर फ्लोर पर भंग नहीं हो जाते।

BassoonG3frequencyDecibelMagnitude

आप इस अलगोजा नमूना सुनने और यहां अपने स्पेक्ट्रम देख सकते हैं: Bassoon musical instrument spectrum

भी छवि के बारे में पर analytical approaches to autonomous musical transcription

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