Как фильтровать звук нижних и верхних частот в Java с помощью массива Double []JAVA

Программисты JAVA общаются здесь
Anonymous
Как фильтровать звук нижних и верхних частот в Java с помощью массива Double []

Сообщение Anonymous »

Я искал на страницах, как это сделать, и нашел код на C, но не на Java.
Пример для C: https://kiritchatterjee.wordpress.com/2014/11 /10/a-simple-digital-low-pass-filter-in-c/
В этой ссылке выше не упоминаются массивы, потому что они, вероятно, делают это как нечто, где происходит потоковая передача звука. например, через микрофон, чего я не собираюсь делать, я хочу пройти через низкие или высокие частоты фрагмента звука, а затем сохранить результат его прохождения через низкие/высокие частоты.
ПРИМЕЧАНИЕ: я просто добавляю [] рядом с массивом, чтобы сделать объяснение более понятным для читающих.
По сути, я хотел бы сделать следующее :

[*]Чтение файла .wav с использованием кода Java

[*]Преобразуйте данные .wav в массив double [] (путем преобразования массива byte [] в массив double [] с помощью библиотеки StdAudio)

[*]Оттуда я хотел бы обработать аудиоданные высокими/низкими частотами, применив их к массиву double []

[*] Как только к массиву double [] будет применен верхний или нижний проход, я получу совершенно новый массив double []


Ошибка, которую я получаю для кода в цикле for:
Оператор '-' не может быть применен к 'double' , 'double[]'
Другая проблема:
На самом деле я не знаю, находится ли мой код в for цикл будет передавать низкие частоты звуку, даже если я не получу ошибок.
КОД:
import StdAudio.*;

public class PassAudio
{

public static int RawData;
public static double SmoothData;
public static double LPF_Beta = 0.025; // 0

Подробнее здесь: https://stackoverflow.com/questions/790 ... uble-array

Вернуться в «JAVA»