我发现大多数其他问题都在询问如何将立体声转换为单声道,但我想知道我是否需要将音频数据从立体声转换为单声道才能进行 FFT?如果我不这样做,我知道要在两个通道上进行 FFT,但是我如何使用它们来找到音频的分形维数?如果我这样做,将这两个值平均在一起是个好主意吗?
我还有数百万个点,当您查看它们时,您会看到音频信号的样子。如果我有这么多点,我为什么要做一个只有 1024 字节的 FFT?
这是我正在使用的音频格式:PCM_SIGNED 44100.0 Hz,16 位,立体声,4 字节/帧,little-endian
当我读取流时缓冲区可能得到的一个示例:[41,0,68,0]
如果我只是将两者平均起来,我就是这样做的:
amplitude1 = (double) (buffer[1] << 8 | buffer[0] & 0xFF) / 32767.0;
amplitude2 = (double) (buffer[3] << 8 | buffer[2] & 0xFF) / 32767.0;
double aveAmp = (amplitude2+amplitude1)/2;