क्या कोई प्रोग्राम है जो ऑडियो फ़ाइल के भीतर उच्चतम पिच निर्धारित कर सकता है?


14

क्या एक विंडोज प्रोग्राम है जो ऑडियो फ़ाइल (जैसे एमपी 3 फ़ाइल) के भीतर पाए जाने वाले "उच्चतम ध्वनि तरंग आवृत्ति" को निर्धारित कर सकता है?

उदाहरण के लिए, यह डॉग-व्हिसल -० फ़ाइल का विश्लेषण करने और यह निर्धारित करने में सक्षम होना चाहिए कि फ़ाइल के भीतर पाई जाने वाली उच्चतम आवृत्ति लगभग ~ 12000 हर्ट्ज है।

इसके अलावा, यह Piano.mp3 का विश्लेषण करने और उच्चतम नोट निर्धारित करने में सक्षम होना चाहिए ।

जवाबों:


13

R क्रॉस-प्लेटफ़ॉर्म और मुक्त / खुला स्रोत है।

इसे लोड करें, tuneRऔर seewaveपुस्तकालयों को लोड करें (पैकेज प्रबंधक से उन्हें स्थापित करें यदि अभी तक स्थापित नहीं है)।

library(tuneR)
library(seewave)

फिर, अपने MP3 या WAV फ़ाइल को लोड करें:

w = readMP3("dog-whistle-0.mp3")
w = readWave("dog-whistle-0.wav")

अब, स्पेक्ट्रम और उसकी चोटियों को देखें:

fpeaks(meanspec(w), nmax=1)

परिणाम:

संख्यात्मक परिणाम:

fpeaks(meanspec(w), nmax=1, plot=FALSE)
12.05859

उपरोक्त केवल गैर-संगीत डेटा के साथ काम करता है। जब आप संगीत की आवृत्तियों का विश्लेषण करते हैं, तो आप पाएंगे कि सबसे अधिक आवृत्तियाँ हमेशा 12-20 kHz के आसपास रहेंगी, जो साधन में शामिल हैं। हालांकि, यह उच्चतम आवृत्ति आपको उस नोट का अनुमान नहीं देगी जो कि खेला जा रहा है, क्योंकि एक संगीत नोट, जब एक उपकरण द्वारा खेला जाता है, तो कई आवृत्तियों से बना होगा।

यह एक उपकरण का तथाकथित "टिमब्रे" है, और आप पाएंगे कि एक बांसुरी द्वारा 440 हर्ट्ज पर एक इलेक्ट्रिक गिटार द्वारा खेले गए ए की तुलना में विभिन्न आवृत्ति घटक शामिल होंगे।

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

हालांकि "समय के साथ आवृत्ति" जैसी कोई चीज नहीं है। आप केवल कुछ स्लाइडिंग समय खिड़कियों पर औसत (या प्रमुख) आवृत्ति की साजिश कर सकते हैं । सीवेव समय की खिड़कियों का चयन करने के बारे में काफी कुछ कार्य प्रदान करता है, लेकिन यह जटिल हो जाता है।

आप उपयोग कर सकते हैं

s = specprop(meanspec(w, from=10, to=11)) 

स्पेक्ट्रम गुणों को 10 से 11 सेकंड तक प्राप्त करने के लिए और फिर कॉल करें s$centroidया s$meanउस विशेष समय खिड़की के केंद्रक या माध्य आवृत्तियों को प्राप्त करें (हालांकि 1 सेकंड ऑडियो विश्लेषण के लिए काफी बड़ा है)।

यदि आपकी वेव फ़ाइल 44.1 kHz नमूनाकरण का उपयोग करती है, तो आप गणना प्रयास को कम करने के लिए इसे घटा सकते हैं, उदाहरण के लिए 16 kHz।

w = downsample(w, 16000)

लेकिन याद रखें कि Nyquist प्रमेय के अनुसार , अधिकतम आवृत्ति जिसे अब दर्शाया जा सकता है वह 8 kHz है।

आप एक पिच डिटेक्शन सॉफ्टवेयर की तलाश भी कर सकते हैं। इस तरह , हालांकि MATLAB की आवश्यकता है।


