Skip to content

Non-distilled models (xl-base / xl-sft) produce garbled audio on Apple Silicon — MLX and PyTorch-MPS; distilled turbo models fine #1259

Description

@DanielMuellerIR

Setup: Apple Silicon (M5 Max, 128 GB, macOS), ACE-Step 1.5 via uv sync (torch-MPS + mlx), generation through cli.py with the full LM pipeline.

Symptom: acestep-v15-xl-base and acestep-v15-xl-sft reproducibly generate garbled/mushy audio (spectral flatness ~0.25 vs. 0.07–0.10 for the distilled models), regardless of steps (40–120) and guidance_scale (1.0–10.0). All distilled turbo models (2B and XL) sound correct with identical prompts and pipeline.

Ruled out:

  • Corrupted download: all 4 xl-base safetensors shards are sha256-identical to the HuggingFace source (HfApi().get_paths_info() vs. local shasum -a 256).
  • Wrong weights: base ≠ turbo verified via byte compare of the shards (only the index JSON is identical, as expected for the shared architecture).
  • MLX DiT backend: same garbled result with use_mlx_dit=false → PyTorch MPS (xl-sft, 50 steps, guidance_scale=7, thinking=false, exit 0, no errors).

Observation: xl-base and xl-sft share modeling_acestep_v15_xl_base.py and fail identically, while all distilled models work — so the problem appears to live in the shared non-distilled CFG/sampler path on Apple Silicon, not in the weights or a single backend.

Possibly related: #1220 (closed as stale, unanswered).

Happy to provide audio samples, configs, or to test patches.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions