11 releases
0.4.0 | Nov 17, 2024 |
---|---|
0.3.10 | Nov 13, 2024 |
#787 in Parser implementations
448 downloads per month
Used in amm-sdk-netsblox
5MB
9K
SLoC
Contains (WOFF font, 4MB) assets/fonts/BravuraText.woff, (WOFF font, 335KB) assets/fonts/BravuraText.woff2, (Zip file, 40KB) examples/NewYorkStateOfMind.mxl, (Zip file, 11KB) examples/Hymn_to_Freedom.mxl
amm-sdk
Abstract Music Manipulation (AMM) SDK
Under heavy development - Updates forthcoming
Under Development
-
Finish
iter_timeslices()
to work with playback- Make
get_slices_for_playback()
: Create implicit slices for things like glissandos and mordents- Determines that fastest possible timeslice and use that as the time quantization level
- Can also select ranges of timeslices
- Make
-
Implement
get_pcm_samples()
onTimeslice
to create audio buffer for note + mods to use in direct playback -
Finish MIDI Reader Implementation
-
Make fully
no_std
compatible -
Create WASM build
-
Add a test containing Glissandos and/or multi-note tremolos and/or implicit + explicit tempo changes
-
Finish MusicXML Reader Implementation
- Take into account
time-only
attributes - Scan text attributes for common items (rall., etc.)
- Scan
sound
attributes for items maybe not recognized otherwise (rall., etc.)
- Take into account
-
Remove
pub(crate)
from Phrase and makeMultiVoice
okay with this -
Make composition timeslice iterator a real iterator (and check that staff timeslices line up correctly)
Dependencies
~10–14MB
~140K SLoC