2009-09-23 15 views
9

का उपयोग कर रीयल-टाइम पिच डिटेक्शन मैं सी ++ का उपयोग कर रीयल-टाइम पिच डिटेक्शन करने की कोशिश कर रहा हूं। मैं निष्पादक (http://performous.org/) से कुछ कोड का परीक्षण कर रहा हूं, क्योंकि बाकी सब कुछ मेरे लिए काम नहीं करता है। मुझे यकीन है कि यह काम करता है, लेकिन मैं इसे काम करने के लिए नहीं मिल सकता। मैं इसे कुछ हफ्तों के लिए आजमा रहा हूं, और मैं किसी भी पिच डिटेक्शन कोड को काम करने में सक्षम नहीं हूं।एफएफटी

+5

"काम नहीं कर सकता" मतलब ??? (संकलित नहीं होगा? नहीं चलेगा? आपके कंप्यूटर को लौ की गेंद में बदल देता है?) –

+0

यह संकलित करता है, लेकिन आउटपुट आवृत्तियों 0 से लगभग 1024 – Niall

+0

तक चल रहा है और इसके साथ क्या गलत है? मध्य सी 440 हर्ट्ज है, इसलिए यदि आपके माइक का नमूनाकरण हो तो सीमा उचित लगती है। आप किस आवृत्ति की अपेक्षा करते हैं? – AShelly

उत्तर

10

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

1

निष्पादन ऑडियो कोड में कुछ अनुकूलन, आवृत्ति सीमाएं और हेरिस्टिक हैं जो इसे गायन (और अन्य समान स्वर) के लिए उपयुक्त बनाती हैं। इष्टतम सीमा लगभग 80-600 हर्ट्ज है।

1

C/C++/Obj-C Real-time algorithm to ascertain Note (not Pitch) from Vocal Input

चेक इस लिंक पर स्वीकार किए जाते हैं जवाब।

मैंने इस समस्या के उत्तर के लिए SO को खराब कर दिया है, और यह मुझे सबसे उपयोगी संसाधन मिला है।

ऐसा लगता है कि Performous इस एल्गोरिथ्म का उपयोग करता है, लेकिन यह

संपादित Performous कोड से बाहर करना मुश्किल है: मैं अंत में एक काम कर समाधान कामयाब रहे। मुझे दिलचस्पी है अगर दिलचस्पी sunfish | जीमेल | c0m