Class: Fet::Generator::Listening

Inherits:
Object
  • Object
show all
Defined in:
lib/fet/generator/listening.rb

Overview

Class that generates MIDI files for the listening exercises

Instance Method Summary collapse

Constructor Details

#initialize(exercises:, tempo:, degrees:, all_single_degree:, directory_prefix: "") ⇒ Listening

The reason number of exercises is required is because the actual number generated is quite large For three degrees, it’s something like 88C3, but a bit smaller because one you choose 1, you actually exclude some of the 88 other than just itself (i.e. if you chose the b2 degree, you exclude the rest of the b2 degrees too) 2 degrees => 21592 (left it for a while and it seemed to stop at this value) - comparable to 64C2 * 12 = 24192 3 degrees => 252398 (before I stopped it, there was more being generated)



12
13
14
15
16
17
18
19
# File 'lib/fet/generator/listening.rb', line 12

def initialize(exercises:, tempo:, degrees:, all_single_degree:, directory_prefix: "")
  self.number_of_exercises = exercises
  self.all_single_degree = all_single_degree
  self.tempo = tempo
  self.number_of_degrees = degrees
  self.note_range = Fet::REDUCED_BY_OCTAVE_PIANO_RANGE
  self.directory_prefix = directory_prefix
end

Instance Method Details

#generateObject



21
22
23
# File 'lib/fet/generator/listening.rb', line 21

def generate
  all_single_degree ? generate_all_single_degree_exercises : generate_number_of_exercises
end