Beispiel #1
0
 public SineWave(SineWave other, double newCarrierFrequency)
     : this
     (
         newCarrierFrequency,
         other.Amplitude,
         other.WaveType,
         other.AmplitudeModulation,
         other.Noise
     )
 {
 }
Beispiel #2
0
 public SineWave(SineWave other)
     : this
     (
         other.Carrier,
         other.Amplitude,
         other.WaveType,
         other.AmplitudeModulation,
         other.Noise
     )
 {
 }
Beispiel #3
0
        public static SineWave GetNote(this SineWave baseNote, TwelveToneTemperament temperament, HalfNoteSteps halfNoteSteps, bool above = true)
        {
            if (baseNote == null)
            {
                return(null);
            }

            var newCarrierFrequency = temperament.GetNote(halfNoteSteps, baseNote.Carrier, above);

            return(new SineWave(baseNote, newCarrierFrequency));
        }
Beispiel #4
0
        public static IEnumerable <SineWave> GetNotes(this SineWave baseNote, TwelveToneTemperament temperament, IEnumerable <HalfNoteSteps> chord, bool above = true)
        {
            if (baseNote == null)
            {
                return(null);
            }

            var list = new List <SineWave>(chord.Count());

            foreach (var halfNoteSteps in chord)
            {
                list.Add(GetNote(baseNote, temperament, halfNoteSteps, above));
            }

            return(list);
        }
Beispiel #5
0
 public static IEnumerable <SineWave> GetChord(this SineWave baseNote, TwelveToneTemperament temperament, Chord c, bool above = true)
 {
     return(GetNotes(baseNote, temperament, c, above));
 }