def test_adding_notes(self): score = Score() # set up 3 instrument voices: 2 violins, 1 trumpet, 1 clarinet catalogue = InstrumentCatalog.instance() score.add_instrument_voice( InstrumentVoice(catalogue.get_instrument("violin"), 2)) # 1 beat == 1 sec, 3/4 TS + 60 beats per minute, score.tempo_sequence.add(TempoEvent(Tempo(60), Position(0))) score.time_signature_sequence.add( TimeSignatureEvent(TimeSignature(3, Duration(1, 4)), Position(0))) violin_voice = score.get_instrument_voice("violin")[0] line = Line([Note(DiatonicPitch(4, y), Duration(1, 8)) for y in 'afd']) violin_voice.voice(0).pin(line) notes = violin_voice.get_all_notes() for n in notes: print(n) line.append(Note(DiatonicPitch(4, 'g'), Duration(1, 8))) notes = violin_voice.get_all_notes() for n in notes: print(n)
def _build_target_line(self): target_line = Line() initial_pitch = DiatonicPitch.parse('C:4') source_notes = self.substitution_pattern.target_pattern_line.get_all_notes( ) for note in source_notes: t_note = note.clone() t_note.diatonic_pitch = initial_pitch target_line.append(t_note) return target_line
def _build_target_line(self): # Build a target line, all notes C:4 with onsets/durations of original line. target_line = Line() initial_pitch = DiatonicPitch.parse('C:4') source_notes = self.source_line.get_all_notes() for note in source_notes: t_note = note.clone() t_note.diatonic_pitch = initial_pitch target_line.append(t_note) return target_line