public void PlayAllNotes() { const int totalIterations = 1000; const int delayInSecondsBetweenAudioSnippets = 5; var notes = new MusicalNotes(); var setOfTones = new NoteUtility(_toneProvider); var frequencies = notes.GetAllFrequencies(); for (var i = 0; i < totalIterations; i++) { var intervalBoundaries = NumberUtilities.GetRandomInterval(0, 24, 12, _random); var frequency0 = frequencies[intervalBoundaries[0]]; var frequency1 = frequencies[intervalBoundaries[1]]; setOfTones.PlayNote(notes.GetNoteFromIndex(intervalBoundaries[0])); setOfTones.PlayNote(notes.GetNoteFromIndex(intervalBoundaries[1])); Console.WriteLine(frequency0); Console.WriteLine(frequency1); Console.WriteLine(frequency1 - frequency0); Thread.Sleep(delayInSecondsBetweenAudioSnippets * 1000); setOfTones.PlayNote(notes.GetNoteFromIndex(intervalBoundaries[0])); setOfTones.PlayNote(notes.GetNoteFromIndex(intervalBoundaries[1])); Thread.Sleep(delayInSecondsBetweenAudioSnippets * 1000); var semitoneCount = intervalBoundaries[1] - intervalBoundaries[0]; var spokenInterval = Intervals.GetInterval(semitoneCount); _synth.Speak(spokenInterval); Thread.Sleep(delayInSecondsBetweenAudioSnippets * 1000); } }
public void PlayAllNotesWithNAudioToneProvider() { var setOfTones = new NoteUtility(_nAudioToneProvider); foreach (var note in setOfTones.GetAllNotes()) { setOfTones.PlayNote(note); } }
public void PlayAllNotesWithMockToneProvider() { var toneProvider = new Mock<IToneProvider>(MockBehavior.Strict); toneProvider.Setup(x => x.PlayTone(It.IsAny<int>(), It.IsAny<double>())); var setOfTones = new NoteUtility(toneProvider.Object); foreach (var note in setOfTones.GetAllNotes()) { setOfTones.PlayNote(note); } }