Пример для 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 []
Оператор '-' не может быть применен к '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