Java 每10毫秒录制音频的音频缓冲区大小和FFT大小是多少?

Java 每10毫秒录制音频的音频缓冲区大小和FFT大小是多少?,java,android,audio,signal-processing,fft,Java,Android,Audio,Signal Processing,Fft,我正在尝试使用AudioRecordAPI录制音频,并尝试将时域转换为频域。如果我想每10毫秒录制一次音频,那么缓冲区和FFT大小是多少 audioRecord = new AudioRecord(MediaRecorder.AudioSource.MIC, 44100, AudioFormat.CHANNEL_IN_MONO, AudioFormat.ENCODING_PCM_16BIT, what is the buffersize?); s

我正在尝试使用AudioRecordAPI录制音频,并尝试将时域转换为频域。如果我想每10毫秒录制一次音频,那么缓冲区和FFT大小是多少

audioRecord = new AudioRecord(MediaRecorder.AudioSource.MIC,
            44100, AudioFormat.CHANNEL_IN_MONO,
            AudioFormat.ENCODING_PCM_16BIT, what is the buffersize?);

short = new short[what is the buffer size ?];
int fftSize = ?; 

如果采样率为44.1 kHz,则10 ms将为0.01*44100=441个采样


如果您的FFT库只支持两种大小的幂,则可以使用N=512作为FFT大小,或者用零填充,或者使用重叠窗口。

感谢您的回复。如果FFT大小512,则此音频记录是否正确=新的音频记录(MediaRecorder.AudioSource.MIC,44100,AudioFormat.CHANNEL_单声道,AudioFormat.ENCODING_PCM_16位,512(0r) 2*512);