Как бы я мог реализовать полосовой фильтр в C#? Я использую пользовательский MediaStreamSource в Silverlight и использую синтез добавок для создания звука. Мой аудиопоток представляет собой непрерывный поток int16 шорты:Как реализовать полосовой фильтр в C#/Silverlight
//over-simplified example:
short sample = oscillator.GetNextSample();
memoryStream.WriteByte((byte)(sample & 0xFF));
memoryStream.WriteByte((byte)(sample >> 8));
... где «образец» является функцией синуса вычисления (или какой-либо другой сложной комбинацией волновых форм) в пределах от short.MinValue до short.MaxValue ,
Я понятия не имею, с чего начать с полосового фильтра. Как я могу его реализовать?
Я не уверен, насколько эти ответы будут переведены на мое приложение Silverlight, поскольку они, похоже, направлены на управляемые DirectX или неуправляемые библиотеки - обе из которых недоступны в моем контексте. Я надеюсь найти более «сырые» примеры вычислений. Эти ответы могут помочь, но я посмотрю. – kindohm