Releases: CPJKU/partitura
Releases · CPJKU/partitura
Release 1.4.1
Bug Fixes
- remove unnecessary escape character for correct parsing of sharp accidentals in nakamura match files.
- don't consider the propriety
doc_order
for sorting notes in thematchfile_from_alignment
function if it is not present. This propriety is only present in parts from musicxml scores and previously resulted in an exception for other score formats. This solves #326 - during matchfile parsing, voice info is now parsed as follows: If there is no voice info, all notes get assigned voice number 1. If there is only voice info for the solo voice, the non-solo voiced notes get voice 2. If multiple notes have different voices, but not every note has a voice annotated, those with voice annotation get the annotated voice number and those without voice annotation get assigned the max voice+1 voice number. Previously all notes were assigned to voice 1 if there were any None voiced note
- during matchfile parsing, all note classes are now matched correctly. Previously classes
MatchSnoteTrailingScore
andMatchSnoteNoPlayedNote
were always marked asMatchSnoteDeletion
andMatchHammerBounceNote
,MatchTrailingPlayedNote
,MatchTrillNote
always ended up asMatchInsertionNote
. This solves #286 - during matchfile parsing, lines which can't be parsed are removed. Before they ended up as
None
in the output.
Release 1.4.0
New Features
- new class for performed notes
- minimal unfolding for part
- updated Musescore parser for version 4
load_score
auto-selects parser based on file type- new attributes for
Score
object for capturing meta information - new score note attributes in matchfile export (
grace
,voice_overlap
) - new
tempo_indication
score property line in matchfile export
Bug Fixes
Other Changes
- new unit test for cross-staff beaming for musicxml
Version 1.3.1
New Features
- (Partial) match note ID validation.
- Normalization module and (partial) normalization defaults for note and performance features.
Bug Fixes
- Fixed bug: #289
- Fixed bug: #277
- Fixed bug: #275
- Fixed several bugs of fixed-size note feature array extraction: #270, #271, #272
- Fixed bug: #269
Other Changes
- Encoding of Dynamic Score Markings in note feature arrays changed to a simple ramp from 0 to 1, starting at the start position of the marking and ending at the end.
- Refactor all alignment-related processing to performance_codec.
Release 1.3.0
New Release 1.3.0 (new features)
This PR addresses release 1.3.0, it includes several bug fixes, code cleaning, documentation, and new functionality.
New Features
- Enhanced Performance features in the same fashion as the note features. Use:
partitura.musicanalysis.make_performance_features(score, performance, alignment, feature_functions)
; - Fixed-size option for Note features. Use:
partitura.musicanalysis.make_note_features(score, force_fixed_size=True)
- Create a score from a note array functionality. Call:
partitura.musicanalysis.note_array_to_score(note_array)
;
New Optional Features
- If music21 is installed : Import music21 to Partitura by calling
partitura.load_music21(m21_score)
- If MidiTok is installed : Export Partitura Score to Tokens by calling
partitura.utils.music.tokenize(score_data, tokenizer)
Bug Fixes
- Fixed bug: #264
- Fixed bug: #251
- Fixed bug: #207
- Fixed bug: #162
- Fixed bug: #261
- Fixed bug: #262
- Fixed Issue: #256
- Fixed bug: #133
- Fixed bug: #257
- Fixed bug: #248
- Fixed bug: #223
Other Changes
- Minor Changes to the Documentation
- Addition of Docs link to the GitHub header
- Upgraded Python version requirements to Python>= 3.7
Release 1.2.2
New features
- slicing performed parts
- roman numeral analysis
- harmony class for part and export
- staff with custom number of lines
- transposition by intervals
Bug fixes
- file naming bug in load_musicxml()
- fixed bug in score part unfolding
- bugfix for fine, ritenuto parsing and unfolding
- bugfix for performance codec
Other changes
- Improved documentation
- Added contributing file
Release 1.2.1
Release date: 2023-02-09
This is an minor update with bug fixes.
Bug fixes
- fixed bug in exporting data for parangonada https://sildater.github.io/parangonada/
- fixed bug in rendering via musescore
- fixed bug in loading via musescore
Release 1.2.0
Release date: 2022-12-01
This is an update with new features including I/O support of the newly released match file format version 1.0.0 (and all prior versions).
New features
- Load and save alignments, performances, and scores stored in match files (.match) of all available versions
- Support for mei loading via verovio (if installed)
- PerformedPart notes store timing information in both ticks and seconds
- Support for pitch class piano rolls
- New MIDI time conversion functions
Bug fixes
- Fix render via musescore (if installed)
- Fix bug slowing down musicxml export
- Fix consecutive tie bug in kern import
- Gracefully handle slur mismatch in kern import
- Fix metrical position flag in note arrays
- Fix in MEI import and handling multiple staff groups inside the main staffGroup
- Fix measure map for single measure parts
Other changes
- Improved documentation
- Extended test coverage
- Extended and updated notebook tutorials: https://cpjku.github.io/partitura_tutorial/
Release 1.1.1
New features:
- New minor feature : Adding midi pitch to freq for synthesizer add reference-based midi pitch to freq #163
Bug fixes:
- Documentation Fix of ReadTheDocs
- Bug fix Bug synthesizing scores with pickup measures #166 Synthesizing score with pick up measure
- Bug Fix of kern import Kern import fix #160
- Bug Fix of Musicxml import repeat infer Bug with musicxml Import #161
- Bug fix Note array with empty voice Note array from note list with empty voice bug. #159
- Fix synthesizing scores with pickup measures #167
Other changes:
- Encoding declaration on all files.
- Renaming master branch as main
1.1.0
Release 1.1.0
Release date: 2022-10-04
This is a major update with some new features including sonification of score and performance, and meter estimation
New features
- User can sonify performance and score using simple additive synthesis (exports wav using scipy);
- Meter estimation method in music analysis using Automatic extraction of
tempo and beat from expressive performances. Simon Dixon (2001).
Bug fixes
- Unified method of importing and exporting scores and performance.
Other changes
- Documentation has been updated with notebook tutorial on ReadTheDocs and outdated usage was removed;
- Added Code of conduct to header;
- Pytorch is added as an optional dependency for
performance_codec
encode to combine withonsetwise_to_notewise
andnotewise_to_onsetwise
functions.
Release 1.0.0
Release date: 2022-09-20
This is a major update with several new features including import from kern and mei, note features, performance codec, new score class, and more.
API changes
- Different
__call__
fornote_array
attribute (inScore
,Part
,PerformedPart
andPartGroup
).note_array
is now called as a method with brackets. One can specify additional fields for the note array such as key, pitch spelling, time signature, and others. - Every score is imported as a
Score
object where each part can be accessed individually.
New features
- We now support import from humdrum **kern, and MEI (coming soon import Musescore and Music21, export MEI).
- The music analysis functions now include:
- The basis features (from the Basis Mixer) use by typing :
partitura.utils.make_note_features(part)
. - A simple version of the Performance Codec with encode, and decode functions.
- The basis features (from the Basis Mixer) use by typing :
- The part object now contains several new methods such as:
part.measures()
,part.use_musical_beat()
, and others. - Multiple parts of the same score can now be merged to one even if they contain different divs, call:
partitura.score.merge_parts([p1, p2, ...])
. - Ornaments now are supported.
- Added i/o functionality for parangonada
- There is now an unpitched note class.
- Added unzipping for compressed musicxml files on import.
- Added unifying function for import of individual score formats as a
load_score
function. - Added score unfolding features.
Bug fixes
- Pianoroll starting with silence mismatch on pianoroll creation fixed.
- Fixed consistency of time signature map.
- Fixed pianoroll to note_array.
- Fix for unpitch musicxml elements.
- updated music analysis algorithm for Voice Separation based on Chew.
ensure_note_array
now works even with parts with different divs.
Other changes
- Logger is replaced by warnings.
- Add documentation
- Code cleanup
- Coverage support
- Unitesting running as a workflow