Sound

Placing an audio source. Switch to UI mode (Ctrl+4). The Audio tool lives there, the same mode Camera and Controls share, rather than in Animate mode alongside the timeline tools. Select it, or press A, then place it the same way you would any other object.

Formo UI mode

Real playback, not just a reference track. Once placed, the audio plays through a Web Audio signal chain — source, gain, and panning, all the way to output — rather than a simplified stand-in. This means volume and stereo panning are both adjustable properties on the audio object itself.

Reactive properties, for driving animation off the sound itself. An audio source exposes live values a formula can read directly: position (where playback currently is), rms (overall loudness), plus peak, frequency, and waveform data. This is the mechanism behind lip-sync and audio-reactive animation: bind a mouth shape's state to audio.rms, for instance, and it reacts to the loudness of the track as it plays, rather than needing to be hand-keyed against the waveform.

Seeking programmatically. Beyond just playing linearly, an audio source's position can be set directly (audio.position = t) from a formula, letting you drive where in the track playback sits based on something else happening in your document, not only the play button.

Export is deterministic, not just live-accurate. A concern with audio-reactive animation is that live analysis tools normally only work in real time; export usually runs faster than realtime, which would ordinarily break anything reading live audio analysis. Formo handles this with a separate, offline analyzer used specifically during export, built as a pure function of playback position rather than of the wall clock: the same position in the audio always produces the same analysis result, frame after frame, run after run. Its output format matches the live analyser exactly, so audio-reactive formulas need no changes between preview and export. One deliberate difference: the live analyser applies temporal smoothing that depends on prior frames, which the export path drops in favor of determinism — so an exported audio-reactive animation is frame-exact and reproducible, not a literal value-for-value match to whatever the live analyser happened to show at realtime speed.

On this page

Formo

The browser studio where drawings become animations, toys, and games. Your files, open HTML export, nothing to install.