Ejemplo n.º 1
0
        /// <summary>Attachs a filter, altering how the instance sounds when played.</summary>
        /// <param name="type">The type of filter to be applied.</param>
        /// <param name="Fc">The cutoff/centre frequency to operate at.</param>
        /// <param name="FcPercent">The inital percentage of the frequency to apply.</param>
        /// <param name="Q">The quality factor to operate at.</param>
        /// <param name="QPercent">The initial percentage of the quality factor to apply.</param>
        public void EnableFilter(FilterType type, double Fc, double FcPercent, double Q, double QPercent)
        {
            this.filterFrequency = Fc;
            this.qFactor         = Q;

            this.FrequencyPercentage = FcPercent;
            this.QPercentage         = QPercent;

            switch (type)
            {
            case FilterType.LowPass:
                this.Filter = new LowpassFilter(this.Reader.SampleRate, Fc, Q);
                break;

            case FilterType.HighPass:
                this.Filter = new HighpassFilter(this.Reader.SampleRate, Fc, Q);
                break;

            case FilterType.Bandpass:
                this.Filter = new BandpassFilter(this.Reader.SampleRate, Fc, Q);
                break;

            default:
                throw new Exception("Invalid Filter Type");
            }
            return;
        }
Ejemplo n.º 2
0
 /// <summary>Removes the filter, if applicable.</summary>
 public void DisableFilter()
 {
     this.Filter = null;
     return;
 }