alt.freeweights.text / moss-audio-sfx-lora-v4
From: laion <huggingface.co/laion>Newsgroups: alt.freeweights.textSubject:

moss-audio-sfx-lora-v4

Date: 2026-11-15Commit: 48a25ccSigned: 2DC28CC7B26A283B ✓

Audio classification model. Safetensors weights, 699 MB in all. Published by laion under Apache-2.0.

text699MBmoss-audio-sfx-lora-v4safetensorspermissive
FactsParamsnot statedSize699 MBFormatssafetensorsTaskaudio classificationLicenseApache-2.0From sourcepermissive
$ fw get laion/moss-audio-sfx-lora-v4
# manifest sha256 ead1493453d4… · 699 MB · 8 files
$ fw verify ./moss-audio-sfx-lora-v4 laion/moss-audio-sfx-lora-v4
From sourceHosted (signed)laion/moss-audio-sfx-lora-v4Last check: 2026-11-15 05:29 UTC

Get help: custom fine-tune or private deploy. We review your setup before we quote.

Adapter of MOSS-Audio-8B-Instruct.

Works with

Runs with

Ranked by fit to this model (safetensors), then by GitHub stars.

Overview

Size
699 MB
Weights
698 MB (safetensors)
Parameters
not stated
Formats
safetensors
Task
audio classification
License
Apache-2.0 (permissive)
Files
8, each with a sha256
Publisher
laion
Added
2026-11-15
Section
alt.freeweights.text
Lineage

Original release from the publisher.

Base model: OpenMOSS-Team/MOSS-Audio-8B-Instruct

Where these bytes come from
Publisher at the pinned commit→You

Sources are tried in order. A file counts only when its size and sha256 match the manifest. Sources are checked when you ask for them, not on a timer.

Sources
BadgeHostLast checkResult
From sourcehuggingface.co2026-11-15 05:29 UTCpassed

Model card

From the publisher at commit 48a25cc. Shown as plain text with links; images open at the publisher.

MOSS-Audio SFX LoRA v4#

LoRA adapter for sound event detection with timestamps, fine-tuned on top of OpenMOSS-Team/MOSS-Audio-8B-Instruct.

Given an audio file, the model predicts a JSON list of sound events with start_time, end_time, and caption.

Model Details#

ParameterValue
Base modelOpenMOSS-Team/MOSS-Audio-8B-Instruct
LoRA rank128
LoRA alpha256
Target modulesAll LM linear layers (q/k/v/o/up/gate/down_proj)
Training samples10,998 unique soundscapes
Epochs2
Best checkpointStep 2750 (epoch 2)
Eval loss2.76
Adapter size667 MB
Training hardware8x A100 80GB (DeepSpeed ZeRO-2)
PEFT version0.18.0

Training Data#

Trained on laion/in-the-wild-soundscapes-gemini2.5-pro — 10,998 real-world soundscape recordings annotated by Gemini 2.5 Pro with timestamped sound event captions.

Each training sample consists of:

  • Audio: Real-world soundscape (resampled to 16 kHz)
  • Prompt: "Please describe all audio events in this audio together with start time, end time, and caption for {medium/short} segments that are {overlapping/not overlapping}."
  • Target: JSON array of {"caption": "...", "start_time": float, "end_time": float}

Quick Start#

Inference#
import torch
from peft import PeftModel

# You need the MOSS-Audio source code:
# git clone https://github.com/OpenMOSS/MOSS-Audio
import sys; sys.path.insert(0, "MOSS-Audio")
from src.modeling_moss_audio import MossAudioModel
from src.processing_moss_audio import MossAudioProcessor
from src.audio_io import load_audio

BASE_MODEL = "OpenMOSS-Team/MOSS-Audio-8B-Instruct"
LORA_REPO = "laion/moss-audio-sfx-lora-v4"

# Load base model + LoRA
processor = MossAudioProcessor.from_pretrained(BASE_MODEL, trust_remote_code=True)
model = MossAudioModel.from_pretrained(
    BASE_MODEL, trust_remote_code=True,
    dtype=torch.bfloat16, device_map="cuda:0",
)
model = PeftModel.from_pretrained(model, LORA_REPO)
model = model.merge_and_unload()
model.eval()

# Run inference
prompt = "Please describe all audio events in this audio together with start time, end time, and caption for medium segments that are overlapping."
audio = load_audio("your_audio.wav", sample_rate=processor.config.mel_sr)

