Release 0.4.0
Release date: 2021-05-28
API changes
- Different format for
note_array
attribute (inPart
,PerformedPart
andPartGroup
). The name of the fields in the note arrays for onset and duration information now include the units:beat
,quarter
, anddiv
for scores andsec
for performances. - The music analysis functions now accept
Part
andPerformedPart
as well as note arrays - Support for all MIDI controls in
PerformedPart
. The controls are only stored by their CC number (not name). - Add default program change option to
PerformedPart
New features
- Add function to create 2D pianoroll representations from
Part
,PerformedPart
or note arrays. - Add document order index to parts read from MusicXML
- Support for sustain pedal info in MusicXML files
- Add tonal tension profiles by Herremans and Chew (2016)
- Add key_signature_map to Part objects
- Add read support for Match and Corresp files of Nakamura's music alignment tool
- Add
sanitize_part
function removing incomplete slurs and tuplets.
Bug fixes
- Fix tempo change bug in load_performance_midi
- Fix saving parts with anacrusis to score MIDI
- When defining
Note
objects, lower-case note names are converted to upper-case. Before this the behavior was undefined when using lower-case note names - Fix bug in pattern for matchfile
- Fix issue with MIDI velocity for overlapping notes in piano rolls
- Fix bug in
add_measures
- Fix GraceNote bug
Other changes
- Add documentation
- Code cleanup