Skip to content

Latest commit

 

History

History
57 lines (48 loc) · 1.89 KB

File metadata and controls

57 lines (48 loc) · 1.89 KB

muscriptor.cpp — Development

Port of muscriptor/muscriptor to ggml, scaffolded like uniflow.cpp.

Conquer table

Component Status Notes
Scaffold (CMake/Makefile/ggml) done Metal/CUDA flags
Vocab / notes done 1393-token MT3 layout
Events / OpenNoteTracker done tie prologue, drums, window
MT3 instruments / masking done forbidden_token_ids
MIDI SMF writer done type-1 multi-track
Sampling helpers done top-k/p, stratified
Mel STFT + log-mel done pocketfft, HTK fb
StreamingTransformer done sin PE, KV cache, GELU FFN
LM forward / generate done greedy, sample, beam, masks
Pipeline + CLI done 5 s chunks, prelude forcing
GGUF converter done convert/convert_muscriptor.py
Hermetic CTest suite done mirrors Python unit tests
Weight parity (greedy tokens) pending needs HF GGUF + dump_parity
Server / web UI deferred v1 out of scope

Tests

make test
# optional integration:
MUSCRIPTOR_GGUF=models/muscriptor-small-F16.gguf ctest -R integration --output-on-failure

Upstream Python mapping:

Python C++ CTest
test_notes.py test_notes
test_events.py test_events
test_midi.py test_midi
test_sampling.py test_sampling
(mt3 bits) test_mt3
test_conditioners.py test_conditioners
test_transformer.py test_transformer
test_prelude_forcing.py test_prelude_forcing
test_strict_instruments.py test_strict_instruments
test_transcription_model.py test_pipeline
test_integration.py test_integration (env-gated)

Layout

src/           core + CLI
convert/       safetensors → GGUF
tests/cpp/     CTest binaries
scripts/       download + parity dumps
third_party/   ggml, pocketfft