Mam tablicę danych audio jestem przechodzącej do czytnika:Jak mogę uzyskać dane częstotliwości od PCM za pomocą FFT
recorder.read(audioData,0,bufferSize);
konkretyzacją jest następująca:
AudioRecord recorder;
short[] audioData;
int bufferSize;
int samplerate = 8000;
//get the buffer size to use with this audio record
bufferSize = AudioRecord.getMinBufferSize(samplerate, AudioFormat.CHANNEL_CONFIGURATION_MONO, AudioFormat.ENCODING_PCM_16BIT)*3;
//instantiate the AudioRecorder
recorder = new AudioRecord(AudioSource.MIC,samplerate, AudioFormat.CHANNEL_CONFIGURATION_MONO, AudioFormat.ENCODING_PCM_16BIT,bufferSize);
recording = true; //variable to use start or stop recording
audioData = new short [bufferSize]; //short array that pcm data is put into.
mam Klasa FFT, którą znalazłem w Internecie, i klasa złożona, z którą się spotykam. Próbowałem przez dwa dni szukając w Internecie wszędzie, ale nie mogę się dowiedzieć, jak zapętlić wartości zapisane w audioData
i przekazać je do FFT.
Jest to klasa FFT Używam: http://www.cs.princeton.edu/introcs/97data/FFT.java i jest to kompleks klasa iść z nim: http://introcs.cs.princeton.edu/java/97data/Complex.java.html
Próbowałem tego, używając metody przejścia przez zero, czy muszę przekazywać dane, które otrzymuję z tej metody do FFT? –