lib/fet/generator/listening.rb
# 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)
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

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)
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 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 )
def note_filename_part(root_name, root_midi_value, note_midi_value)
        root_octave_value = Fet::MidiNote.new(root_midi_value).octave_number
        degrees_instance = Fet::Degrees.new(root_name: root_name, octave_value: root_octave_value)
        degree_name = degrees_instance.degree_names_of_midi_value(note_midi_value).last
        note_name = degrees_instance.note_name_of_degree(degree_name)
        note_octave_value = Fet::MidiNote.new(note_midi_value).octave_number
        return "#{degree_name}(#{note_name}#{note_octave_value})" 
      end
def note_filename_part ( root_name , root_midi_value , note_midi_value ) root_octave_value = Fet :: MidiNote . new ( root_midi_value ) . octave_number degrees_instance = Fet :: Degrees . new ( root_name : root_name , octave_value : root_octave_value ) degree_name = degrees_instance . degree_names_of_midi_value ( note_midi_value ) . last note_name = degrees_instance . note_name_of_degree ( degree_name ) note_octave_value = Fet :: MidiNote . new ( note_midi_value ) . octave_number return "#{degree_name}(#{note_name}#{note_octave_value})" end
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.
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 .
# e.g. b7(Cb4)
root_name
root_midi_value
note_midi_value