def parseData(self, humdrumString, number=None): '''Open Humdrum data from a string -- calls humdrum.parseData() >>> humdata = ('**kern\\n*M2/4\\n=1\\n24r\\n24g#\\n24f#\\n24e\\n24c#\\n' + ... '24f\\n24r\\n24dn\\n24e-\\n24gn\\n24e-\\n24dn\\n*-') >>> c = converter.subConverters.ConverterHumdrum() >>> s = c.parseData(humdata) >>> c.stream.show('text') {0.0} <music21.stream.Part spine_0> {0.0} <music21.humdrum.spineParser.MiscTandem **kern humdrum control> {0.0} <music21.stream.Measure 1 offset=0.0> {0.0} <music21.meter.TimeSignature 2/4> {0.0} <music21.note.Rest rest> {0.1667} <music21.note.Note G#> {0.3333} <music21.note.Note F#> {0.5} <music21.note.Note E> {0.6667} <music21.note.Note C#> {0.8333} <music21.note.Note F> {1.0} <music21.note.Rest rest> {1.1667} <music21.note.Note D> {1.3333} <music21.note.Note E-> {1.5} <music21.note.Note G> {1.6667} <music21.note.Note E-> {1.8333} <music21.note.Note D> ''' from music21 import humdrum self.data = humdrum.parseData(humdrumString) #self.data.stream.makeNotation() self.stream = self.data.stream return self.data
def bergEx01(show=True): # berg, violin concerto, measure 64-65, p12 # triplets should be sextuplets humdata = """ **kern *M2/4 =1 24r 24g# 24f# 24e 24c# 24f 24r 24dn 24e- 24gn 24e- 24dn =2 24e- 24f# 24gn 24b- 24an 24gn 24gn 24f# 24an 24cn 24a- 24en =3 *- """ from music21 import humdrum, meter, stream score = humdrum.parseData(humdata).stream[0] if show: score.show() ts = score.flat.getElementsByClass(meter.TimeSignature)[0] # TODO: what is the best way to do this now that # this raises a TupletException for being frozen? # for thisNote in score.flat.notes: # thisNote.duration.tuplets[0].setRatio(12, 8) for thisMeasure in score.getElementsByClass(stream.Measure): thisMeasure.clef = deepcopy(ts) thisMeasure.makeBeams(inPlace=True) if show: score.show()
def parseData(self, humdrumString): '''Open Humdrum data from a string >>> humdata = '**kern\\n*M2/4\\n=1\\n24r\\n24g#\\n24f#\\n24e\\n24c#\\n24f\\n24r\\n24dn\\n24e-\\n24gn\\n24e-\\n24dn\\n*-' >>> c = ConverterHumdrum() >>> s = c.parseData(humdata) ''' self.data = humdrum.parseData(humdrumString) self.stream = self.data.stream return self.data
def bergEx01(show=True): # berg, violin concerto, measure 64-65, p12 # triplets should be sextuplets humdata = ''' **kern *M2/4 =1 24r 24g# 24f# 24e 24c# 24f 24r 24dn 24e- 24gn 24e- 24dn =2 24e- 24f# 24gn 24b- 24an 24gn 24gn 24f# 24an 24cn 24a- 24en =3 *- ''' from music21 import humdrum, meter, stream score = humdrum.parseData(humdata).stream[0] if show: score.show() ts = score.flat.getElementsByClass(meter.TimeSignature)[0] # TODO: what is the best way to do this now that # this raises a TupletException for being frozen? # for thisNote in score.flat.notes: # thisNote.duration.tuplets[0].setRatio(12, 8) for thisMeasure in score.getElementsByClass(stream.Measure): thisMeasure.clef = deepcopy(ts) thisMeasure.makeBeams(inPlace=True) if show: score.show()