Beispiel #1
0
        public void Initialize(SoundIOSharp.SoundIODevice device, AudioFormat format)
        {
            InitSynthesizer(device, format);
            MidiOscillator = new Oscillator(Wave.CurrentState, 0, OscillatorVolume);
            Recorder       = new RecordFilter(Synthesizer);

            if (DebugPrint)
            {
                Console.WriteLine($"Initialized : {device.Name}, {format.SampleRate}Hz, {Output.ActualLatency.TotalMilliseconds}ms");
            }
        }
Beispiel #2
0
        private void InitSynthesizer(SoundIOSharp.SoundIODevice device, AudioFormat format)
        {
            if (Output == null)
            {
                Output = new SoundioOutput();
            }

            Output.DesiredLatency = TimeSpan.FromMilliseconds(100);
            Output.Initialize(device, format);
            Output.Buffer += OutputOnBuffer;

            Synthesizer = new Synthesizer(format.SampleRate, 50);
        }
Beispiel #3
0
        public void InitializeMidi(MidiFile midi, SoundIOSharp.SoundIODevice device, AudioFormat format)
        {
            InitSynthesizer(device, format);
            MidiOscillator = new Oscillator(Wave.CurrentState, 0, OscillatorVolume);
            MidiPlayer     = new MidiPlayer(format.SampleRate, Synthesizer);
            MidiPlayer.OscillatorConfigs.Add(MidiOscillator);
            MidiPlayer.Open(midi);

            if (DebugPrint)
            {
                Console.WriteLine($"Initialized : {device.Name}, {format.SampleRate}Hz, {Output.ActualLatency.TotalMilliseconds}ms");
            }
        }