Tutorial · Python · ~10 min

Upmix a Music Catalog to Spatial Audio

The catalog in Atmos, one queue at a time. Consistent spatial placement across every track.

PythonSpatial CatalogAPI

Why this matters

Spatial audio is becoming a delivery requirement on major platforms, but remixing thousands of tracks manually is not feasible. AI upmixing produces a consistent, licensable result at scale.

Batch jobs keep per-track settings and outputs uniform, so track 1 and track 4,000 sound like the same spatial approach.

How it works

Submit the folder with output=atmos-7.1.2; each track is upmixed with the same model settings and returned as ADM/BWF + 7.1.2 renders.

Submit a job with an input URL (S3, GCS or HTTPS), poll the job URL, and download the rendered output. No GPU, no queues, no ffmpeg builds to babysit.

Code

Python
import requests, time

API = "https://api.mlslabs.io/v1/ai-mixing/jobs"
headers = {"X-API-Key": "YOUR_API_KEY"}
payload = {"input": "s3://bucket/catalog/", "stems": ["vocal", "guitar", "bass", "drums"], "output": "atmos-7.1.2", "pattern": "*.wav"}

resp = requests.post(API, json=payload, headers=headers)
job = resp.json()
while job["status"] not in ("succeeded", "failed"):
    time.sleep(3)
    job = requests.get(job["url"], headers=headers).json()

print("Output:", job["output_url"])

Pro tips

  • Normalize loudness before upmixing — spatial playback is loudness-sensitive.
  • QC every 10th track on real spatial monitors, not headphones.
  • Keep stereo masters; spatial is an additional delivery.

Pricing note

Usage is metered per minute of media processed; the first tier is free each month. Volume discounts kick in automatically.

FAQ

Common questions

Does it output Dolby Atmos ADM?

Yes — ADM BWF with object metadata, plus PCM renders per bed configuration.

Is the placement consistent across tracks?

Yes — same model, same settings = same spatial grammar.

What about licensing?

Dolby Atmos brand usage requires a license; we provide the technical pipeline and documentation for your compliance.