Exemple #1
0
        private void BuildAudioInChain(WaveFormat monoFormat)
        {
            filter = new ComplexFilter(
                monoFormat,
                new BlackmanHarrisWindowFunction(),
                new FirFilter());

            filter.Filters.Add(new DigitalFilter
            {
                FilterFunction = new LowPassFilterFunction(),
                LowerCutOffFrequency = 10000f
            });

            filterNode = new MonoSignalNode(monoFormat, filter.FilterImplementation);

            fourier = new FourierTransform(
                new FastFourierTransformProvider(),
                new BlackmanHarrisWindowFunction(),
                2048);
            fourierNode = new MonoSignalNode(monoFormat, fourier);
            fourier.DataReady += fourierControl.fourier_DataReady;

            flanger = new Flanger(new SineWave());
            flangerNode = new MonoSignalNode(monoFormat, flanger);

            flangerNode.CentreIn.Source = asioInput.Sources.First();
            //flangerNode.CentreIn.Source = waveCard.Inputs.First();
            filterNode.CentreIn.Source = flangerNode.CentreOut;
            fourierNode.CentreIn.Source = filterNode.CentreOut;
            asioOutput.Sinks.ElementAt(0).Source = filterNode.CentreOut;
            asioOutput.Sinks.ElementAt(1).Source = filterNode.CentreOut;
            //waveCard.Outputs.ElementAt(0).Source = filterNode.CentreOut;
            //waveCard.Outputs.ElementAt(1).Source = filterNode.CentreOut;
        }
Exemple #2
0
        public void Initialise()
        {
            lfo = Substitute.For<IOscillator>();
            //lfo.Generate(Arg.Any<int>()).Returns(0f);

            target = new Flanger(lfo);
        }
Exemple #3
0
        public void Flanger_200000_iterations_1000_length_buffer()
        {
            var target = new Flanger(new SineWave());

            target.Format = new WaveFormat(44100, 1);

            var time = Helpers.Time(() =>
            {
                var buffer = new float[1000];
                for (int i = 0; i < 200000; i++)
                {
                    target.Process(new float[][] { buffer }, 1000);
                }
            });
            Debug.WriteLine(string.Format("FirFilter performance test: {0}", time));
        }
Exemple #4
0
 public void Should_throw_if_no_lfo_provider_to_constructor()
 {
     target = new Flanger(null);
 }