internal Channel(Synthesizer synthesizer, bool isPercussionChannel) { this.synthesizer = synthesizer; this.isPercussionChannel = isPercussionChannel; blockLeft = new float[synthesizer.BlockSize]; blockRight = new float[synthesizer.BlockSize]; Reset(); }
/// <summary> /// Initializes a new instance of the sequencer. /// </summary> /// <param name="synthesizer">The synthesizer to be handled by the sequencer.</param> public MidiFileSequencer(Synthesizer synthesizer) { if (synthesizer == null) { throw new ArgumentNullException(nameof(synthesizer)); } this.synthesizer = synthesizer; speed = 1F; }
internal VoiceCollection(Synthesizer synthesizer, int maxActiveVoiceCount) { this.synthesizer = synthesizer; voices = new Voice[maxActiveVoiceCount]; for (var i = 0; i < voices.Length; i++) { voices[i] = new Voice(synthesizer); } activeVoiceCount = 0; }
internal Voice(Synthesizer synthesizer) { this.synthesizer = synthesizer; volEnv = new VolumeEnvelope(synthesizer); modEnv = new ModulationEnvelope(synthesizer); vibLfo = new Lfo(synthesizer); modLfo = new Lfo(synthesizer); oscillator = new Oscillator(synthesizer); filter = new BiQuadFilter(synthesizer); block = new float[synthesizer.BlockSize]; }
internal ModulationEnvelope(Synthesizer synthesizer) { this.synthesizer = synthesizer; }
internal Oscillator(Synthesizer synthesizer) { this.synthesizer = synthesizer; }
internal VolumeEnvelope(Synthesizer synthesizer) { this.synthesizer = synthesizer; }
internal BiQuadFilter(Synthesizer synthesizer) { this.synthesizer = synthesizer; }
internal Lfo(Synthesizer synthesizer) { this.synthesizer = synthesizer; }