Symusic

Latest version: v0.5.6

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

Scan your dependencies

Page 6 of 6

0.1.3

* Add support for `Pedal` Yikai-Liao
* Fix `pathlib.Path` parsing error when loading midi form file.
* Thanks for all the help on code writing and github actions furnished by lzqlzzq
* remove redundant debug information about `PitchBend` mentioned by Natooz
* There is a known error: number of parsed `control change` events is different from that in `miditoolkit`.

0.1.2

* Support `key` and `reverse` parameters for sort functions (required by Natooz)
* Use factory classes (defined in python) to dispatch all containers like `Score` and `Note` instead of methods with overloads in c++
* use `ttype`, short for time unit type, as the name for the original `time_unit` argument (similar to `dtype` in `numpy`)
* use `str` or `Score.Timeunit.tick`, `Score.Timeunit.quarter`, `Score.Timeunit.second` as valid `ttype`

0.1.1

Change Points:

* Fix the duration decoding problems (find by Natooz)
* Add some missed bindings like `Track.program` and `Track.is_drum`
* change `Note.end()` from a function back to a property `Note.end`, and maintain the `Note.end_time()` funciton
* generate new stubs (the pyi files)
* change `score.typing` to `score.unit`
* `sort` and `sort_inplace` function have been added to each list type(without key argument support currently)

There are still lots of work to do, and the `interface is still not stable`.

Thanks to all for their support and encouragement

0.1.0

Refactored all the code using template to support different time unit : Tick, Quarter, Second( not implemented yet)

I put all this template class in symusic.core and for convenience, we define some functions in symusic with multiple overloads for object creating, Like `symusic.Note`

Now, you can create object by adding time_unit, like `Note(1,1,1,1, "quarter")` or `Note(1,1,1,1, symusic.typing.Tick)`

Note that, although it looks like a duck type, there are still some different:
1. `Note` is a function, but not a class
2. The created object will belong to a class like `symusic.core.NoteTick`
3. `Note` in different class (like `NoteTick` and `NoteQuarter`) can not be directly converted (we'll design a converting system in the future)

v0.0.6-fix
optimize midi parsing performance

1. small vector optimization
2. reserve space based on byte num

0.0.5

0.0.2

Page 6 of 6

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.