{"categories":[{"label":"File Formats","url":"https://skillfed.io/packages/category/file-formats"},{"label":"MIDI","url":"https://skillfed.io/packages/category/multimedia-sound-audio-midi"}],"enrichment":{"capability":"symusic parses and transforms MIDI and ABC files at note level with C++20-backed speed, exposing vectorized operations like pitch/velocity/time shifts and audio rendering through SoundFonts.","skillfed_tags":["music-processing","mir-toolkit","symbolic-music"],"use_cases":["Parse large MIDI datasets for MIR model training without the speed penalty of pure-Python libraries","Transpose, filter, or resample note sequences programmatically for data augmentation","Compute piano rolls and beat grids from MIDI for feature extraction in music analysis","Render MIDI to audio using built-in SoundFont synthesis for listening and validation","Convert between MIDI and ABC formats while preserving note-level structure"],"what_it_does":"symusic is a symbolic music toolkit that loads and manipulates MIDI and ABC files at the note level, with a C++20 core exposed to Python via nanobind. It handles common music information retrieval tasks\u2014parsing, time-unit conversion, beat/downbeat computation, piano roll generation, and vectorized transformations\u2014much faster than pure-Python alternatives. The package also includes audio synthesis via SoundFonts and efficient serialization through pickle and NumPy exports.\n\nYou use it when you need to work with symbolic music data in research or production pipelines: load a MIDI file, apply transformations like transposition or velocity shifts, compute analysis features, and export the result. It targets music information retrieval (MIR) workflows where speed and a clean note-level API matter more than GUI-based editing.","worth_installing":"Yes, if you work with symbolic music data and need fast, note-level MIDI/ABC parsing and transformation. The C++20 backend, active maintenance, MIT license, and zero known vulnerabilities make it a solid choice. Install friction is moderate (compiled dependencies) but pre-built wheels cover most platforms. The Alpha status means the API may shift, so pin the version in production."},"id":"symusic","links":{"html":"https://skillfed.io/packages/symusic","md":"https://skillfed.io/packages/symusic.md","pypi":"https://pypi.org/project/symusic/"},"maintenance":{"status":"active"},"meta":{"latest_release":"2026-04-08","license_spdx":null,"license_treatment":"permissive","name":"symusic","python_support":"supports_current","summary":"A high performance MIDI file parser with comprehensible interface."},"popularity":{"monthly_downloads":99479,"position":13018,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"0.6.0"}
