public static IBGCStream ContinuousFilter( this IBGCStream stream, IBGCEnvelopeStream envelopeStream, ContinuousFilter.FilterType filterType, double freqLB, double freqUB, double qFactor = double.NaN) { return(new ContinuousFilter( stream: stream, filterEnvelope: envelopeStream, filterType: filterType, freqLB: freqLB, freqUB: freqUB, qFactor: qFactor)); }
public static IBGCStream ContinuousFilter( this IBGCStream stream, IBGCEnvelopeStream envelopeStream, ContinuousFilter.FilterType filterType, double freqLB, double freqUB, double qFactor = double.NaN, TransformRMSBehavior rmsBehavior = TransformRMSBehavior.Recalculate) { return(new ContinuousFilter( stream: stream, filterEnvelope: envelopeStream, filterType: filterType, freqLB: freqLB, freqUB: freqUB, qFactor: qFactor, rmsBehavior: rmsBehavior)); }
public void TestContinuousFilter() { Calibration.Initialize(); IBGCStream noiseStream = new NoiseAudioClip( duration: 4, rms: 1.0, freqLB: 20.0, freqUB: 10000.0, frequencyCount: 10000, distribution: NoiseAudioClip.AmplitudeDistribution.Pink); for (ContinuousFilter.FilterType filter = 0; filter < ContinuousFilter.FilterType.MAX; filter++) { WaveEncoding.SaveStream( filepath: DataManagement.PathForDataFile("Test", $"Sigmoid{filter}FilteredNoise.wav"), stream: new ContinuousFilter( stream: noiseStream, filterEnvelope: new SigmoidEnvelope(4.0, 1.0), filterType: filter, freqLB: 20, freqUB: 10000) .Normalize(80), overwrite: true); WaveEncoding.SaveStream( filepath: DataManagement.PathForDataFile("Test", $"Linear{filter}FilteredNoise.wav"), stream: new ContinuousFilter( stream: noiseStream, filterEnvelope: new LinearEnvelope(4.0), filterType: filter, freqLB: 20, freqUB: 10000) .Normalize(80), overwrite: true); WaveEncoding.SaveStream( filepath: DataManagement.PathForDataFile("Test", $"SlowSine{filter}FilteredNoise.wav"), stream: new ContinuousFilter( stream: noiseStream, filterEnvelope: new SineWave(1.0, 1.0), filterType: filter, freqLB: 20, freqUB: 10000) .Normalize(80), overwrite: true); WaveEncoding.SaveStream( filepath: DataManagement.PathForDataFile("Test", $"FastSine{filter}FilteredNoise.wav"), stream: new ContinuousFilter( stream: noiseStream, filterEnvelope: new SineWave(1.0, 50.0), filterType: filter, freqLB: 20, freqUB: 10000) .Normalize(80), overwrite: true); WaveEncoding.SaveStream( filepath: DataManagement.PathForDataFile("Test", $"SlowTriangle{filter}FilteredNoise.wav"), stream: new ContinuousFilter( stream: noiseStream, filterEnvelope: new TriangleWave(1.0, 1.0), filterType: filter, freqLB: 20, freqUB: 10000) .Normalize(80), overwrite: true); WaveEncoding.SaveStream( filepath: DataManagement.PathForDataFile("Test", $"FastTriangle{filter}FilteredNoise.wav"), stream: new ContinuousFilter( stream: noiseStream, filterEnvelope: new TriangleWave(1.0, 50.0), filterType: filter, freqLB: 20, freqUB: 10000) .Normalize(80), overwrite: true); } }