WebsiteGet Ultimate VJ

File audio

On this page

Playing the sound that lives inside your media is opt-in, and off by default. This page explains what it does once you turn it on - and what it deliberately does not do.

Turning it on

There are two ways in, both labelled Enable file audio:

  • Settings → Clip audio → File playback → Enable file audio
  • With a clip that has audio selected: Inspector → Audio → Enable file audio

This is an application preference, so it applies everywhere, not per set. Immediate - no Apply button.

Which clips produce sound

A voice exists only when a clip's source is a movie file that has an audio track, or an audio-only file.

  • Still images never produce sound.
  • Generator and shader clips never produce sound - they have no file.
  • A video with a soundtrack produces sound. (Its tile still shows a video frame, not a waveform.)

Levels

These file-audio controls stack; visual routing controls also affect voice gain:

Control Where Default
Clip volume (0…1) and Mute clip audio Inspector → Audio 1.0, unmuted
Master mute Settings → Clip audio unmuted
Master volume (0…1) Settings → Clip audio 1.0

Muting keeps your volume setting rather than zeroing it.

What playback follows

File audio tracks the transport closely:

  • Speed - set by composition speed × clip speed × direction, and BPM timebase contributes too.
  • Pause - both per-clip pause and global pause stop it.
  • Seek and retrigger - old queued audio is discarded; the voice identity changes so nothing bleeds through from the previous position.
  • Loop, Bounce, Once - each boundary type is honoured, including Bounce folding and Once stopping.
  • Trim - in/out points are applied to audio too, with interpolation at the trim edges.
  • Layer mute and solo - mute or being excluded by solo silences a layer's audio entirely.
  • Groups - ancestor group opacity, bypass and solo also affect descendant file-audio gain.
  • Transitions - the outgoing voice is retained and projected forward until its fade completes.
  • Crossfader buses - bus weights multiply the voices' gain.
  • Blackout - scales audio to silence along with video.

Varispeed changes pitch

This is the single most important limitation. File audio is resampled by playback rate: the read head simply moves faster or slower. Changing speed therefore changes pitch as well as tempo - there is no time-stretch or pitch-preserving resampling anywhere in the app.

Playback is also linear-interpolated rather than band-limited.

Channel handling

Output is fixed stereo at 48 kHz float.

  • Standalone audio files: only the first two channel are used; mono is duplicated to the right channel. Up to 32 channels may be read. There is no sample-rate conversion stage - the output clock is walked in output-seconds and neighbouring decoded frames are interpolated.
  • Movie soundtracks: stereo decoding is explicitly requested (48 kHz, 2-channel, float32).
  • The bundled FFmpeg fallback only accepts sources that already present themselves as 48 kHz and 2 channels.

Capacity

32 simultaneous clip voices, and notably transition hand-off voices count toward that cap. A moderate-looking mix can therefore hit capacity during crossfades; when it does, admission is refused with "Audio transition capacity reached. Holding the current look until its fade finishes." - the existing look keeps playing until its fade completes rather than the new one failing.

Status and errors

Per-voice states are published live, including Audio unavailable for N clip(s), Preparing file audio…, Buffering file audio…, File audio ready · paused, Playing · N audio clip(s) · varispeed and File audio off.

Per-voice errors surface both in Settings → Clip audio and per clip in the Inspector - for example "Could not decode file audio: …", "Audio transport contains an invalid value." or "Could not start native audio output: …". Underruns and discards are counted per voice.

No guarantee against starvation is claimed. Buffering and decoder failures are reported, not prevented.

Recording is silent

Recorded video never contains audio. The recorder creates exactly one AVAssetWriterInput, for video, and has no connection to the audio engine. Two places in the UI say so, including "Recordings remain silent." See Recording.

Not verified

  • Whether the 48 kHz output is matched to your hardware device rate. The engine connects directly to the mixer node; any implicit conversion Core Audio performs was not inspected.
  • How AVFoundation folds surround sources down to the requested stereo, beyond the request itself.
  • Actual audible behaviour through real speakers. No listening test was run for these pages.