MOSS-Music-8B-Instruct β GGUF
GGUF conversion of OpenMOSS-Team/MOSS-Music-8B-Instruct for HOT-Step CPP, a fully local desktop app for AI music generation with a native C++/GGML engine. As far as we know this is the first GGUF conversion of this model.
Unlike everything else HOT-Step ships, this model analyses audio rather than generating it. It listens to a track and writes a caption describing what it hears β used in HOT-Step's Training Studio to caption your own dataset locally, with no API key and nothing leaving the machine.
These files are downloaded automatically by HOT-Step's Model Manager. They are not usable
with llama.cpp alone: moss-lm-*.gguf is structurally a Qwen3 GGUF, but captioning requires
the audio tower in moss-aud-f16.gguf and the deepstack injection wiring implemented in
HOT-Step's engine.
Files
| File | Component | Quants |
|---|---|---|
moss-lm-<quant>.gguf |
Language model (8B, Qwen3 arch) + full tokenizer | q8_0 Β· f16 |
moss-aud-f16.gguf |
Audio tower β 32-layer Whisper-style encoder, SwiGLU adapter, 3 deepstack mergers | f16 only β never quantised |
LICENSE |
Apache 2.0 (governs the weights) | β |
You need one moss-lm plus moss-aud-f16. q8_0 is the recommended default: half the
download, no audible difference in caption quality. f16 is the reference bar and is what the
parity fixtures were captured against.
The audio tower is f16 only, deliberately. Its adapter output runs roughly 770Γ hotter than the encoder's own activations (absmean 426 vs 0.554), and that output lands directly in the LM's input embeddings β so quantisation error there is not attenuated by anything downstream. At 1.6 GB it is not worth the risk.
Usage in HOT-Step
Training Studio β Enhance β caption provider "MOSS-Music 8B β local, hears the audio". One pass produces both caption formats the app consumes:
- the ACE-Step 1.5 sidecar block (
caption/genre/bpm/key/signature) - an MM3 Structured Caption written to
<stem>.mm3.txt
Both come off a single audio encode β the encoder is prompt-independent, so N caption formats cost one audio pass and N short decodes.
Two things HOT-Step deliberately does not take from MOSS: tempo and key. These are not merely biased, they are unstable β one encode decoded twice gave "120 BPM" in one format and "approximately 128" in the other, for a track that is 123. HOT-Step substitutes its own Essentia analysis for those fields and keeps everything MOSS actually heard.
Conversion provenance
Converted with HOT-Step's engine/tools/convert-moss.py
from the bf16 safetensors published by the OpenMOSS Team. The inv_timescales buffer is
skipped (non-persistent; recomputed in the graph). The implementation is parity-validated
against an fp32 CPU reference of the original PyTorch model at every module boundary:
| Stage | Correlation vs fp32 reference |
|---|---|
| log-mel frontend | 0.9999942 |
| encoder output + 3 deepstack taps | 0.9999962 β 1.0000000 |
| SwiGLU adapter + 3 mergers | 0.9999962 β 1.0000000 |
| final-position logits | 0.9999986 / 0.9999990 (argmax exact) |
| KV-cached decode vs fresh forward | 1.0000000 |
One conversion detail worth knowing if you build on this: the reference processor's
from_pretrained pops enable_time_marker with a default of False, while its own
__init__ signature defaults it True. The markers β elapsed-second digits interleaved into
the audio token stream every 2 s β are not optional; without them the model receives
out-of-distribution input and quality collapses in a way that looks like a bad conversion
rather than a bad prompt. HOT-Step always emits them.
Credits
All credit for the model belongs to the OpenMOSS Team. MOSS-Music-8B-Instruct is their work β the architecture, the training, and the decision to release it under Apache 2.0, which is what made it possible to ship local captioning in a free tool at all. Several proprietary or non-commercially-licensed captioners were evaluated alongside it and ruled out on licensing grounds; MOSS is here because the OpenMOSS Team chose a permissive licence. This repository contains nothing but a format conversion of their weights.
Thanks also to:
- MiniMax for MiniMax-Music3, the generation backend these captions feed. The MM3 Structured Caption format this model is prompted to produce is MiniMax's design β see scragnog/MiniMax-Music3-GGUF for the GGUF conversion of that model.
- ACE Studio / StepFun for ACE-Step, the model HOT-Step is built around.
- Pascal (ServeurpersoCom) for acestep.cpp, the C++/GGML port HOT-Step extends.
License
Apache 2.0, inherited from the base model, Β© the OpenMOSS Team. The conversion adds no additional restrictions.
- Downloads last month
- 70
8-bit
16-bit
Model tree for scragnog/MOSS-Music-8B-Instruct-GGUF
Base model
OpenMOSS-Team/MOSS-Music-8B-Instruct