Я читаю аудиофайл .wav с помощью Java AudioInputStream. Аудиофайл подписан 16-битным PCM, с частотой дискретизации = 44100, frameize = 2, framelength = 114048. Мне удалось получить аудиоданные в виде массива байтов, но я не уверен, какой размер следует назначить этому массиву байтов, чтобы я мог преобразовать его в значения точки с плавающей запятой. Я делаю некоторые манипуляции со звуком, используя алгоритм Герцеля, который принимает ввод массива с плавающей запятой, что-то вроде «float [] x». Ниже приведен фрагмент кода, который я использую. Заранее благодарим.
try {
AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(fileIn);
}
while ( numBytesRead != -1) {
numBytesRead = audioInputStream.read(audioBytes);
// Logic goes here
floatValue = byteArrayToFloat(audioBytes);
}