इसके बजाय Btw fpeaks, क्या आप जानते हैं कि अगर कोई ऐसा कार्य है जो समय के खिलाफ आवृत्ति के ग्राफ को प्लॉट करता है?
पचेरियर

मेरा अपडेट देखें। यह तुच्छ नहीं है। मैं ऑडियो के साथ काम नहीं कर रहा हूं, यह जानने के लिए कि क्या आसपास कुछ बेहतर है, क्षमा करें।
slhck

8

क्या आपने दुस्साहस की कोशिश की है ? यह एक सहित कुछ काफी परिष्कृत विश्लेषण उपकरण, है कि एक फ्रीवेयर उपकरण है प्लॉट स्पेक्ट्रम से पहुँचा आदेश का विश्लेषण करें -> स्पेक्ट्रम प्लॉट ...

स्क्रीनशॉट

ध्यान दें कि आपको WAV संस्करण की तुलना में फ़ाइल के एमपी 3 संस्करण के साथ अलग-अलग परिणाम मिलते हैं क्योंकि एमपी 3 संपीड़न ने तरंग को बदल दिया है और कलाकृतियों / एलियासिंग को पेश किया है।

संपादित करें: वे ध्वनि फ़ाइलें जिन्हें आप लिंक करते हैं, इसके लिए अच्छे उदाहरण नहीं हैं। उच्च आवृत्ति फ़ाइलों को केवल 44.1KHz पर नमूना किया जाता है जो मानव सुनवाई (लगभग 20KHz अधिकतम) के अनुरूप है। आप नमूना दर को बढ़ाए बिना अल्ट्रासाउंड आवृत्तियों का प्रतिनिधित्व नहीं कर सकते।


हम्म, यह Piano.mp3 फ़ाइल के साथ काम नहीं करता है । मेरे लिए यह 10121 हर्ट्ज (D # 9) स्क्रीनशूट .me/uZZ2N0 दिखाता है, फिर भी यह बहुत अधिक संभावना नहीं है क्योंकि एक पियानो पर सबसे बड़ी कुंजी C8 (4186Hz) है। क्या मैं कुछ गलत कर रहा हूँ?
पचेरियर

3
@ स्पेसर नहीं, लेकिन आपने अपना प्रश्न थोड़ा बदल दिया। कुत्ते की सीटी का नमूना पहचानना आसान है क्योंकि स्पेक्ट्रम में उच्चतम शिखर के साथ आवृत्ति भी उच्चतम आवृत्ति है और एक ही समय में प्रमुख नोट है। संगीत के लिए, उच्चतम आवृत्ति आवश्यक रूप से उच्चतम नोट नहीं है, क्योंकि एक वाद्य यंत्र द्वारा बजाया जाने वाला संगीत नोट कई आवृत्तियों से बना होता है।
13'12

@ एसएलएचके आइक, मुझे लगा कि हम नोट का अनुमान लगा सकते हैं अगर हमारे पास आवृत्ति थी, ऐसा लगता है कि यह इतना सीधा नहीं है ..
पचेरियर

@ स्पेसर: यदि आप साइज़ को अधिक मूल्य पर सेट करते हैं, तो मेरा मानना ​​है कि यह अधिक सटीक परिणाम दे सकता है और कुछ हार्मोनिक्स को समाप्त कर सकता है।
जेम्स पी।

2
@Pacerier नहीं, यह वास्तव में उतना सीधा नहीं है। पिच का पता लगाने के लिए आपको तरंग को पहले एक फ्रिक्वेंसी स्पेक्ट्रम (फास्ट फूरियर ट्रांसफॉर्म) में बदलना होगा, फिर फिल्टर (कम-पास ज्यादातर), और फिर भी फिल्टर का एक और दौर लागू करना होगा। जब तक आपको एक उपकरण नहीं मिल जाता है जो समय के साथ पिच को ट्रैक करता है, जो आप चाह रहे हैं वह वास्तव में कठिन होने वाला है। आप मेलोडी जैसे मुखर सुधार उपकरणों में देख सकते हैं ।
slhck
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.