Beispiel #1
0
        private async void Button_Click(object sender, RoutedEventArgs e)
        {
            soundOut = await AudioGraphOutput.CreateAudioGraphOutput(2, SampleRate);

            source = new SinusoidSource(new SampleFormat(2, 44100))
            {
                Frequency = 436
            };
            resampler = new SplineResampler(source, SampleRate);
            soundOut.Initialize(new SampleToFloat32Converter(resampler));
            soundOut.Play();
        }
Beispiel #2
0
        public void DownSamplingDoesNotThrow()
        {
            const int Channels              = 3;
            const int SourceSampleRate      = 48000;
            const int DestinationSampleRate = 44100;
            var       src = new SinusoidSource(new SampleFormat(Channels, SourceSampleRate))
            {
                Frequency = 20000
            };
            var resampler = new SplineResampler(src, DestinationSampleRate);
            var buffer    = new float[Channels * 1024];

            Assert.DoesNotThrow(() =>
            {
                resampler.Read(buffer);
            });
        }
Beispiel #3
0
        public void UpSamplingFrameDump()
        {
            const int SourceSampleRate      = 44100;
            const int DestinationSampleRate = 192000;
            var       src = new SinusoidSource(new SampleFormat(1, SourceSampleRate))
            {
                Frequency = 6000
            };
            var resampler = new SplineResampler(src, DestinationSampleRate);
            var buffer    = new float[256];

            resampler.Read(buffer); //Trash the data because the first one contains transient part.
            resampler.Read(buffer);
            foreach (var item in buffer)
            {
                Console.WriteLine(item);
            }
            Assert.Pass();
        }