Audio Range Seek Server (ARSS) ensures that audio has a standardized format for downstream applications. It provides sample- or frame-accurate audio time ranges. Request an audio file under the media root and use query parameters to slice and re-encode it on the fly. It uses the W3C Media Fragments temporal dimension, passed as ?t=, and caches responses.
t=START,END — time range in seconds (e.g. 10,20); omit for the whole fileformat=wav|mp3|flac|opus — output encoding (defaults to the source format)channels=original|downmix — downmix averages all channels to monostem=drums|bass|vocal|other — isolate one source; omit to keep the original mixstretch=N — duration multiplier (0.1–10): 2 is half speed, 0.5 is double speed; pitch stays the samepitch=N — shift by −24 to +24 semitones; 3 raises pitch and -3 lowers itsamplerate=N — resample to N Hz (8000–384000); needed for Opus from non-48 kHz sources/iiif/<path>/manifest.json returns a IIIF Presentation 3 manifest: duration, sample rate, channels, tags, beats, and which stems are precomputed or available on demand.
Combine t, stem, stretch, pitch and format. The time range refers to the original recording; stem separation happens before stretch and pitch.
demucs_model=htdemucs|hdemucs_mmi|htdemucs_6s|htdemucs_ft selects the model when using stem. The default is v4 four-source htdemucs. vocals is an alias for vocal; the old demucs= parameter remains supported.
Replace example.wav with your audio path.
/audio/example.wav?t=0,5&stem=vocal&format=mp3/audio/example.wav?t=0,5&stretch=2/audio/example.wav?t=0,5&stem=bass&stretch=1.5&pitch=-3