music21.converter.qmConverter¶
This is an example of how converter.subConverters.SubConverter can be subclassed in order to parse and write an unsupported format in this case, the format, .qm, consists of a line of letters separated by spaces:
C E G D F
and turns each of them into a quarter note in octave 4 in 4/4.
Consult the code to see how it works. To use, call converter.registerSubconverter(converter.qmConverter.QMConverter) then myStream = converter.parse(‘quarterMusic: C E G D F’)
QMConverter¶
-
class
music21.converter.qmConverter.
QMConverter
(**keywords)¶
QMConverter
bases
QMConverter
read/write properties
Read/write properties inherited from SubConverter
:
QMConverter
methods
-
QMConverter.
parseData
(strData, number=None)¶ Parse the data. The number attribute is not used.
>>> from music21.converter.qmConverter import QMConverter >>> qmc = QMConverter() >>> qmc.parseData('C D E G C') >>> s = qmc.stream >>> s.show('text') {0.0} <music21.stream.Measure 1 offset=0.0> {0.0} <music21.clef.TrebleClef> {0.0} <music21.meter.TimeSignature 4/4> {0.0} <music21.note.Note C> {1.0} <music21.note.Note D> {2.0} <music21.note.Note E> {3.0} <music21.note.Note G> {4.0} <music21.stream.Measure 2 offset=4.0> {0.0} <music21.note.Note C> {1.0} <music21.bar.Barline style=final>
-
QMConverter.
parseFile
(filePath, number=None)¶ parse a file from disk. If QMConverter is registered, then any file ending in .qm will automatically be parsed.
>>> import os >>> parserPath = common.getSourceFilePath() + os.path.sep + 'converter' >>> testPath = parserPath + os.path.sep + 'quarterMusicTestIn.qm'
>>> from music21.converter.qmConverter import QMConverter >>> qmc = QMConverter() >>> qmc.parseFile(testPath) >>> s = qmc.stream >>> s.show('text') {0.0} <music21.stream.Measure 1 offset=0.0> {0.0} <music21.clef.TrebleClef> {0.0} <music21.meter.TimeSignature 4/4> {0.0} <music21.note.Note C> {1.0} <music21.note.Note E> {2.0} <music21.note.Note G> {3.0} <music21.note.Note F> {4.0} <music21.stream.Measure 2 offset=4.0> {0.0} <music21.note.Note E> {1.0} <music21.note.Note D> {2.0} <music21.note.Note C> {3.0} <music21.bar.Barline style=final>
-
QMConverter.
write
(obj, fmt, fp=None, subformats=None, **keywords)¶
Methods inherited from SubConverter
: