Skip to page content
SAVRN
Search Plan a project

Open-weight model · Audio text to text

MOSS-Music-8B-Instruct-GGUF

by Scragnog scragnog/MOSS-Music-8B-Instruct-GGUF

MOSS-Music-8B-Instruct-GGUF is an open-weight model for audio text to text from Scragnog, released under Apache License 2.0. Its published files total 26.8 GB. It draws 1M downloads a month.

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.

Parameters—
Context—
Weights26.8 GB
Licenseapache-2.0
AccessOpen weights
Monthly Downloads1M

Model Card

By Scragnog, published under apache-2.0, revision 9fe86435bd54.

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…

Read Scragnog's full model card

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:

License

Apache 2.0, inherited from the base model, © the OpenMOSS Team. The conversion adds no additional restrictions.

Identity and Version

Repository
scragnog/MOSS-Music-8B-Instruct-GGUF
Publisher
Scragnog
Task
Audio text to text
Modality
Other
Library
Not stated by the source
Parameters
Not stated by the source
Languages
Not stated by the source
Revision
9fe86435bd542bf29cbf4984e9e0ab0ea8ca7e00
First published
2026-08-16
Last updated
2026-08-16

Files and Weights

6 files, 26.8 GB in total. The weights are 3 files totalling 26.8 GB in gguf.

Weights3 files · 26.8 GB
Documentation2 files · 16.9 KB
Repository1 file · 1.7 KB
Every file
FileTypeSizeSHA-256
moss-aud-f16.ggufWeights1.7 GB 014b971719a9
moss-lm-f16.ggufWeights16.4 GB 75d6f76d1e75
moss-lm-q8_0.ggufWeights8.7 GB 482e1e82c66f
LICENSEDocumentation11.4 KB —
README.mdDocumentation5.5 KB —
.gitattributesRepository1.7 KB —

License and Download

License
apache-2.0
Access
Open weights, no gate
Download size
26.8 GB
Download from Scragnog

Released by Scragnog through its official repository on Hugging Face. Read the license.

Built From

  • Derived from OpenMOSS-Team/MOSS-Music-8B-Instruct
  • Quantized from OpenMOSS-Team/MOSS-Music-8B-Instruct

Memory Requirements

PrecisionWeights in memory
As published26.8 GB

Weights only, from the published parameter count; the key-value cache and runtime add to this.

Questions About MOSS-Music-8B-Instruct-GGUF

Can I use MOSS-Music-8B-Instruct-GGUF commercially?

Yes. MOSS-Music-8B-Instruct-GGUF is released under Apache License 2.0. The Apache License 2.0 is a permissive open-source license. It permits commercial use, modification and redistribution. It requires keeping the license and copyright notices and any NOTICE file, stating significant changes, and it includes an express patent grant from contributors.

Similar Models

Model · Audio text to text

Aural-One-E2B

Paras Sharma

Native audio in, structured decisions out. Aural One adapts Gemma 4 E2B to score supplied choices from a recording, a written state, and named questions. One model handles the audio and the decision; its inference path does not require speech-to-text or a separate sound classifier. This v0.1.0 research preview publishes a frozen adapter and 54.3 million updated acoustic/projection weights. The pinned Gemma 4 E2B base is downloaded separately. The language model was frozen during this final training stage. These numbers have different test scopes. The full evaluation report covers the frozen reference, listener-vote cross-entropy and calibration, same-words contrasts, sound events…

Open weights apache-2.0 transformers

Model · Audio text to text

DuplexJev-32B-Stress

Adventists.ai

Paper: arXiv:2610.02638 · Code: github.com/adventists-ai/duplexjev · Research note: teaching a speech-decision LLM to hear stress DuplexJev-32B-Turn that also hears stress and pauses. "I didn't say she took the money" and "I didn't say she took the money" are the same words. This model can tell them apart: it answers which word is stressed, is any word stressed at all, and where the speaker pauses, in Mandarin and English. Spoken QA, gender, emotion and turn-taking stay at the 32B-Turn level. Same size, same serving stack, same prompt format as the other DuplexJev models. DuplexJev reads typed, closed-set decisions from speech as a single-token distribution of the LLM: zero decode steps…

Open weights cc-by-nc-4.0 vllm

Model · Audio text to text

DuplexJev-32B-Para

Adventists.ai

Paper: arXiv:2610.02638 · Code: github.com/adventists-ai/duplexjev · Research note: teaching a speech-decision LLM to hear stress The DuplexJev model that hears the most beyond the words. On top of everything DuplexJev-32B-Turn and DuplexJev-32B-Stress do (spoken QA, gender, emotion, turn-taking, stress and pauses), it also hears laughter, breathing, coughs and sighs, notices how someone is talking (whispering, shouting, very fast or slow), and can tell, roughly as a person would, whether two clips are the same speaker. Mandarin and English. DuplexJev reads typed, closed-set decisions from speech as a single-token distribution of the LLM: zero decode steps, many questions about the same…

Open weights cc-by-nc-4.0 vllm

A small DuplexJev connector: the Whisper-small encoder (frozen) feeds a frozen SmolLM3-3B, and every typed question is read as a single-token distribution over its options, with zero decode steps and many questions per forward pass. Trained with the same recipe as the Qwen3-32B connectors released with the paper. The connector was trained with SmolLM3's no-think format (an empty block before the answer). The tokenizer in this repository carries that chat template; SmolLM3's default template adds a long system prompt with today's date and would not match. Leaderboard scores (see the GitHub README): main language (mean of qa100, ZJU-ML, Easy-Turn) 37.4, paralinguistics (mean of gender…

Open weights apache-2.0 29M parameters transformers

A small DuplexJev connector: the Whisper-small encoder (frozen) feeds a frozen Qwen3-4B-2507, and every typed question is read as a single-token distribution over its options, with zero decode steps and many questions per forward pass. Trained with the same recipe as the Qwen3-32B connectors released with the paper. Leaderboard scores (see the GitHub README): main language (mean of qa100, ZJU-ML, Easy-Turn) 53.5, paralinguistics (mean of gender, emotion) 43.0. Paper protocol: the evaluation prompts of the paper (single option order, one H200). duplexjev defaults: the package's own prompts with lang matched to the clip. Spoken QA with a small LLM is bounded by the LLM itself (see the…

Open weights apache-2.0 30M parameters transformers

Model · Audio text to text

MOSS-Transcribe-Diarize-HF

Ita Zaporozhets

MOSS-Transcribe-Diarize 0.9B is an end-to-end audio understanding model for long-form multi-speaker transcription, diarization, timestamps, and acoustic event awareness. It supports transcription and diarization across 50+ languages, single-pass inference on audio recordings up to 90 minutes long, and custom hotword prompting for domain-specific terms. Given an audio or video file, the model generates a compact speaker-aware transcript in one pass, including timestamps and anonymous speaker labels such as [S01], [S02], and beyond. 2026-07-22: The subtitle Web UI now supports both Simplified Chinese and English. 2026-07-14: MOSS-Transcribe-Diarize won first place in the 2nd MLC-SLM Challenge…

Open weights apache-2.0 909M parameters 131,072 tokens transformers