का उपयोग कर विशिष्ट आवृत्ति परिमाण को पुनर्प्राप्त करने के लिए एंड्रॉइड ऑडियो एफएफटी वर्तमान में मैं एंड्रॉइड का उपयोग करके कुछ कोड लागू करने की कोशिश कर रहा हूं, यह पता लगाने के लिए कि फोन के माइक्रोफ़ोन के माध्यम से कई विशिष्ट ऑडियो फ्रीक्वेंसी श्रेणियां खेली जाती हैं।एंड्रॉइड ऑडियो एफएफटी ऑडियो आवृत्ति
int channel_config = AudioFormat.CHANNEL_CONFIGURATION_MONO;
int format = AudioFormat.ENCODING_PCM_16BIT;
int sampleSize = 8000;
int bufferSize = AudioRecord.getMinBufferSize(sampleSize, channel_config, format);
AudioRecord audioInput = new AudioRecord(AudioSource.MIC, sampleSize, channel_config, format, bufferSize);
ऑडियो तो में पढ़ा जाता है:
short[] audioBuffer = new short[bufferSize];
audioInput.startRecording();
audioInput.read(audioBuffer, 0, bufferSize);
एक FFT प्रदर्शन जहाँ मैं अटक हो जाते हैं, के रूप में मैं इस क्षेत्र में बहुत कम अनुभव है है मैं AudioRecord
वर्ग का उपयोग कर वर्ग की स्थापना की है । मैं इस वर्ग का उपयोग करने के प्रयास कर रहे हैं:
FFT in Java और Complex class to go with it
मैं तो निम्न मान भेज रहा हूँ:
Complex[] fftTempArray = new Complex[bufferSize];
for (int i=0; i<bufferSize; i++)
{
fftTempArray[i] = new Complex(audio[i], 0);
}
Complex[] fftArray = fft(fftTempArray);
यह आसानी से मुझे गलत समझ कैसे इस वर्ग के काम करने के लिए है हो सकता है, लेकिन मूल्य पूरे स्थान पर कूदते हैं और चुप्पी में भी लगातार आवृत्ति के प्रतिनिधि नहीं हैं। क्या कोई इस कार्य को करने के तरीके से अवगत है, या क्या मैं ग्राफिकल प्रतिनिधित्व के रूप में इसे आकर्षित करने के बजाय आवृत्ति श्रेणियों की केवल एक छोटी संख्या को कोशिश करने और पकड़ने के लिए मामलों को कम करता हूं?
अरे, अगर आप यह पता लगा, तो आप कोड के अंतिम संस्करण पोस्ट करें सकता है? thx –