Releases: salu133445/muspy
Releases · salu133445/muspy
MusPy v0.5.0
Release Notes
Changes
- Add
Beat
andBarline
classes - Add
Music.trim
andTrack.trim
methods - Add
Music.__delitem__
andTrack.__delitem__
methods - Add MuseScore supports for MSCX and MSCZ formats
- Enhance event representation module
- Use Zenodo link for MusicNet dataset (#70)
Changelog
MusPy v0.4.0
MusPy v0.4.0 Release Notes
Classes
- Add
strict
andcast
options toBase.from_dict
- Add
Base.fix_type
for fixing invalid types - Fix
Base.remove_duplicate
(#46) Base
class is now hashable with__hash__
implementedBase
class is now sortable with__lt__
and__gt__
implemented- Fix
Annotation
attributes and types (#44)
I/O Interfaces
- Add performance and REMI event representations (#63)
- Enhance MusicXML input (lyrics, grace notes, repeats, jumps)
- Enhance MIDI input interface (control change messages) (#43)
- Fix key signature reading issues in music21 input interface
- Fix low volume of synthesized audio (#60)
- Handle NumPy types in event representation interface (#48)
Datasets
- Add EMOPIA dataset (#64)
- Add MAESTRO V3 dataset
- Enhance
download_and_extract
(#34) - TensorFlow and PyTorch will now be imported only when they are called (#42)
- Support compressed files in MusicDataset (#59)
Beat Support
- Add
Beat
class - Add
Music.infer_beats
andmuspy.infer_beats
- Support beats in music21 input interface
Changelog
MusPy v0.3.0
MusPy v0.3.0 Release Notes
Classes
- Fix unintended print in
Base.adjust_time
(#14) - Add method
ComplexBase.extend
(#33) - Add argument
deepcopy
toBase.to_ordered_dict
(#33) - Implement
Base.__deepcopy__
to speed up deep copying (#33) - Implement
ComplexBase.__add__
andComplexBase.__iadd__
to support+
and+=
operators (#33) - Create deep copies in
Base.to_ordered_dict
by default (#33)
JSON/YAML Interfaces
- Add argument
compressed
toload
,load_json
,load_yaml
,save
,save_json
andsave_yaml
(#36, #39) - Rename argument
skip_none
toskip_missing
inBase.to_ordered_dict
,Base.pretty_str
,Base.print
,save_json
andsave_yaml
- Support file object in
load
,load_json
,load_yaml
,save
,save_json
andsave_yaml
(#39) - Use default flow style in YAML dumper
- Use UTF-8 by default in JSON/YAML interfaces
MIDI Interfaces
- Enhance MIDI I/O with pretty_midi backend (#41)
- Increment channel number for each track in
write_midi_mido
(#40) - Change argument
use_note_on_as_note_off
touse_note_off_message
inwrite_midi_mido
andto_mido
Datasets
- Add datasets
HaydnOp20Dataset
(#13) andMusicNetDataset
- Add argument
overwrite
toDataset.download
andDataset.download_and_extract
(#34) - Add argument
verbose
toDataset.save
,Dataset.download
,Dataset.extract
,Dataset.download_and_extract
,RemoteDataset.__init__
,FolderDataset.__init__
,RemoteFolderDataset.__init__
,RemoteMusicDataset.__init__
andRemoteABCFolderDataset.__init__
- Support sha256 hash check in
datasets.utils.download_url
- Support xz files in
datasets.utils.extract_archives
- Create dataset root if not exists (#16, #34)
Other changes
- Fix several bugs in event representation (#15, #21, #22, #23, #24, #25)
- Fix
Note.adjust_time
to adjust end time, not duration (#37) - Add functions
from_music21_part
,from_music21_score
andfrom_pypianoroll_track
- Support different key specifications in
outputs.music21.to_music21_key
- Support parsing velocities in Music21 input
read_abc
andread_abc_string
now return either a music object or a list of music objects
MusPy v0.2.0
- Fix key signature reading in
muspy.from_mido
(#5) - Fix time overflow issue in note representation (change default dtype from uint8 to int) (#8, #9)
- Fix music21 parsing in
muspy.inputs.music21.parse_key_signatures
andmuspy.inputs.music21.from_music21_part
(#10, #11, #12) - Fix several bugs in base class methods (
muspy.Base.to_ordered_dict
,muspy.Base.validate
,muspy.Base.validate_type
,muspy.Base.adjust_time
andmuspy.ComplexBase.remove_invalid
) - Rename argument
target
tokind
inmuspy.to_object
- Swap ordering of arguments
duration
andpitch
inmuspy.Note
andmuspy.Chord
- Swap ordering of features
duration
andpitch
in note representation (muspy.to_event_representation
andmuspy.from_event_representation
) - Add method
to_mido
tomuspy.Music
- Add argument
rounding
tomuspy.Music.adjust_resolution
- Add argument
dtype
tomuspy.to_event_representation
- Add argument
encode_velocity
to event representation (affectmuspy.to_event_representation
andmuspy.from_event_representation
) - Add argument
recursive
tomuspy.Base.validate
,muspy.Base.is_valid
,muspy.Base.validate_type
,muspy.Base.is_valid_type
andmuspy.Base.adjust_time
- Add argument
skip_none
tomuspy.Base.print
- Upgrade Pypianoroll version to 1.0.0
MusPy v0.1.0
- Fix name of
Chord.pitches_str
(#3, 536a877) and types ofMetadata.creators
andMusic.downbeats
(ed2ed1f) - Fix method
_validate()
ofTimeSignature
,Note
andChord
(3504be3, ed2ed1f) - Add wrapper functions
list_datasets()
andget_dataset()
for datasets (9aacae0) - Improve
Base
(121e718) andDataset
(2f24836) - Make velocity attributes optional in
Note
andChord
(3504be3) - Make ignore_exception in
Dataset.convert()
default to True (3504be3) - Update dataset information (67fc563) and their md5/sha256 checksums (5821827)
MusPy v0.0.0
First release!