inputs = processor(text=prompt, audios=[audio], return_tensors="pt").to("cuda:0")
if inputs.get("audio_data") is not None:
    inputs["audio_data"] = inputs["audio_data"].to(torch.bfloat16)
inputs["audio_input_mask"] = inputs["input_ids"] == processor.audio_token_id

with torch.no_grad():
    gen = model.generate(**inputs, max_new_tokens=4096, do_sample=False, use_cache=True)

output = processor.decode(gen[0, inputs["input_ids"].shape[1]:], skip_special_tokens=True)
print(output)
Example Output#
[
  {"caption": "Birds chirping and singing in a forest setting", "start_time": 0.0, "end_time": 8.5},
  {"caption": "Wind rustling through leaves and branches", "start_time": 2.3, "end_time": 12.0},
  {"caption": "A dog barking twice in the distance", "start_time": 6.1, "end_time": 7.8},
  {"caption": "Car engine passing on a nearby road", "start_time": 9.0, "end_time": 13.2}
]
Prompt Variants#

The model supports 4 prompt configurations via {segment_duration} and {overlapping}:

ConfigurationTypical Output
medium, overlapping6-10 events, broader windows, recommended for downstream use
medium, not overlapping5-8 events, non-overlapping windows
short, overlapping10-15 events, fine-grained
short, not overlapping8-12 events, non-overlapping

Recommended: medium + overlapping — produces broader predictions that a downstream model (e.g., MOSS-Audio-8B-Thinking) can refine into specific events.

Training#

See train.py in this repository for the full training script. Key command:

accelerate launch \
    --num_processes 8 \
    --use_deepspeed \
    --deepspeed_config_file ds_config_zero2.json \
    train.py \
    --model_dir OpenMOSS-Team/MOSS-Audio-8B-Instruct \
    --data_path soundscapes_train/train.jsonl \
    --output_dir ./lora_output \
    --use_lora True \
    --lora_rank 128 \
    --lora_alpha 256 \
    --num_train_epochs 2 \
    --per_device_train_batch_size 1 \
    --gradient_accumulation_steps 1 \
    --learning_rate 5e-5 \
    --lr_scheduler_type cosine \
    --warmup_ratio 0.05 \
    --bf16 True \
    --gradient_checkpointing True \
    --max_len 8192
Training Hyperparameters#
ParameterValue
Learning rate5e-5
SchedulerCosine
Warmup5% of steps
Weight decay0.01
Batch size1 per device
Grad accumulation1
Precisionbf16
Max sequence length8192 tokens
DeepSpeedZeRO-2

Version History#

VersionRankDataEval LossNotes
v1645K samples3.4Initial experiment
v2648K samples3.1More data
v36410K samples2.9Full dataset
v412810,998 samples2.76Best: higher rank
v512822K mixed5.53Mixed LAION+Gemini data, regression

Use in the Universal Audio Annotation Pipeline#

This LoRA adapter is a component of the Universal Audio Annotation Pipeline. In the full pipeline:

  1. Three ASR systems transcribe speech (VibeVoice, Parakeet, Qwen3)
  2. Whisper experts analyze voice attributes (emotion, timbre, style)
  3. This LoRA model detects sound events (SFX, music, ambient sounds)
  4. MOSS-Audio-8B-Thinking combines all upstream context into structured annotations

Citation#

