The UFODAW guide

The everyday things are easy to find. This page explains the deeper features: what they do, how to use them, and the details that are easy to miss.

Recording, takes and comping

Every audio track picks its own input (mono, or a stereo pair of your interface), so several armed tracks record at once, each from its own source. Mon lets you hear the input live through the track's effects, volume and pan. Use headphones or your interface's direct monitoring to avoid feedback and double latency.

Loop recording

  1. Set a loop region by right-dragging on the ruler, and turn on Loop.
  2. Press R. Every pass through the loop becomes a take; the newest one plays.
  3. Right-click the clip and choose Choose take to audition others.

Comping

Right-click a take and choose Comp takes. Every take gets its own row; swipe across a row to play that take at that spot. The takes are split at the swipe with short fades at the joins, and each swipe is a separate undo step. In the comp view each take is a block: drag an edge to trim it, Alt+drag the body to move it, right-click to duplicate or delete. Keep this take flattens the result.

Prefer the keyboard? Press S to cut all takes at the playhead, then pick a different take for each part.

Punch in/out

Turn on Punch (P). The region is the selected clip, or two bars at the playhead; change it with Shift+right-drag on the ruler. Press Record: playback starts a bar before the region, records inside it, and closes the recording itself at the punch-out. The rest of the take is untouched.

Count-in and click

Count-in gives 0–4 bars of clicks before recording starts. They follow the tempo and time signature at the playhead, play even when the metronome is off, and nothing is recorded during them. The Click button (M) toggles the metronome at any time.

Several inputs at once

Arm a keyboard track and an e-drum track with their red dots, set each track's MIDI input in its VST panel, and press Record: they record together, each from its own device and channel. This works alongside armed audio tracks too. Mod wheel, expression, pedals, pitch bend and aftertouch are recorded with the notes and edited in the lane under the piano roll.

Latency and audio setup

Sound needs time to travel to your headphones and back through the interface, so a recording arrives late. UFODAW places it on the timeline earlier by that round trip, so it lines up with what you played along to. This also applies to loop takes and punch recordings. Open the Audio icon for three tabs:

Automatic
Uses the input and output latency the driver reports.
Measured
Press Measure. UFODAW plays a short click out of the first two outputs and listens for it on the input you pick. Connect an output to that input with a cable (or point a microphone at the speakers), turn the monitors down, and measure. The result is remembered.
None
Switches compensation off.
Extra offset
Fine-tune in milliseconds (positive = earlier). Record a click or clap and check that it lands on the grid.

Drivers and ASIO

Out of the box you get Windows Audio (WASAPI), its Exclusive and Low Latency modes, and DirectSound. For ASIO drivers (PreSonus, Roland Rubix, AudioBox and others) a build has to include Steinberg's ASIO SDK, which cannot be shipped with the sources. If you build UFODAW yourself:

  1. Download the SDK from Steinberg and accept their licence.
  2. Unzip it into third_party\ so that third_party\asiosdk_<version>\common\iasiodrv.h exists.
  3. Run CMake again. It prints ASIO support: ON and ASIO shows up as a driver type.

Windows lets a program use one ASIO driver at a time. To use two interfaces together, choose Windows Audio (input and output can be different devices) or an aggregate driver from the interface maker.

Automation

Press A on a track and pick what to automate: volume, pan, any built-in effect parameter, the synth or sampler, or any parameter of a hosted VST3 plugin. Click in the lane to add breakpoints, drag to move, right-click to remove. Pan envelopes honour Pan snap 5%.

Recording rides

  1. Pick an envelope, then Record rides and a mode: Touch, Latch or Write.
  2. Press play and move the fader or knob.
  3. Every pass is kept as a take and comped into the envelope with a short crossfade.

In the lane, Shift+drag selects a time range, and right-click offers Play here (per take), Delete take and Fade between takes. Comp view shows the result on top and every take in its own row; swipe across a row and the result updates at once.

The sampler and slicing

Choose + > Sampler for a MIDI track that plays one sample. Load a file (or drop one on the track), drag the yellow start and end markers, and pick a mode:

Classic
Pitched by the key relative to the root note, with loop, ADSR and a low-pass filter. Detect pitch sets the root note and tuning from the sample itself.
One-shot
Plays out completely, whatever the key does.
Slice
The region is cut into equal slices, one key each.

Slice by hits

In Slice mode, Slice by hits cuts the region at its transients (kicks, snares, hats) instead of in equal parts. The slider next to it sets the sensitivity. To MIDI places the slices on the track as a pattern, one note per slice from the slice key upward, in the original timing, at the playhead. That is the quickest way to rearrange a drum loop.

Tempo tools

Tempo… tells you how many beats the marked part lasts and what tempo that makes. Detect the tempo finds it from the audio. Then either set the project tempo to it, or stretch the sample (pitch kept) to the project's tempo.

Right-click any audio clip and choose Sample this clip to turn it into a sampler track with one note. The Stretch slider (0.25x–4x) changes length without changing pitch, and works on drum pads too.

Warping and stretching audio

Right-click an audio clip and choose Warp…. The clip is drawn over the project's beat grid.

  1. Find hits places a marker on every transient.
  2. Match tempo brings the clip to the project tempo.
  3. Snap to grid moves every marker to the nearest sixteenth.
  4. Drag markers to fine-tune: double-click adds one, right-click removes one.
  5. Apply stretches the audio between markers with pitch kept, in the background. It is saved with the project and can be undone.

Simple stretch and pitch

