Преобразование массива байтов аудиоформата wav в формат с плавающей запятой

Я читаю аудиофайл .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);
}
5
задан ACS 4 June 2011 в 05:46
поделиться