小编Fur*_*Fry的帖子

傅立叶变换字节数组

我对Java不太熟悉,所以请保持简单.但是,我会尝试理解你发布的所有内容.这是我的问题.

我编写了代码来记录来自外部麦克风的音频并将其存储在.wav中.存储此文件与存档目的相关.我需要做的是存储音频的FFT.

我的方法是将wav文件作为一个字节数组加载并转换它,问题是1.我需要摆脱一个标题,但我应该能够做到这一点而且2.我得到了一个字节数组,但我在网上找到的大多数(如果不是全部)FFT算法都尝试使用复杂/两个双数组修补我的项目工作.

我试图解决这两个问题,最后能够将我的FFT数组绘制成图形,当我发现它只是给我回"0"时..wav文件很好,我可以毫无问题地播放它.我想也许把字节转换成双打对我来说是个问题,所以这是我的方法(我知道它不漂亮)

byte ByteArray[] = Files.readAllBytes(wav_path);
String s = new String(ByteArray);
double[] DoubleArray = toDouble(ByteArray);
// build 2^n array, fill up with zeroes
boolean exp = false;
int i = 0;
int pow = 0;
while (!exp) {
    pow = (int) Math.pow(2, i);
    if (pow > ByteArray.length) {
        exp = true;
    } else {
        i++;
    }
}
System.out.println(pow);
double[] Filledup = new double[pow];
for (int j = 0; j < DoubleArray.length; j++) {
    Filledup[j] = DoubleArray[j];
    System.out.println(DoubleArray[j]);
} …
Run Code Online (Sandbox Code Playgroud)

java arrays audio byte fft

4
推荐指数
1
解决办法
2074
查看次数

标签 统计

arrays ×1

audio ×1

byte ×1

fft ×1

java ×1