У меня есть аудиофайл 3gp, хранящийся на SD-карте android, и я хочу взять fft аудио и сохранить его как двойной массив.
Я рассмотрел использование FFT. java и Complex. java из этой ссылки , но результат, который я получаю, не совпадает с fft, полученным на matlab.
Подводя итог тому, что у меня сейчас есть,
сохраненное аудио
открытый файл с
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?
Благодарим вас за помощь.