Replies: 3 comments
-
Thanx so much, Danlu! This is a very useful and practical mini-list. Thank you. |
Beta Was this translation helpful? Give feedback.
-
Magenta has recently extracted the core symbolic music library into a new package I have been using it a lot and basically it's like |
Beta Was this translation helpful? Give feedback.
-
Yes, thank you so much @cifkao for the Magenta repo link. It is very useful and helpful. But tbh I personally do not like Google or their products atm so I am not sure if I will use it but it works great as a reference and ideas source. |
Beta Was this translation helpful? Give feedback.
-
mirdata: a package for MIR dataset download & management
http://archives.ismir.net/ismir2019/paper/000009.pdf
mir_eval: a package for MIR (audio & symbolic) task evaluation
https://craffel.github.io/mir_eval/ (Already in the reference page)
jams: a universal format for MIR annotation, also contains a python package for I/O
https://nyuscholars.nyu.edu/en/publications/jams-a-json-annotated-music-specication-for-reproducible-mir-rese
music21: a symbolic (midi & sheet) music format converter & processor (ABC, xml, midi, etc.), with a hierarchy-based core representation:
https://web.mit.edu/music21/ (Already in the reference page)
pypianoroll: https://salu133445.github.io/pypianoroll/
magenta's codebase
I ran through the Magenta code yesterday, and it seems that they are doing something similar to what we are looking for. They use protobuf as the core serialization format, and designed the prototype based on MIDI. It's faster and smaller than JSON and XML, but it's not human-readable and requires a
.proto
file that describes the data (similar tostruct
in C). They have implemented most of the conversions utilities from and to different formats, including MIDI, MusicXML and pianorolls. But, as we all know, it's super hard to understand their codebase at the first sight. For me, there are three drawbacks:Also some audio-oriented music packages, maybe not so relevant:
madmom: an audio ML-based music processor
https://github.com/CPJKU/madmom
librosa: a very popular music signal processing package
https://librosa.github.io/librosa/ (Already in the reference page)
sonic visualiser: a software (not package) for audio annotation, dataset exploration, visualization, sonification.
https://www.sonicvisualiser.org/
torchaudio: deep-learning-oriented package for general audio loading & preprocessing. similar to tf.signal. Other similar packages exist, e.g., nnAudio.
https://github.com/pytorch/audio
Beta Was this translation helpful? Give feedback.
All reactions