हाँ, यह वही है जो एफएफटी के बारे में है! आपके द्वारा फीड किए गए डेटा की आवृत्ति स्पेक्ट्रम देने के लिए। कठिन हिस्सा कार्यान्वयन विवरण है, जैसा कि आपने उल्लेख किया है।
आप जो करना चाहते हैं, उसके आधार पर, वास्तव में, उत्तर को बदल देता है।
यदि आप केवल अपने स्वयं के संगीत का विश्लेषण करना चाहते हैं, तो ऐसा करने के लिए पहले से ही सॉफ़्टवेयर हैं। आप ईक्यू को देख सकते हैं जो प्रतिक्रिया (मूल रूप से एफएफटी) दिखाते हैं, या एक "संगीत ईक्यू" प्राप्त करते हैं जो पिचों को भी दिखाता है। आप मिडी वीएसटी के लिए ऑडियो प्राप्त कर सकते हैं जो कि आप मिडी नोटों में जो खेलते हैं उसे रूपांतरित करते हैं। यदि आपका कीबोर्ड मिडी है, तो बस VST छोड़ें, और मिडी को सीधे रिकॉर्ड करें।
यदि आप अपने आप को एफएफटी सिखाना चाहते हैं और यह संगीत से कैसे संबंधित है, तो माटलैब जैसा कुछ पाने के लिए बेहतर है जहां आप किसी भी डेटा के एफएफटी की गणना कर सकते हैं। यह wav फ़ाइलों को पढ़ने के साथ रिकॉर्ड करने और प्लेबैक करने की क्षमता रखता है और ऐसे। ये तो उपयोग करने के लिए reall होना आसान है। यदि आप सिंटैक्स जानते हैं तो आप ऑडियो को ग्राफ़ कर सकते हैं और सभी प्रकार के विश्लेषण जल्दी से कर सकते हैं।
यदि आप ऐसा काम करने के लिए एक उपकरण का निर्माण करना चाहते हैं तो यह काफी जटिल है। गणना करने के लिए आपको एक uC / dsp / fpga / etc की आवश्यकता होगी। अधिकांश लोकप्रिय डिवाइस पहले से ही एफएफटी कोड के साथ आते हैं, इसलिए आपको इसे स्वयं (जटिल भी) कोड नहीं करना होगा।
आपको सर्किटरी और वह सब बनाना होगा। यह मुश्किल नहीं है, लेकिन आपके अनुभव / ज्ञान के आधार पर इसमें काफी समय लग सकता है और इसमें सीखने की अवस्था में सुधार होता है। यह अंतिम उत्पाद की गुणवत्ता पर भी निर्भर करता है।
गणितीय रूप से, एक आदर्श संगीत नोट में "मौलिक" की एक ज्यामितीय श्रृंखला होती है।
मान लीजिए कि F0 मौलिक आवृत्ति है, तो अधिकांश संगीत नोटों को F (t) + F0 * sum (a_k e ^ (2 ^ k F0 * pi i t) = = F0 + a_1 * F1 + F2/ F2 + F2 द्वारा अनुमानित किया जाएगा। ...
A_k की उन उच्च आवृत्तियों की ताकत है F_k और F_k, F0 के कुछ गुणक हैं। यदि सभी के लिए a_k = 0 है, तो हमारे पास एक शुद्ध साइनसॉइड है। इस की पिच का पता लगाना आसान है। बस एफएफटी का अधिकतम पता लगाएं और वह आवृत्ति स्वर की मौलिकता = संगीत नोट है।
जब आप एफएफटी लेते हैं, तो आप उस डेटा के साथ समाप्त होते हैं, और बस गणित करते हैं। यह मूल रूप से कलन है।
यह सब अपेक्षाकृत आसान है।
कुछ समस्याओं से आपको निपटना होगा। ध्यान दें कि ये सभी "हल" नहीं हैं।
लेटेंसी - अगर आप किसी भी प्रकार का रियल टाइम सामान करने जा रहे हैं, तो यह एक समस्या बन सकती है।
एकाधिक नोट्स - सभी अतिरिक्त हार्मोनिक्स के कारण नोट्स के समूह को निर्धारित करना मुश्किल है। यदि A = 440hz और A '= 880hz खेलते हैं, तो अधिकांश हारमोंस ओवरलैप हो जाएंगे। आप आसानी से A = 440hz प्राप्त कर सकते हैं, लेकिन A '= 880hz प्राप्त करना अधिक कठिन है। जब आप जीवा के बारे में सोचते हैं, तेजी से दौड़ते हैं, आदि, तो सभी जानकारी (नोट) को ठीक से प्राप्त करना बहुत मुश्किल हो सकता है। जबकि सब कुछ आम तौर पर गणितीय रूप से संभव है, डेटा में स्वयं त्रुटियां और विपत्तियां हैं, और समीकरण कुछ मामलों में परिभाषित किए गए हैं।
शोर - संकेत में शोर आपको चंचल परिणाम दे सकता है। यदि एक संगीतमय शोर होता है, तो यह आपके परिणामों को खराब कर सकता है। तब बेहतर एल्गोरिदम की आवश्यकता होगी = समय + पैसा + ज्ञान।