コード例 #1
0
ファイル: Voice.cs プロジェクト: pema4/MultimodSynth
        /// <summary>
        /// Играет переданную ноту.
        /// </summary>
        /// <param name="note">Нота, которую необходимо проиграть.</param>
        public void PlayNote(MidiNote note)
        {
            Note         = note;
            noteVelocity = note.Velocity / 128f;
            var noteFrequency = (float)Utilities.MidiNoteToFrequency(note.NoteNo);

            oscA.Reset();
            oscB.Reset();
            filter.Reset();

            oscA.SetNoteFrequency(noteFrequency);
            oscB.SetNoteFrequency(noteFrequency);
            filter.SetNoteFrequency(noteFrequency);

            envA.TriggerAttack();
            envB.TriggerAttack();
            envFilter.TriggerAttack();

            IsActive = true;
        }