Как взять БПФ из 3gp аудио файла? Android - PullRequest
0 голосов
/ 03 марта 2020

У меня есть аудиофайл 3gp, хранящийся на SD-карте android, и я хочу взять fft аудио и сохранить его как двойной массив.

Я рассмотрел использование FFT. java и Complex. java из этой ссылки , но результат, который я получаю, не совпадает с fft, полученным на matlab.

Подводя итог тому, что у меня сейчас есть,

  1. сохраненное аудио

  2. открытый файл с

InputStream inputStream = getContentResolver().openInputStream(Uri.fromFile(file));
преобразован в байт [] на
    public byte[] toByteArray(InputStream in) throws IOException {
        ByteArrayOutputStream out = new ByteArrayOutputStream();
        int read = 0;
        byte[] buffer = new byte[1024];
        while (read != -1) {
            read = in.read(buffer);
            if (read != -1)
                out.write(buffer,0,read);
        }
        out.close();
        return out.toByteArray();
    }
затем поместите байтовый массив в FFT. java

Это то, что я сейчас имею. Я хочу убедиться, что открытие файла и преобразование байтового массива сделано правильно.

Итак, мои вопросы: мой код для открытия 3gp файла правильный? Есть ли более простой способ выполнить fft для файлов 3gp?

Благодарим вас за помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...