public void GetValue_Success() { Assert.AreEqual(1, converter.GetValue(Durations.Whole)); Assert.AreEqual(1d / 2, converter.GetValue(Durations.Half)); Assert.AreEqual(1d / 4, converter.GetValue(Durations.Quarter)); Assert.AreEqual(1d / 8, converter.GetValue(Durations.Eight)); Assert.AreEqual(1d / 16, converter.GetValue(Durations.Sixteenth)); Assert.AreEqual(1d / 32, converter.GetValue(Durations.ThirtySecond)); }
private IEnumerable <double> GenerateSoundData(TuneElement tuneElement, double period) { double frequenceNote = 0; var note = tuneElement as Note; if (note != null) { frequenceNote = new Frequences()[note.Pitch, note.Scale]; } oscillator.SetFrequency(frequenceNote); var loopLength = SampleRate * period * (durationConverter.GetValue(tuneElement.Duration) * (tuneElement.Dotted ? 1.5 : 1)); for (var i = 0; i < loopLength; i++) { yield return(oscillator.GetNext(i)); } }