Gain, stretch and pitch… sets clip gain (with Normalize), length as a percentage (200% = twice as long, or Fit to project tempo from the clip's own BPM), and pitch in semitones. It is rendered offline with Rubber Band from the original, so Reset always restores the untouched audio, and results are cached on disk. Edit volume curve draws a multiplier over the clip; splitting the clip splits the curve too.

Drum rack and sub-tracks

The Drum Rack has 16 pads, each a small sampler with start/end, pitch, envelope, filter, reverse, level, pan, mute, solo and a choke group (closed and open hi-hat). With the pad window focused, Z X C V / A S D F / Q W E R / 1 2 3 4 play the pads. A step sequencer plays all 16.

Velocity layers and round-robin

A pad can hold up to three more samples, each with a velocity range. Samples with overlapping ranges take turns, so a repeated snare never sounds identical. Ranges side by side make a soft/hard pair.

Sub-tracks for drum plugins

Load a drum plugin (EZdrummer, Superior Drummer, Addictive Drums, BFD…) and its drum sub-tracks appear by themselves: one lane per pitch (kick, snare, hats) under the track. You can also create them from the notes the track uses, from a General MIDI preset, or by hand. Each sub-track has its own mute, solo, name, pitch range, a volume fader (0–1.5, scaling the velocity of that pitch) and a small meter showing how hard it is hit. Click an empty spot in a lane to add a note and a note to remove it. Everything is saved with the project and undoable.

Stretchable patterns

Drag the right edge of a MIDI or drum clip: longer repeats the pattern, shorter cuts it. Hold Shift to stretch the pattern itself (half as long = twice as fast), and Alt to switch snapping off.

MIDI routing and sequencer plugins

A sequencer plugin such as Stochas makes notes but no sound. UFODAW lets it play the synth of one or more other tracks.

  1. Add two MIDI tracks: one for the sequencer, one for the synth.
  2. On the synth track, open VST and pick your synthesizer.
  3. On the sequencer track, open VST, set Use as to Sequencer, and pick the plugin.
  4. Tick the track(s) that should play its notes. Each ticked track has a channel setting: All channels passes notes unchanged; Channel N sends only that channel, delivered as channel 1.
  5. Press play. The plugin receives tempo, bar position and play state from the DAW. The sequencer track itself is silent.

Because each channel can go to a different synth, one multi-track sequencer can drive a whole rack of instruments.

An arpeggiator or chord tool that should change the notes of one track belongs under MIDI effects in that track's VST panel instead.

Quantize, swing, humanize

Press Q on a MIDI clip: grid from 1/4 to 1/32 and triplets, strength, swing (100% = triplet feel), random timing (ms) and velocity variation, optionally note lengths. It works on drum clips too.

Hardware synths and MIDI clock

Playing an external synth

  1. Connect the interface's (or a USB) MIDI OUT to the synth's MIDI IN, and set the synth to the channel you send on.
  2. In a MIDI or sequencer track's VST panel, tick the MIDI output under External MIDI instruments (hardware).
  3. From channel chooses which sequencer channel goes there; Send as channel is what the hardware receives.
  4. Press play. Notes leave shifted by the output latency so the synth stays in time, and all notes off is sent when you stop.

A track that sends to hardware makes no sound itself and gives no stem. To hear the synth in the DAW, connect its audio to an interface input and record it on an audio track. A sequencer can drive internal synths and several hardware synths at once.

MIDI clock

Under Audio… > MIDI clock, tick the outputs of drum machines or sequencers that should follow UFODAW. They get 24 ticks per quarter note following the tempo map, Start (or Continue with the song position), a new position when you jump, and Stop. Clock shift nudges the clock a few milliseconds to line hardware up with the audio. Exports never play hardware or send clock.

Buses, sends and sidechain

Buses and sends

+ > Bus creates a group or effects-return channel. Put a reverb or delay on it, then use the Out button on any track: play the track into the bus (a drum bus, say) and/or send part of it with a level per bus, post-fader or Pre. Muting a track mutes its sends; soloing a track keeps its bus audible.

Sidechain compression

In a track's FX panel, the compressor has a Listens to box. Pick another track (the kick) and this track ducks whenever that one is loud, so a bass or pad pumps with the kick. Picking a track turns the compressor on with fitting settings. The track being listened to can be muted and still does its job, and both stems and the mix contain the ducking.

Plugin delay compensation

Tracks are delayed to line up with plugins that report latency (up to two seconds), so a lookahead limiter on one track does not smear it against the others. If a plugin reports a different latency while playing, the compensation crossfades over about 10 ms, so there is no gap or click.

Mono check

The Mono button on any track, bus or the master sums left and right. Use it to check a source or the whole mix in mono, or to centre a stereo recording.

Plugins and CPU

VST3 instruments and effects open in their own windows and are saved with the project. A track name turns yellow at 25% and orange at 50% of the audio time, so you can see which plugin is heavy; hover the header for the exact figure. The status line shows the device load.

Metering and reference tracks

The Meter button on the master strip shows loudness in LUFS (momentary, short-term, integrated, measured as streaming services do: ITU-R BS.1770 / EBU R128), the highest sample, a 20 Hz–20 kHz spectrum and a target to aim for: −14 LUFS for Spotify and YouTube, −16 for Apple Music, −23 for broadcast.

A/B against a reference

  1. In the master meter, press Load reference… and choose a finished song.
  2. Start here lines it up at the playhead.
  3. Match loudness sets it to the loudness of your mix so louder does not sound better.
  4. Press B to switch between your mix and the reference while playing, with a short crossfade.

The reference is saved with the project and is never part of an export.

Clipping lamps

A red CLIP lamp lights in the top bar, on every meter and as a red frame on the strip when a track output, the master (over 0 dB before the limiter) or an armed input reaches full scale. They stay lit until clicked. A recording that clips cannot be repaired, so lower the gain on the interface.

Tempo map and sections

Tempo (next to BPM) opens a list of sections, each starting at a bar with its own BPM and time signature (3/4, 6/8, 7/8…). The ruler, grid, snapping, metronome and the tempo given to plugins all follow it. Changing tempo or meter keeps MIDI, the loop and the punch region in place in the music (same bar, same beat), while audio clips stay where they are in time.

Arrangement sections

The Sections button names parts of the song (verse, chorus…) as coloured bands on the ruler. Go moves the playhead, Loop loops the part, Copy duplicates it with everything inside it and moves later material along, and < / > swap neighbours. Clip and Paste section move a whole section between projects; tracks that do not exist yet (by name) are created.

Exporting and stems

Export audio and Export stems offer WAV (16 / 24 / 32-bit float), FLAC, AIFF, MP3 (128–320 kbps) and Ogg Vorbis. Rendering happens in the background with a Cancel button, and your last format is remembered.

Export stems writes one file per track into a folder you pick, named 01 - Bass loop.wav, 02 - Synth 1.wav and so on, in track order.

  • Each stem is the track as you hear it: after effects and plugins, with volume, pan and automation.
  • Stems are dry: they ignore buses and sends, so a shared reverb is not included. Use Export audio for the full mix.
  • Muted, empty and sequencer tracks are skipped, and the summary tells you which.
  • 32-bit float cannot clip, even when a stem goes above 0 dBFS.
  • By default the stems add up exactly to the mix. Optionally each stem can get the master volume and soft limiter.
  • Every stem is as long as the whole project plus reverb and delay tails, so they line up in any other DAW.

Projects, tabs and safety

  • Project tabs. Open several projects at once (Ctrl+N, Ctrl+W, Ctrl+Tab). All tabs share one audio device; only the visible tab is connected to it and to MIDI, so switching is instant. Unsaved tabs have a yellow dot.
  • Copy between projects. The clipboard is shared by all tabs.
  • Autosave. Every two minutes, when something changed, a recovery file is written. After a crash, the next start offers to restore it.
  • Backups and version history. Every save leaves a time-stamped copy (the newest twenty are kept), plus one every ten minutes of unsaved work. File > Version history… opens one in a new tab or goes back to it, keeping the current state as a copy first.
  • Save As. Save a new version (jam, jam v2, jam v3…) or Save with all audio in one folder, which copies every audio file into <folder>Audio so the project can move to another disk or PC.
  • Track templates. Right-click a track header > Save as a template… keeps its settings, effects, plugins with state and clips. + > From a template adds it to any project.
  • STOP ALL (Ctrl+Shift+Space) stops playback and recording and silences every sound at once, plugins and MIDI hardware included.

Under the hood, the audio thread never blocks: the interface edits the project under a lock that the audio callback only tries to take. Undo uses cheap snapshots of the whole project, where sample data is shared rather than copied.

Shortcuts

Every command can be rebound under File > Keyboard shortcuts…. Press Ctrl+K for the command palette. These are the defaults:

ActionKey
Play / pauseSpace
RewindEnter
RecordR
Loop on / off · loop selected clipL · Shift+L
PunchP
MetronomeM
Split at playheadS
Quantize MIDI clipQ
Automation laneA
Duplicate clipCtrl+D
Cut / copy / pasteCtrl+X / C / V
Undo / redoCtrl+Z / Y
Save / openCtrl+S / O
A/B referenceB
ZoomCtrl + mouse wheel
Ignore snapping while draggingAlt
Play with the computer keyboardKeys on, then A W S E D F T G Y H U J K O L P
Set the loop regionright-drag on the ruler

Known limitations

  • Delay compensation covers audio plugins (instrument and effect inserts) up to 2 s. When a plugin reports another latency while playing, the compensation crossfades over about 10 ms.
  • What you do inside a plugin's own window is one undo step, taken when you open the window. Plugins that keep state outside what they save (a sample loaded by hand, say) may not go back completely.
  • Effect and plugin parameter automation is applied every 64 samples (volume and pan are ramped); synth parameters once per audio block. While a parameter is automated, the envelope wins during playback.
  • VST3 on Windows. VST2 cannot be hosted (Steinberg no longer licenses it) and CLAP is not supported by the hosting code UFODAW is built on. A macOS build can host Audio Units, but it is untested.
  • Windows only so far.

Missing something? Request a feature.