@misc{moss-audio-sfx-lora-v4,
  title={MOSS-Audio SFX LoRA v4: Sound Event Detection Adapter},
  author={LAION},
  year={2025},
  url={https://huggingface.co/laion/moss-audio-sfx-lora-v4},
}

License#

Apache 2.0

Files

8 files · 699 MBWeights 698 MB (safetensors). Sizes and sha256 from the signed manifest.
Hide all 8 files with their sha256
FileSizesha256
.gitattributes1.52 KB11ad7efa24975ee4b0c3c3a38ed18737f0658a5f75a0a96787b576a78a023361
README.md6.45 KB9caee3a070ae790fc61912a5c6114d9517c08570abfebe00f57dca22b227c580
adapter_config.json1.07 KB08857e37e5b9ef72aac500e1f197497757b2b64de28998b29903008398081313
adapter_model.safetensors698 MB394bdb06d1713c4319807f6cc334e7e76ce363d6dcd0ac32fc9ade347bd0b01f
inference.py6.01 KBd9f38b2ca4ebeb9e14b70f4c1b2b765a53fccbed976ff00589beaf853e4eb924
train.py15.7 KBb1bfbb9876cdeabf1abef0a3bf35f36ae426a0648db3f34d02ae831fafb44204
trainer_state.json48.8 KB61a2ad5fce3f11a91c849ea28cdfe0d08dc6f5eb1d257dede1c6d58d921164fd
training_args.bin7.10 KB04bb7fb923759bf39d49b883193c9f65b8bd3a56c0102d9777ae549349c22a5b
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
48a25cc833 pinned now2026-11-15 05:29 UTC8 files · 699 MB

Use it

$ fw get laion/moss-audio-sfx-lora-v4
# manifest sha256 ead1493453d4… · 699 MB · 8 files
$ fw verify ./moss-audio-sfx-lora-v4 laion/moss-audio-sfx-lora-v4
fw.pyChecks the signature and every sha256, tries each source in order, resumes.
$ python3 fw.py get https://freeweights.allternit.com/manifests/laion/moss-audio-sfx-lora-v4.json --dir ./moss-audio-sfx-lora-v4 $ python3 fw.py verify ./moss-audio-sfx-lora-v4 ./laion__moss-audio-sfx-lora-v4.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download laion/moss-audio-sfx-lora-v4 --revision 48a25cc833f611df694355c6dcf941f8607050fc --local-dir ./moss-audio-sfx-lora-v4

License

Name
Apache License 2.0
Id
Apache-2.0
Class
Permissive
Redistribution
yes
Listing
Hosted (signed)
Decided
License as declared by the publisher. No person read it. 2026-11-15
Text in
README.md
Text sha256
9caee3a070ae790fc61912a5c6114d9517c08570abfebe00f57dca22b227c580
Terms gate
No extra terms beyond the license.

Read the license text

Licenses are checked against the license table. A custom license passes only after a person reads it.

Provenance

From: laion <huggingface.co/laion>Newsgroups: alt.freeweights.textSubject: moss-audio-sfx-lora-v4Date: 2026-11-15Commit: 48a25ccSigned: 2DC28CC7B26A283B ✓
Upstream
laion/moss-audio-sfx-lora-v4
Pinned commit
48a25cc833f611df694355c6dcf941f8607050fc
Manifest
moss-audio-sfx-lora-v4.json · .minisig
Manifest sha256
ead1493453d44e9b6321ca7504363c5970e18e7cf0f9e32dbff52e663e8dd9f9
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-15 05:29 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

$ curl -O https://freeweights.allternit.com/manifests/laion/moss-audio-sfx-lora-v4.json $ curl -O https://freeweights.allternit.com/manifests/laion/moss-audio-sfx-lora-v4.json.minisig $ minisign -Vm moss-audio-sfx-lora-v4.json -P RWQ7KGqyx4zCLXtUFOqvfv8L3g+8fpKJ1FsuxPyOYMF+4KufbUxKq1Oq $ shasum -a 256 <file> # compare with the Files tab

A manifest whose signature fails must be rejected. A file whose size or sha256 does not match must be discarded. Verify a download

Model tree

Parent

OpenMOSS-Team/MOSS-Audio-8B-Instruct · this model is a adapter of it

No model in the catalog names this one as its parent.

Get it
Download
$ HF_ENDPOINT=https://freeweights.allternit.com hf download laion/moss-audio-sfx-lora-v4
Open in Freeweights Studio

Pull, verify and run it in the Allternit app on Desktop, web or phone.

Signed manifest
minisign, key 2DC28CC7B26A283B. moss-audio-sfx-lora-v4.json. Provenance. Takedown history: none.
From: laion <huggingface.co/laion>Subject: a2-rl-e2egit_large-50-32B
From: laion <huggingface.co/laion>Subject: a3-rl-DCAgent_exp_rpt_e2egit-large-15-8B
From: laion <huggingface.co/laion>Subject: a3-rl-DCAgent_exp_rpt_e2egit-v2-10-8B
From: laion <huggingface.co/laion>Subject: a3-rl-DCAgent_exp_rpt_pymethods2test-large-80-8B
From: laion <huggingface.co/laion>Subject: a3-rl-DCAgent_exp_rpt_unitsyn-python-large-10-8B
From: laion <huggingface.co/laion>Subject: a3-rl-DCAgent_mix_h2_language_proportional-65-8B