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)); }
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); }
public MainViewModel(IEnumerable<SineWave> sineWaves, TwelveToneTemperament temperament) : this() { sineWaves?.ToList()?.ForEach(s => SineWaves.Add(s)); Temperament = temperament; }
public static IEnumerable <SineWave> GetChord(this SineWave baseNote, TwelveToneTemperament temperament, Chord c, bool above = true) { return(GetNotes(baseNote, temperament, c, above)); }