A high performance MIDI file parser with comprehensible interface.
Project description
symusic
Symusic("Sybolic Music") is a cross-platform note level
midi decoding library with lightening speed, which is hundreds of times faster (100x to 1000x depending on your file size) than mido, the main midi parsing library in python.
The library is written in cpp and based on minimidi. It offers a python binding using pybind11.
Here, we have added a tutorial.ipynb for you to learn about how to use the library.
And a document is also available. Not complete though.
Features
- You can just read a midi file like
score = symusic.Score("path to midi", ttype="tick")
- Writing back to midi is now supported!
score.dump_midi("path")
- Multiple
time unit (ttype)
is now supported (currentlytick
andquarter
) - The tempo attribute in the tempo event represents quarter per minute (qpm)
- We offer some batch operation functions for both
Score
andTrack
class:- shift_pitch(offset: int)
- shift_velocity(offset: int)
- shift_time(offset: float)
- sort(key, reverse)
- You can operate each note just like you did before in python (like PrettyMidi)
- Extremely fast
pickle
is now supported .numpy()
method for getting SoA data.filter(func, inplace)
method for filtering objets in all the "List" in symusic- A new synthesizer is now available! It comes from our another project prestosynth. Find usages in our document. Note that we will support more features of soundfont for sythesizing in the future.
Installation
Use pre-compiled version
pip install symusic
Build from source
Make sure that your system has cmake and c++ compilers
git clone --recursive https://github.com/Yikai-Liao/symusic
pip install ./symusic
Benchmark
Parsing MIDI
- test using mahler.mid from minimidi/example on my laptop (i7-10875H, 32GB 2666MHz DDR4 RAM, Linux 6.1.69-1-lts)
- Note that mahler.mid is quite a large midi file. So this benchmark mainly relects the
parsing time
(the percentage of time of loading file gets more significant when file is smaller) midifile
is writen in cpp, and could parse midi files to bothevent level
andnote level
. It is slow mostly becuase ofiostream
.mido
is writen in pure python, and only parses midi files toevent level
pretty_midi
andmiditoolkit
is based onmido
, and parse midi files tonote level
- For libraries written in python or with python bindings, we use
timeit
to measure the time cost of parsing the midi file.nanobench
for cpp libraries andBenchmarkTools
for julia libraries.
library | level | absolute time | relative time |
---|---|---|---|
minimidi | event | 2.86 ms | 1.0x |
symusic | note | 3.47 ms ± 113 µs | 1.2x |
midifile | event | 44.0 ms | 15.4x |
midifile | note | 45.6 ms | 15.9x |
MIDI.jl | note | 109.707 ms | 38.4x |
mido | event | 2.92 s ± 42.7 ms | 1021.0x |
miditoolkit | note | 3.15 s ± 38.2 ms | 1101.4x |
pretty_midi | note | 3.16 s ± 9.56 ms | 1104.9x |
music21 | note | 4.23 s ± 34.5 ms | 1479.0x |
Acknowledgement
- minimidi : A fast and lightweight midi parsing library written in cpp, which is the foundation of this project.
- prestosynth : A new fast soundfont synthesizer written in cpp, which is the foundation of the synthesizer in this project.
- nanobind : A efficient and lightweight library for binding C++ to Python, which is significantly faster than pybind11.
- zpp_bits : An extraordinary fast and lightweight single header library for serialization and deserialization. I use it to support pickle.
- geek_time_cpp The example code of the book "Modern C++ Programming Practice". We use the metamacro.h in it for shortening the code.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
symusic-0.4.0.tar.gz
(13.5 MB
view hashes)
Built Distributions
Close
Hashes for symusic-0.4.0-pp39-pypy39_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ac5713f66dacf3709a1530fa0c1cb37825069d651d348f6bcc27a9414b1f1ce1 |
|
MD5 | 03b8ad294dfe1bc79a4a79586bcf4ebc |
|
BLAKE2b-256 | ae04253a437a28e714a0d7d2edb2a115bc5d3a3cabf70a64f15c8cc0d0e70d7e |
Close
Hashes for symusic-0.4.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.manylinux_2_27_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7c37db5c1e946aa91ccae6462bfd3df71f56a0ffef86fdc41a32a1530ec0b592 |
|
MD5 | c43f0d92273c5ce4576e29cd4732ce6e |
|
BLAKE2b-256 | 5fbcac6b1b45164b43d3eed0442c56373d17f38fe5ffa5ea3aa1e64131db6731 |
Close
Hashes for symusic-0.4.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.manylinux_2_27_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8a9e131360082975e9ac267f8482e474196ec4c87b4bf94b535b790202ee3453 |
|
MD5 | 8cab292a56cd94d08cb6daa6bfb491c6 |
|
BLAKE2b-256 | 2bae1995045cb94dab0db6416c26fc37cd9c5bce336287b9d95dd0682b9afe14 |
Close
Hashes for symusic-0.4.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b8a931674800404ff29876fdd2f66a68e9fe6a26af580a62300ad86d0f68502c |
|
MD5 | 57c3617e7e107dcf0cc79b3757b19e0c |
|
BLAKE2b-256 | 5bfb01bf024abeb0f9fe2170a29e13bd4cf308b1366dc709842b6a778fc8d7ab |
Close
Hashes for symusic-0.4.0-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 55b9311f40ee209321616fc7056008d1fc2ebe6e5e8903104ac63e4eedb47116 |
|
MD5 | b1c76fd0f63d77f9f52ca20141bc4ff6 |
|
BLAKE2b-256 | a31ecf1c81c0b6dd8d34f6bd9942f6bcd0e2ea88c6aa01928f51dff6f2289c71 |
Close
Hashes for symusic-0.4.0-cp312-cp312-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 53002a66b39713df9c7b3b45f389c54c8db8011d51a1a544225baa586ee0c757 |
|
MD5 | 2a6b6935d4c9ea487be303645c90f591 |
|
BLAKE2b-256 | 3ff92f65df7a50126fb92e68536d51e6e53fedce62893d23b56cd1799edb8e92 |
Close
Hashes for symusic-0.4.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 490fd1afb410f2b134dde99b2a9356e861fd67a1c31f61f0927e5a4ce5a8f06c |
|
MD5 | a839cd49843340e396ff45bf40c8a8e3 |
|
BLAKE2b-256 | 49588fa0c5102dd1ae06de6d32ffa017e3ce73a6e87a28fe733e5cd6b65214a1 |
Close
Hashes for symusic-0.4.0-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cadbf736ded5c9e65aef1483b3d29aea280635cbe9b24245ee99bdc484bd0645 |
|
MD5 | f58aaa68e1ac297ad2a2ec4b71d1299d |
|
BLAKE2b-256 | 0fd202562d4a665bc5773dc6cb7df67502f17838c0fbc98064941c11a166c36b |
Close
Hashes for symusic-0.4.0-cp312-cp312-manylinux_2_28_x86_64.manylinux_2_27_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 628d4722322337cf925c4518ef9b3ae10c0fa1443063a63bdfc3b6e8f923b868 |
|
MD5 | 1b48e6c6b20078d12710da33781ab9dd |
|
BLAKE2b-256 | f97eedf4d32eb39c658119026e42290acfdcba77294d321c0040b14150fcbc7c |
Close
Hashes for symusic-0.4.0-cp312-cp312-manylinux_2_28_aarch64.manylinux_2_27_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0bb9664ef98ed525aa27f853209a359a18e16a11177b4191282707af3bb94fe5 |
|
MD5 | ff9f41598ebd76e8a89945c96e4acea1 |
|
BLAKE2b-256 | b4af2a96988890d1310aa6f8d725462e85a3fc844bb57de8f8acdf01369c0141 |
Close
Hashes for symusic-0.4.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 06dd6e102b9280494f34187a9f413840a737a2080838863df8948d1e580145c1 |
|
MD5 | 0e941cf94a900e8a49a25ae5b54fdf6f |
|
BLAKE2b-256 | b71ee67e0cacdc55262c1f207a0ace58ba27ebc2c704a0903d5f0e323b7f7537 |
Close
Hashes for symusic-0.4.0-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb2c4f513a47508341269766624f065655faaabf84bb9e01c15f39d909fec4fa |
|
MD5 | 6f435bd09922bd14adad36427ba657ea |
|
BLAKE2b-256 | 466074af1cf330e9af162a1589a752b8df5328de864c6674c797727bba6178fe |
Close
Hashes for symusic-0.4.0-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a45b53d242d310f4f64f48ef115f3aa56e8e0ddcc8e14445a825629c5df9618c |
|
MD5 | 9f4f8f774781486301bbbe4e749a9505 |
|
BLAKE2b-256 | 955ff22208b406ca894dd9a5be05283bc334dd5bb70c68c7e78bc1686fb8f253 |
Close
Hashes for symusic-0.4.0-cp311-cp311-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 882bb6b48b0933e98b5369126c3cbf1ae9ac989deaf8bcebb9b683d90e749edc |
|
MD5 | 2d42a97e0b34fe4de4826aa4884e1200 |
|
BLAKE2b-256 | e4ee984bf8f00d4847fd376757dd9d71fb50420a67e46d961ee3d6e4a594fb59 |
Close
Hashes for symusic-0.4.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7d9b1040d043ea4ed9e88c5f68c330759a8188bcfe1fbea55b5a17a162212a59 |
|
MD5 | e032ff5ae974b7a8225e825f5768afc7 |
|
BLAKE2b-256 | 766f8efe089605f07bdd3e5203a79f4d3d8061dbc2a867007d39fb8085de64da |
Close
Hashes for symusic-0.4.0-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 46d9c25c7865f612835cf72e319405e7af60952f5d46d425f771b89e7e208be4 |
|
MD5 | 4cb12ff50aaa380420634a39a0ef8350 |
|
BLAKE2b-256 | b8109b83b6f3682a68a83ac9ca93ddf963e88ce101a462982c83ae0cf25947f4 |
Close
Hashes for symusic-0.4.0-cp311-cp311-manylinux_2_28_x86_64.manylinux_2_27_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5b51c025559e7e2475ac5a81d8dec21738fcc58c449fa18dd2e13587c6e4ac68 |
|
MD5 | a53ef7a36885c5be6caa77f88210b664 |
|
BLAKE2b-256 | 9c22784deb67de2e8742274cf92a935a0a6230175fc5c5f4e736a47bb77fa4c2 |
Close
Hashes for symusic-0.4.0-cp311-cp311-manylinux_2_28_aarch64.manylinux_2_27_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 88a2d4590cdb6fda8b3b9c6de96a45bbe12907bb791e07da5414d4fa2050d8f7 |
|
MD5 | a19f5aa17c21a61d89776a26f4913234 |
|
BLAKE2b-256 | e46d8bd1776fc405d762fafb0bca2f5af7b243d345822fc4986b9f2893a204de |
Close
Hashes for symusic-0.4.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1b51e179ceecd656010eaed8af77c43819a1f400502bedd6b1939f2d1a1b2c78 |
|
MD5 | 54b45ac957ed250546971b3ce9df948c |
|
BLAKE2b-256 | a29d8c93443448ae8c243c922df43d05b39d68673e273335b3893d8d44dbdba7 |
Close
Hashes for symusic-0.4.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c2283010cba17d98ddb4058a42d6f513dc5393ac3c3cdb444861c3e8433dcb65 |
|
MD5 | 083ad61459e157a7467f45ca4669245c |
|
BLAKE2b-256 | 05c196c542b76bd0625eb7091c35ac811b0cc9b95e46d412f719b21505042830 |
Close
Hashes for symusic-0.4.0-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4808e1b90429b5dd7ca4f2ebfbed8b0f352015fcdcd302a16e8dbe3456ccf50e |
|
MD5 | 7a38f1fa3efcac6153d363edc0b2db99 |
|
BLAKE2b-256 | 607a850fd8e9902540fc076d7407710c0ca59d9b371cdb4bb46454d8ee3c4c49 |
Close
Hashes for symusic-0.4.0-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 53b6f3408298c0d02a9a077568d76c9bd51a1e0665718a6dd5ef11ff11884430 |
|
MD5 | 132dfd034cf62fbb33c8089d83b1e8e0 |
|
BLAKE2b-256 | d73d1f5f809e640cb10e1043efe108eea2a0fc41a04b781b1107541f449a551c |
Close
Hashes for symusic-0.4.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0fd87b670d52d1a5619cf452c6ecb628c0d7956ecd7008344c8b5dcbbf6b930d |
|
MD5 | ff04f811753ac58cac549b8bc9f088d7 |
|
BLAKE2b-256 | 46ae1ec94a7bf3f0eb9cfd2b0b8b2ffed9ef5af358a8060ecf3dc3284f77fb35 |
Close
Hashes for symusic-0.4.0-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 33dff528348237bb3fc5ac820553179f7f42a16f8307bb26433218dbb22ae921 |
|
MD5 | 751308b8fca2545b6f799403deb7d40d |
|
BLAKE2b-256 | f4a55eaa380cd6e89c85bfcde41fb570fa45e4d8381214d0656cf9f0f81e6176 |
Close
Hashes for symusic-0.4.0-cp310-cp310-manylinux_2_28_x86_64.manylinux_2_27_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d016f2c961c6fbe779d8889182db4c90ed78db4c2fa08c7fcbacfea8416c7b75 |
|
MD5 | 71b756a1ae281a23bfaa499bb0052135 |
|
BLAKE2b-256 | 0009f359a77c82fe0db027bcbc9c5641fa358865501fb74698b8e598a838b681 |
Close
Hashes for symusic-0.4.0-cp310-cp310-manylinux_2_28_aarch64.manylinux_2_27_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a549fbe12d6febf528ec17b4eb62a30f2c89efb5cec16aa72f6ef99b98e0feba |
|
MD5 | 7ab2fc7731678abacb905f28c54d301d |
|
BLAKE2b-256 | dfa52799e64d2047b28646587f43b66766855d82821b8539343eff95b2cd6dfb |
Close
Hashes for symusic-0.4.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e0e179ed721ef3a558a68d05af8b9c60ff77424a54dc1068c2ff14c6c00a0674 |
|
MD5 | 4b79611f1199c9c19c84f6e7e168a0a0 |
|
BLAKE2b-256 | 6d41b020349cb25d9935e68b825cd28661e0a12d20233328e8c4a196b2b7d6ce |
Close
Hashes for symusic-0.4.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4f26ea039585565bf1419da4f879202b558ce04173ea631d69e2fb84703233eb |
|
MD5 | 68021a38af309364fe2456a815ca37cb |
|
BLAKE2b-256 | 6363e45739c7df3384abe788bfb39e46ed74bfff3451d5fee3816809af4d95a4 |
Close
Hashes for symusic-0.4.0-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9aebc25b8c52b7aedd8a5e470ddf6f70d29b332f4cda669dc29adededa45afa7 |
|
MD5 | b92a150aeace377cf36646b2f0645382 |
|
BLAKE2b-256 | 7862c51e70865d784ca7e21b2959666d5bf54ceebef9fbe27ed82c281959c23b |
Close
Hashes for symusic-0.4.0-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cf889d683e1b26f74b290bf5c14f49a560622dc07bb07a87849dee6834c85c53 |
|
MD5 | 5c11bc36cec5a15fd528bf0c00f50792 |
|
BLAKE2b-256 | 3b536a10fdfd436d6460a37a0342e7ba15eb1c6a151c6a07eda36bb34719c85a |
Close
Hashes for symusic-0.4.0-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 11c55c704a31eabf6097da6e06ac7b9efc18c5db6a05a590b80c3eb0b1a7c123 |
|
MD5 | c78893a6ede3737a89fa94e96caf7367 |
|
BLAKE2b-256 | d88cdd49a6669114544777be7f5c6e1cf74f36773c9402ed54435786e2356bca |
Close
Hashes for symusic-0.4.0-cp39-cp39-musllinux_1_2_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 61318b5f0af27d446fdca6bfa0bd2ec143cbf86e298f3f2ea2bf08a0663bfafe |
|
MD5 | 5e4babf51fff7edef2a708e5bba632db |
|
BLAKE2b-256 | ba4e3e3cf00af76601a7cc6a57e53b328f5f068aaea0fed54623e18b3fcd9788 |
Close
Hashes for symusic-0.4.0-cp39-cp39-manylinux_2_28_x86_64.manylinux_2_27_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c65dc462576fc86c812b2ea9d97c9f3b036a60b7760b4e894bb49c594ecbb05e |
|
MD5 | b308f0f60fa05359030c992090aa9503 |
|
BLAKE2b-256 | 0135db62239af018420398dad2cefa41c3484b2850fe3bab6fccc1df0afdccfb |
Close
Hashes for symusic-0.4.0-cp39-cp39-manylinux_2_28_aarch64.manylinux_2_27_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f158c45275318de01e817b124044640aa16bf143708aa78c2d269ef9490f4828 |
|
MD5 | 3dde96564c693b4c8d147c1598f68e56 |
|
BLAKE2b-256 | 97bab70d0ee41071ce8b5e40fee7ea92dd42c7b2472d94e591ab3308c4d2a2a0 |
Close
Hashes for symusic-0.4.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f4e803ce95f57802694d85220bc1883cbc972b21b86dd4384d3f92c31bf138a5 |
|
MD5 | 6fa15d584305e817c87ebde8b23605ae |
|
BLAKE2b-256 | b4a80724fc7dabcb634faf28e8c551f31ea641b29d3e82e7cb993a564227f9b3 |
Close
Hashes for symusic-0.4.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | af471525c8d855432f9c2e15c3bf43f720df1cab32586e62cccafcb7104a14a5 |
|
MD5 | 1d173f56d87aa82cad74cfcd1a6ddf6f |
|
BLAKE2b-256 | 84d7c14ad300a3e03d7e7cac70d22118e6d075c32c4a37725a92ef4548252cd0 |
Close
Hashes for symusic-0.4.0-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 70fe1689f5238a4c05a0aee4a6be0ba503aa1ac324d5fb46f4bef0339fdd2b51 |
|
MD5 | 9c358b6620b00e9a13d850866d148303 |
|
BLAKE2b-256 | ec1d94d75600788a81141897e8d99aad8e6ce2045cbf2097bc39acc0b98438f7 |
Close
Hashes for symusic-0.4.0-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d86e3964757f55aff758eb77a4b475002d4f8f02b319b9aed3e9dbc937f67277 |
|
MD5 | 95a35651b3b7e187dd5ae8e0d64888f1 |
|
BLAKE2b-256 | 70c87c734d4aceac4af98db0e033a0dcc11b5f131cac2719751d39eee638ceca |
Close
Hashes for symusic-0.4.0-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d3f787d503c15971b3c129dcc42c4b5f4f9f4c9c5d8728243ff66ae42ec4c8bf |
|
MD5 | 45b00b993b17bf127e633b5adf386c9e |
|
BLAKE2b-256 | efb0a7b99a33655a5873a58bbd37e63f13f3d4deae0ff2c0c4092e791150e478 |
Close
Hashes for symusic-0.4.0-cp38-cp38-musllinux_1_2_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f0bf0929f8a406e6a540c7a5389d9770ec4ba1dfaab94330b02f6c24e1e772f |
|
MD5 | ae0ea7c79d40381d69a451a4f917ae52 |
|
BLAKE2b-256 | 34a6e58d2dd2fac10bfd229dd7a0151ea3fb6ef6571fd9c5e9edcc77e12233dc |
Close
Hashes for symusic-0.4.0-cp38-cp38-manylinux_2_28_x86_64.manylinux_2_27_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1ceb2002f7970e5b94c5ea6f1496e89fb77d11be2f8f5144dde27c4b73f486fd |
|
MD5 | 878f5ffba48d14125f14f24fd5164b4a |
|
BLAKE2b-256 | 03f5ed2eb45efea60f67234f8006b29318240c7f1c42569df3cb92a8d2f6b50b |
Close
Hashes for symusic-0.4.0-cp38-cp38-manylinux_2_28_aarch64.manylinux_2_27_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f0e9bad501472791999cb165e9bef154453038dae4982528b51ae1f33f40f501 |
|
MD5 | 837332ff4ed4c845c0e79f2136580ee8 |
|
BLAKE2b-256 | 1da874d515dae6f524219b1f8ef458fa597fe40aee316f13c11b6631d00fd4e4 |
Close
Hashes for symusic-0.4.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e10982059887239601d1ade117d5ae6df51fbba2409410dea1dfdf1f0846498 |
|
MD5 | 0becd07ba0a6cb3d6f762c11aaf5d420 |
|
BLAKE2b-256 | 4910ee1fb77c038ab9f94e855dafd125a97cab3cd32161fe1e73e8960ef5880e |
Close
Hashes for symusic-0.4.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 838f6c3ddda9c393dfb0cb21a84bd07663733f251c8df1c39fbf9b0bebc89a63 |
|
MD5 | d936c080ba3a1bb1bb3748b1bfe0502a |
|
BLAKE2b-256 | 7750456386ce2292d4aa0725c62a1cb4c50d905dfe7ea41ec9e3360a0af5d328 |