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

时间:2017-03-24 13:01:13

标签: java android audio signal-processing fft

我正在尝试使用AudioRecord API录制音频,而我正在尝试将时域转换为频域。如果我想比缓冲区和FFT大小每10毫秒录制一次音频?

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 = ?; 

1 个答案:

答案 0 :(得分:0)

如果您的采样率是44.1 kHz,那么10 ms将是0.01 * 44100 = 441个样本。

如果您的FFT库仅支持2种尺寸的功率,那么您可以使用N = 512作为FFT大小,并使用零填充或使用重叠窗口。