/// <summary> /// Обработка новых входных данных. /// </summary> /// <param name="input">Входной сигнал.</param> /// <param name="cutoffModulation">Модуляция частоты среза фильтра.</param> /// <returns>Выходной сигнал.</returns> public float Process(float input, float cutoffModulation = 0) { var modulatedCutoff = cutoff; modulatedCutoff *= 1 + FilterModulationLookup[(int)(999 * cutoffModulation)]; if (modulatedCutoff > 20000) { modulatedCutoff = 20000; } filter.SetCutoff(modulatedCutoff); return(filter.Process(input)); }
/// <summary> /// Обработчик изменения частоты среза фильтра низких частот. /// </summary> /// <param name="value">Нормированное новое значение параметра.</param> private void SetLowPassCutoff(float value) { var cutoff = (float)Converters.ToDistortionLowpassCutoff(value); lowPass.SetCutoff(cutoff); }