Symusic

Latest version: v0.5.6

Safety actively analyzes 701507 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 5 of 6

0.2.4

* Fix empty score dump error 15
* Change the default sort key of note and pedal. Natooz/MidiTok116
* (time, pitch, duration) for note
* (time, duration) for pedal
* Sort note and pedal while parsing midi files, suggested [here](https://github.com/Natooz/MidiTok/pull/116#issuecomment-1869666791)

v0.2.3-fix
* Fix `TempoFactory.__call__`, users now can create `Tempo` by `qpm` or `mspq` 14
* Add `resample(self, tpq: int, min_dur: int)` for `Score`. Now it is still a naive version, which rounds start and duration directly. 14 10

0.2.2

read dump test` is now passed!

* Fix note order error in dump operation 13 Natooz Yikai-Liao lzqlzzq
* Fix tempo precession loss issue 13 Natooz Yikai-Liao
* Using `pyporject.toml` instead of `setup.py` 12 lzqlzzq
* Add python test scripts and corresponding ci config 6 11 Natooz

0.2.1

Add `end` property for Pedal requested by Natooz

v0.2.0-fix
* Writing back to midi files is now supported! (haven't been tested in various cases) lzqlzzq Yikai-Liao
* Convertion between different time unit by `Score(s, ttype='tick')` or `s.to('quarter')` Yikai-Liao
* Add property `degree` for `KeySignature`, which gives you a miditoolkit and pretty_midi style keysignature lzqlzzq

0.1.7

* Almost all the known parsing bugs (reported by Natooz ) are fixed in this version! Yikai-Liao

* `TrackFactory` now support more arguments! Yikai-Liao

* `Pianoroll` part is still under development lzqlzzq

0.1.6

* support `isintance` operation for factory instance Yikai-Liao Natooz
* support `==` and `!=` operator Yikai-Liao Natooz
* add Linux aarch64 (arm64) precompiled files lzqlzzq
python
from symusic import Note
isinstance(Note(1,1,1,1), Note) True
Note(1,1,1,1) == Note(1,1,1,1) True
Note(1,1,1,1) != Note(2,2,2,2) True


v0.1.5-fix
Make All objects in symusic pickable

* Add c++20 in github actions workflow lzqlzzq
* Add using `zpp_bits` as pickle backend Yikai-Liao
* pickle for symusic is now 10 times faster than loading from raw midi files
* Just use pickle for `multi-processing` and `cache`. Don't use pickle to store midi for a long time, the format might be changed in the future
* There is still a redundant copy in pickle serialization process, may try py::buffer_info to achieve zero_copy
* add tpq construtor in `ScoreFactory` Yikai-Liao
* add `PedalFactory` Natooz
* add `ttype` readonly property for all classes Yikai-Liao

0.1.4

* Add `inplace` argument to most batch operations, like `sort` and `shit_time`, suggested by Natooz
* remove old interface like `sort_inplace`

Page 5 of 6

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.