Wave Copilot

Wave Copilot User Manual

Version 1.3.1

Get Wave Copilot 1KHZ

Introduction

Wave Copilot is a professional desktop application designed for broadcast WAV file management. Built specifically for production sound mixers, field recordists, and broadcast audio engineers, it provides comprehensive tools for:

Key Features


System Requirements

Windows

macOS

Linux


Installation

Every build is downloaded from the Wave Copilot product page at 1khz.ca. Pick the file for your platform below.

Windows

  1. Download the installer ('Wave Copilot Setup.exe') or portable version ('Wave Copilot Portable.exe')
  2. For the installer:
    • Run the setup file
    • Follow the installation wizard
    • Launch from the Start menu or desktop shortcut
  3. For the portable version:
    • Run the executable directly (no installation required)

macOS

  1. Download the DMG file ('Wave Copilot.dmg')
  2. Open the DMG file
  3. Drag Wave Copilot to the Applications folder
  4. Launch from Applications or Spotlight

Linux

Three ways to install, in the order most people should prefer them:

APT repository (Debian / Ubuntu, recommended):

This is the easiest route, and the only one that updates itself. One command adds the repository and installs Wave Copilot:

'curl -fsSL https://1khz.ca/wave-copilot/apt/install.sh | sudo sh'

If you would rather not pipe a script into a shell, the same thing by hand:

  1. 'sudo curl -fsSL https://1khz.ca/wave-copilot/apt/wave-copilot-archive-keyring.gpg -o /usr/share/keyrings/wave-copilot-archive-keyring.gpg'
  2. 'sudo curl -fsSL https://1khz.ca/wave-copilot/apt/wave-copilot.sources -o /etc/apt/sources.list.d/wave-copilot.sources'
  3. 'sudo apt update'
  4. 'sudo apt install wave-copilot'

From then on Wave Copilot updates with everything else on the machine, through 'sudo apt upgrade'. The repository is signed, and apt refuses to install from it if the signature does not check out.

DEB package (Debian / Ubuntu, manual):

  1. Download 'wave-copilot_x.x.x_amd64.deb'
  2. Install it: 'sudo dpkg -i wave-copilot_*.deb'
  3. Launch from your application menu or by running 'wave-copilot'

AppImage (portable: works on any distribution, no installation required):

  1. Download 'Wave-Copilot-x.x.x.AppImage'
  2. Make it executable: 'chmod +x Wave-Copilot-*.AppImage'
  3. Run it: './Wave-Copilot-*.AppImage'

Note: How you install decides how you update. Install from the APT repository and 'sudo apt upgrade' brings you new versions. Install a DEB by hand and nothing updates it: download the new DEB and reinstall, or add the repository above, which takes over from a hand-installed copy in place because it is the same package. The AppImage updates itself from inside the app. In-app downloads are not offered for either Debian package, since both belong to the system package manager, but Help > Check for Updates still works: it looks at the APT repository and, when a newer version is there, tells you which and shows the command to run.

Automatic Updates

Wave Copilot checks for updates automatically on Windows, macOS and the Linux AppImage. When an update is available:

  1. A notification will appear
  2. Click "Download Update" to download
  3. Click "Install and Restart" to apply the update

On Debian and Ubuntu the system package manager owns the app instead, so updates arrive through 'sudo apt upgrade' if you installed from the APT repository, and by downloading a new DEB if you installed one by hand. Help > Check for Updates checks the APT repository on those installs. When a newer version is published it names the version and shows 'sudo apt update && sudo apt upgrade' to copy into a terminal; Wave Copilot does not download or install it itself. See the Linux part of Installation above.


Getting Started

First Launch

When you first launch Wave Copilot, you'll start with a 14-day free trial. The trial banner at the top of the window shows your remaining trial days.

Loading Files

  1. Go to File > Add Files (or press 'Ctrl+O' / 'Cmd+O')
  2. Select one or more audio files (WAV, MP3, AAC, M4A or AIFF), or select a folder to load all of them it contains (non-recursive, top-level files only)
  3. Files will appear in the file list with their metadata displayed

Or drag and drop. Dropping audio files, or a folder of them, straight onto the file list loads them the same way the dialog does. Dropping onto a list that already has files adds to it rather than replacing what is there, so you can build a session up from several folders.

MP3, AAC, M4A and AIFF play and behave like WAV everywhere in the app, with a few things their containers cannot hold. See Non-WAV Audio Files for what differs.

Release Notes

Help > Release Notes opens a summary of what changed in each version, newest first. It is the quickest way to see whether a feature you are looking for arrived in the version you are running.

Interface Overview

The main window consists of:

The chapters that follow describe each tab in turn. If you would rather start from the job than from the tool, see Workflows and Recipes, which answers the questions that come up most often on set and names the tab to reach for in each case.


Preferences

The Preferences dialog, showing the Cache section
The Preferences dialog, showing the Cache section

Open Preferences from Help > Preferences, or 'Cmd+,' on a Mac. It is the home for settings that apply across every file rather than to one at a time:

More settings will move in here as they are added.


Files & Metadata

The Files & Metadata tab, with the file list on the left and the Metadata Editor on the right
The Files & Metadata tab, with the file list on the left and the Metadata Editor on the right

The Files & Metadata tab is the primary workspace for managing your audio files.

File List

Configure Columns, opened from the gear icon, controls which columns the list shows
Configure Columns, opened from the gear icon, controls which columns the list shows

The left panel displays all loaded files in a sortable table with customizable columns:

Column Description
Current Name File name
Channels Number of audio channels
Project Project name from metadata
Tape Tape/Roll number
Scene Scene identifier
Take Take number
Start TC Start timecode
Length Duration
End TC End timecode
Originator Recording device/software
Date Recording date
Sample Rate Audio sample rate
Frame Rate Timecode frame rate
Bit Depth Audio bit depth
Originator Ref The originator's unique reference string, written by the recorder
Time Time of day the recording started, from the bEXT time reference
Circled Whether the take is marked as circled
Wild Whether the take is marked as a wild track
uBits User bits, shown as a hexadecimal value
File UID The file's unique identifier from iXML
Notes The free-form note stored in the file

To sort the file list:

To customize columns:

Waveform Strip

A compact waveform can be shown under the file list, so a take can be scrubbed through while its metadata is open beside it, without switching to the Playback tab. Click anywhere in the strip to seek; it follows the same file the Metadata Editor is showing. A multi-mono or poly file shows one real mixed-down lane rather than a lane per channel.

Turn it on or off with Show waveform timeline under file list in Preferences (see Preferences).

Non-WAV Audio Files

MP3, AAC, M4A and AIFF load, play and appear in the file list alongside WAV. Behind the scenes, Wave Copilot decodes each one through FFmpeg into a cached copy the rest of the app reads exactly like a WAV, so playback, the waveform, Split, Combine, Conform and every other panel work the same regardless of the source format.

What differs is only what the container itself cannot hold:

Everything else, playback, waveform display, Split, Combine, Conform, Sync by Audio, works exactly as it does for a WAV.

Resizing the Metadata Editor

The divider between the file list and the Metadata Editor can be dragged left or right to trade space between them. The width is remembered between sessions.

Detachable Metadata Editor Window

The Metadata Editor can be detached into its own floating window, so the file list gets the full width of the main window, which is useful on a second display, or when you have many columns visible.

To detach: click the small ⇱ (external link) icon next to the Save button in the Metadata Editor header. The editor and its divider disappear from the main window and the file list expands to fill it.

The detached editor follows your selection from either window. Selecting a file in the main list updates it immediately, and so does pressing Previous / Next in the detached Playback window. All three windows can be open at once and stay in step.

Two layouts. The window opens with the familiar tabs. The Columns button in the editor header switches to a five-column view showing General, Recording, Track Info, History and Cues side by side, so nothing is hidden behind a tab. Click Tabs to switch back. Your choice is remembered.

Sizing. The window opens at about the width the editor had while docked. Resize it however you like. The size is remembered and used the next time you detach.

Saving works exactly as it does docked: the file is written to disk and the main window's file list updates to match, without marking the main window as having unsaved changes.

To reattach: close the Metadata Editor window. The editor returns to the main window at its previous width. The Playback window, if open, is unaffected.

File Operations:

Metadata Editor

The right panel provides detailed metadata editing through five tabs:

General Tab

The General tab of the Metadata Editor
The General tab of the Metadata Editor

If you set a Scene and Take that another loaded file already uses, a Duplicate Scene/Take Detected warning appears when you save. Continuing anyway is allowed: a '+' is added to the front of the scene so the two takes stay distinguishable rather than silently colliding.

Recording Tab

The Recording tab, holding frame rate, timecode and user bits
The Recording tab, holding frame rate, timecode and user bits

Two checkboxes govern how timecode reacts when you change the format fields:

Preserve Start TC (on by default) keeps the Start TC fixed when you change Sample Rate or Frame Rate, and recalculates Samples Since Midnight to match. This is what you want almost always, because it keeps the take in sync with the camera and any other timecode equipment on the shoot. Turn it off only when you intend the opposite: to hold the stored sample count and let the displayed timecode move instead.

Use Originator Time sets Start TC automatically from the Originator Time field, for files whose recorder wrote a time of day but no usable timecode.

Track Info Tab

The Track Info tab, where each channel is named
The Track Info tab, where each channel is named

History Tab

The History tab, showing how and when the file was originally recorded
The History tab, showing how and when the file was originally recorded

File set fields. The rest of the tab describes the file's place in a multi-mono family, and is read from the recorder's iXML. It is what lets Wave Copilot group separate mono files back into one take:

These are shown for reference and are not editable: they describe how the recorder wrote the take, and changing them would break the grouping.

Cues Tab

The Cues tab, listing the sync points stored in the file
The Cues tab, listing the sync points stored in the file

Multi-Mono Detection

Wave Copilot automatically detects related mono files (e.g., files with matching names ending in channel indicators like '_1', '_2', '_L', '_R') and groups them together for easier management.

Candidates that share a name are grouped by checking which of them actually agree with each other, not by demoting the whole set the moment one file does not match. This matters when the same take also exists in more than one format, for example a folder holding 'TK01_Boom_1.wav', 'TK01_Boom_2.wav' and the same take exported as 'TK01_Boom.mp3': the WAV pair still groups correctly as a multi-mono set, even though the MP3 shares its prefix but is not part of the group.

Saving Changes

Metadata changes are held as a draft until they are written to the file. Click Save (or press 'Cmd+S' / 'Ctrl+S') to write them. Until you do, selecting another file, switching tabs, renaming or copying stops and asks what to do with the changes, and closing the app prompts as well.

Automatic saving. If you would rather not press Save on every take, turn on 'Save metadata edits automatically' in Preferences > Metadata. It is off by default, because every save rewrites the file header on disk. With it on, a draft is written twice over:

The prompts above stop appearing, since there is nothing unsaved to ask about. A line beside the Save button shows the state: 'Auto-save pending' while a write is due, and the time of the last one once it has been written.

Three things are still handed back to you rather than decided by a timer, and they wait for the Save button:

Copying Files

Copy to copies the selected files to another folder, leaving the originals where they are. Multi-mono groups are expanded automatically, so selecting one group copies every member file in it rather than just the one row you clicked. Nothing about the files is changed on the way: this is a copy, not a convert or a rename.

Renaming Files

The Rename dialog with a custom output filename template
The Rename dialog with a custom output filename template

Select one or more files and choose Rename (toolbar button, right-click menu, File > Rename, or 'F2'). A dialog opens showing exactly what each file will be renamed to before anything happens:

The preview lists every selected file as 'old name → new name'. Multi-mono groups are renamed together, preserving each member's channel-number suffix ('_01', '_02', …). Click Rename to apply or Cancel to leave everything untouched. If a target name already exists on disk, that file is skipped and reported.

The whole batch is planned as one operation before anything touches disk, so a rename that shifts every name along by one, where each new name is briefly owned by a neighbour that is itself about to move, resolves correctly rather than reporting a false conflict or renaming only part of the selection.

Renumbering Takes

Select two or more files and click Renumber takes in the Metadata Editor to renumber the Take field across the whole selection in one pass.

A preview shows every file's current take next to the one it will get. If a resulting scene and take would collide with a file outside the selection, Wave Copilot lists the conflicts and asks before writing; choose Renumber anyway to proceed or adjust the settings first.


Audio Playback

The Playback tab: waveform lanes and timecode ruler above, transport and mixer below
The Playback tab: waveform lanes and timecode ruler above, transport and mixer below

The Playback tab provides professional audio playback with a full-featured mixer.

Transport Controls

Control Function
Play/Pause Start playback from current position (Space or K when stopped). K always pauses in place when playing. Space and the Pause button pause in place when Return to Start is off; when on, they stop and return to the play-in point instead.
Stop Stop playback (F3). If Return to Start is on, returns to the play-in point; otherwise 00:00
Rewind (⏪) Seek back 5 seconds (J when stopped)
Fast Forward (⏩) Seek forward 5 seconds (L when stopped)
Return to Start (↺) Toggle: when lit (blue), Stop, end-of-file, and Space all return to where Play was last pressed
Shuttle speed badge Shows current speed (2×, 4×, 8×) next to the play button; all speeds play audio with pitch preserved
Previous/Next Navigate between files in the current sort order (← / →)
Time Display Shows current position, timecode, and remaining duration
Seek Slider Click or drag to jump to any position

Waveform Viewer

The waveform viewer shows the audio content of the loaded file with a timecode ruler across the top. All channels are stacked vertically. Click anywhere on the waveform or ruler to seek to that position.

The ruler uses adaptive tick spacing: the interval between marks is chosen automatically from a set of clean values (single frames, 2f, 5f, 10f, 0.5 s, 1 s, 2 s, 5 s, 10 s, 15 s, 30 s, 1 min … 2 h) so that labels are always legible and never duplicated, regardless of the current zoom level.

Each channel strip shows its peak dB level in the top-right corner (green ≤ −6 dB, amber −6 to −0.5 dB, red above −0.5 dB). The value always reflects the peak of the entire file regardless of zoom level.

A muted channel, or one silenced because another channel is soloed, draws its lane dimmed to a shade of its own colour rather than at full brightness, matching what you actually hear.

Display gain. The slider next to the waveform icon in the toolbar boosts a quiet recording so it is visible, from unity up to 20×. It also goes below 1×, down to 0.25×, which is not for shrinking the view: it lowers the lane's amplitude ceiling instead of its height, which is the only way to see how far over 0 dBFS a hot 32-bit float recording actually reaches. Double-click the slider to reset it to unity. This affects the drawing only, never the audio or the exported file. The same control, with the same range, is on the Sync by Audio timeline and the Custom TC Range audition strip.

Zoom Controls

The waveform supports horizontal zoom from 1× (full overview) up to 1000×.

Action Effect
'Ctrl'+scroll wheel (Windows / Linux) Zoom in / out, centred on mouse position
'Cmd'+scroll wheel (macOS) Zoom in / out, centred on mouse position
Trackpad pinch (macOS) Zoom in / out, centred on mouse position
− / + buttons next to the seek slider Step zoom out / in by 1.5× per click, centred on the playhead
'Ctrl/Cmd' + '-' Zoom out by 1.5×, centred on the playhead
'Ctrl/Cmd' + '=' Zoom in by 1.5×, centred on the playhead
'Ctrl/Cmd' + '0' Reset zoom to 1× (full file overview)
Click the zoom level (e.g. 4×) between the buttons Type an integer 1–1000 and press Enter (or click away) to jump directly to that zoom level, centred on the playhead

At 1× the entire file is visible. Zoom in to inspect transients, room tone texture, or the shape of individual audio cycles.

The playhead is always kept in the visible window when zooming. When using scroll-to-zoom, if the mouse-centred zoom would push the playhead off-screen, the view automatically shifts to bring it back near the edge. The − / + buttons always centre the zoom on the playhead position.

Scrolling and Panning

Action Effect
Plain scroll wheel Scroll the waveform panel up / down (normal behaviour for many-channel files)
'Shift'+scroll wheel Pan the waveform left / right when zoomed in
Two-finger horizontal swipe (macOS trackpad) Pan left / right when zoomed in
Drag the scrollbar thumb below the timeline Jump to any horizontal position
Click on the scrollbar track Jump the view to that point in time

The horizontal scrollbar appears below the timeline ruler whenever the zoom level is above 1×. Its thumb width is proportional to the fraction of the file currently visible.

Auto-scroll and Playhead Tracking

The waveform keeps the playhead visible in two complementary ways:

If you manually pan away from the playhead while paused, the view will re-centre on it the next time the playhead moves outside the visible area.

Peak Resolution and Background Loading

When a file is opened, the waveform appears quickly using a low-resolution scan (~20 000 peaks). A background scan at full resolution (up to 256 000 peaks) then runs silently, with no spinner and no interruption to playback. Once the background scan completes (typically within a few seconds for most files), every zoom level from 1× to 256× renders crisp, detailed waveforms.

For zoom levels above 256×, the app performs an on-demand windowed scan that reads only the currently visible portion of the file. Even for very long recordings this is near-instant because only a tiny slice of audio data is read. The visible area is buffered slightly so small scrolls do not trigger a rescan.

All peak data is cached on disk so a file only needs to be fully scanned once; subsequent loads use the cached peaks instantly.

Console Toggle

A Console toggle bar sits between the transport controls and the mixer. Clicking it collapses or expands the mixer panel. When the mixer is hidden, the waveform zone expands to fill the freed space, which helps when working with many-channel files and you want more track height visible. Click the bar again (or use the chevron arrow on the right) to restore the mixer.

Detachable Playback Window

The Playback tab can be detached into its own floating window, leaving the main window free to stay on the Files & Metadata tab while you monitor playback on a second display or in a separate spot on the same screen.

To detach: click the small ⇱ (external link) icon to the right of the Playback tab label. A separate Playback window opens and the tab disappears from the main tab bar.

Navigation stays in sync in both directions:

Mixer and transport controls are fully functional in the detached window: faders, pan, solo, mute, phase, automix, shuttle, and seek all work the same as in the embedded tab. All changes are reflected in the main window's audio engine in real time.

To reattach: close the Playback window (click the × button or use the native close control on macOS). The Playback tab reappears in the main tab bar exactly as it was before.

Mixer

The mixer during playback, with the channel meters live
The mixer during playback, with the channel meters live

The mixer provides per-channel controls:

Control Range Description
Gain Slider -∞ to +12 dB Adjust channel volume. Fully down = silence (-∞ dB)
Pan L to R Position in stereo field. Double-click to reset to center.
Solo (S) On/Off Hear only this channel. Ctrl/Cmd+click to solo exclusively (unsolos all others).
Mute (M) On/Off Silence this channel
Mid/Side (MS) On/Off Pair this channel with another to decode a Mid/Side recording
Stereo Link (LR) On/Off Gang this channel with its neighbour as a left/right pair. See 'Stereo Link'
Phase Invert (Ø) On/Off Flip the polarity of the channel (180° phase inversion)
Meter - Real-time level display
Clip Indicator Red Shows when audio is clipping
Channel Colour - Click the channel number to colour the strip and its waveform lane

Mixer Features:

Lock Mixer examples:

Example 1: carrying a mix across takes from the same scene

  1. Open Scene 5 Take 1. Adjust the boom to –3 dB and mute track 4.
  2. Click the lock icon (turns amber).
  3. Press Next. Scene 5 Take 2 loads with the same boom level and muted track 4.
  4. Press Next again. Scene 5 Take 3 also gets those settings.

Example 2: adjusting settings on one file, then locking

  1. Open Take 1. Dial in your mix, then click the lock icon.
  2. Press Next. Take 2 inherits Take 1's settings regardless of whether you locked before or after adjusting.

Example 3: stopping the carry-over midway

  1. Navigate through Takes 1–3 with lock on. All three receive the same settings.
  2. On Take 3, click the lock icon to deactivate it (icon turns grey).
  3. Press Next. Take 4 loads with its own previously-saved settings, or defaults if never visited.

Example 4: overwriting a previously-visited file

  1. Browse Takes 1–4 with lock off (each loads with defaults).
  2. Go back to Take 2, dial in a new mix, and turn the lock on.
  3. Navigate to Take 4. Even though Take 4 was already visited, the lock overwrites it with Take 2's settings.

Channel Colours

On a 32 or 64 channel recording, finding the boom among the isos means reading small track names across narrow strips. Colour makes it a glance instead.

Colours are worked out from the track names, so they arrive without any per-file setup and stay consistent across a whole shoot. Define 'boom' as red once and the boom is red in every file you open, whichever input it happens to be on that day.

Turning it on and off

Channel colour is on by default, and can be switched off entirely with 'Colour channels' in Preferences under Channel Colours. Off is not the same as an empty rule list: the console goes back to exactly how it looked before colour existed, with plain strips, blue waveform lanes, and no colour set menu in the mixer header.

Your sets and rules are kept while it is off, so switching it back on restores the scheme rather than asking you to build it again.

Where the colour shows

A coloured channel tints three things: the strip's background, its border, and the channel number at the top of the strip. The waveform lane matches, and gets a small coloured plate behind its track name. That plate is there because a lane is mostly empty space, so a quiet channel, a radio mic that only speaks twice in the take, would otherwise show almost no colour at all, and those are exactly the channels worth finding quickly.

Muting a channel, or soloing a different one, fades its lane to a darker shade of its own colour rather than to grey, so a silenced track is still recognisable.

Colour sets

Colours live in named sets, because the names that matter change from one production to the next. A character who is blue on one show is free to be red on the next. Pick the active set from the palette menu at the top left of the console, or manage them in Preferences under Channel Colours.

Use Duplicate to start a new show from an existing scheme rather than building it again.

Rules

In Preferences, each rule pairs a word with a colour. A word is matched as a whole word only, so 'boom' colours BOOM, Boom L and BOOM-MS, but leaves BOOMBOX and ZOOM alone. Matching ignores case and treats spaces, hyphens, underscores and dots alike.

The first rule that matches wins, so put specific words above general ones. Use the arrows beside a rule to move it.

Wave Copilot ships with rules for the common names, including boom, perche, mix, lav, radio, hf, plant, ambience and ambiance. Edit or delete any of them.

A preview at the bottom of the section shows exactly what the rules would do to the file you have open, so a word that matches nothing is obvious before you rely on it.

Colour by role

Instead of matching names, a set can colour by what a channel is: mix tracks one colour, Mid/Side pairs another, stereo pairs another, and ordinary isos left plain. This is the quicker way in on a card whose track names mean nothing to you yet. Switch a set between the two with the 'Colour by' buttons.

Setting a colour by hand

Click a channel number to open the palette. Pick one of the named colours, or choose any colour you like.

A colour set by hand follows the track name, not the channel number. Colour BOOM green and it stays green for the rest of the session, including on takes where the boom sits on a different input. It applies to every channel with that name, on every file.

The palette also offers:

A channel with no track name cannot be coloured, because there is no name for the colour to follow. Name the track in the metadata editor first.

Colour and the mixer lock

The mixer lock does not carry colour. Every file works its colours out from its own track names, which is what keeps the boom red rather than keeping input 1 red. If channel 1 is the boom in one take and the mix in the next, it is red and then blue, as it should be.

Renaming a track in the metadata editor re-colours it immediately. Reset returns hand-picked colours to whatever the rules say.

Colours are shown in the detached playback window too.

Mid/Side Decoding

A Mid/Side rig records two channels that are not left and right: a mid microphone carrying the centre of the image, and a figure-of-eight side microphone carrying the difference between the two sides. Played as they are, the pair is unusable. Wave Copilot can decode it to ordinary stereo while you monitor, and carry the same decode into everything you export.

There is no limit of one pair per file. A poly can hold several Mid/Side rigs, and each is paired and decoded independently.

Pairing two channels

Click the MS button on the strip carrying the mid microphone. It pairs with the channel next to it, and both strips show which half they are and who they are paired with, for example 'MID w/ 6' and 'SIDE w/ 5'.

A Mid/Side rig is almost always wired to two neighbouring inputs, so pairing only ever offers an adjacent channel. If the channel to the right is free it is used, otherwise the one to the left. If neither is free, a small menu opens so you can choose the other half yourself. You can also right-click MS at any time to pick a partner directly, which is how you pair a rig that is split across non-adjacent inputs.

Right-click a strip that is already paired to swap which half is the mid, or to unpair. Clicking MS again also unpairs.

If your tracks are named, the wand icon at the top right of the mixer does all of this for you. See 'Set up from track names' above.

The controls change on a paired strip

Strip Fader Pan
Mid Level of the pair Disabled
Side Width of the pair Disabled

The mid fader is the pair's level control, and it carries the side channel with it, so pulling it down takes the whole rig down. The side fader sets the width: fully down collapses the pair to mono, 0 dB is the recording as it was made, and pushing it up widens the image. Pan is switched off on both strips, because the decode itself decides where the two halves sit.

Phase is not shared between the halves. Inverting the side channel alone mirrors the stereo image, which is a normal thing to want, so each half keeps its own polarity button.

Mid/Side and Automix

Pairing two channels takes both of them out of the automix. A side channel is a difference signal rather than a source, so letting the automix move the two halves by different amounts would make the stereo image wander rather than simply changing its level. The pair sits at its own faders instead, which is usually what you want from an ambience or music rig.

You can put a pair back into the automix using the toggle on its mid strip, and the two halves then move together as though they were one microphone. The side strip shows the automix indicator greyed out, because it follows the mid rather than being set on its own.

Levels

Decoding is unity: left is mid plus side, right is mid minus side, with no attenuation, which matches how a hardware decoder behaves. That means a decoded pair can be up to 6 dB louder than either microphone on its own, so it can go past full scale even when neither original channel was close. Wave Copilot handles this for you when exporting. See 'Export Mix'.

A stereo-linked pair on the console; the pan controls read WIDTH
A stereo-linked pair on the console; the pan controls read WIDTH

Gang two channels together as a left/right pair, so a genuine stereo pair, ordinary stereo mics, a stereo boom, or a stereo mix track, is worked as one instead of as two channels that happen to sit side by side.

Pairing two channels

Click the LR button on either strip. It pairs with the channel next to it, the same adjacent-channel logic Mid/Side pairing uses: the channel to the right is used if it is free, otherwise the one to the left, or right-click LR to choose a partner directly.

Right-click a linked strip to swap which channel is left and which is right, or to unlink. Clicking LR again also unlinks. A channel already paired as Mid/Side cannot also be stereo-linked, and the reverse; engaging one blocks the other until it is released.

What links together

Unlike Mid/Side, a stereo link is a control relationship only, not a decode: it changes nothing about how the pair is summed, so it has no effect on export beyond whatever gain and pan values you set through it.

Playback Notes


Automix

The mixer with Automix switched on in Gain Sharing mode
The mixer with Automix switched on in Gain Sharing mode

Automix automatically manages per-channel gain in real time based on signal activity, so the dominant microphone is always at full level while inactive channels are attenuated, without riding faders manually. It is designed for reviewing multi-microphone recordings where you want the audio to feel naturally mixed without manual intervention.

Automix is disabled by default. Enable it by clicking the wave icon (∿) in the top-right toolbar of the mixer. The icon glows cyan when active.

Modes

Two modes are available, selectable via the GS / IG pill that appears when Automix is on:

GS: Gain Sharing

A smooth, continuous algorithm. Each channel's gain is set proportional to its level relative to the group:

'gain = channel_level / √(sum of all channel levels²)'

The total system gain (measured as the RMS of all channels) is always conserved. When one mic is much louder than the others it rises toward full gain; the others fall proportionally. There are no threshold crossings or binary decisions. Gain is always moving, always proportional. This mode is natural-sounding and works well for typical multi-mic dialogue review.

IG: Intelligent Gate

A more decisive mode that makes on/off gating decisions per channel. A channel gates on only when two conditions are met simultaneously:

  1. Its signal envelope is within 5% of the loudest active channel (Maxbus test)
  2. Its signal is at least 2× its own estimated noise floor (NAT, Noise-Adaptive Threshold)

Channels that don't meet both conditions are attenuated by −10 dB (not silenced). The last active channel is held on if nothing else qualifies, preventing dead air. NOMA (Number of Open Microphone Attenuation) reduces the gain by −3 dB for each doubling of open channels to keep the mix level consistent.

Use Intelligent Gate when you want decisive switching between speakers rather than a gradual blend.

How Automix Interacts with Other Controls

Choosing Which Channels Participate

Each channel strip has a small toggle next to its Automix indicator, visible whenever Automix is enabled, that includes or excludes that channel from the Automix calculation:

Use this for a channel you always want present at a fixed level without it swaying, or being swayed by, the automix decision for the others, for example a boom that's mostly picking up room tone, or a fixed ambience/reference track.

Per-File Settings

Automix enabled/mode and per-channel selection are all saved per file. Loading file A (GS on, one channel excluded) and switching to file B restores whatever was last set for file B (or defaults, meaning Automix off with every channel included, if never configured). This lets different takes in a session have independent Automix setups.

When the Mixer Lock is active, the current Automix state, including channel selection, carries over to every file you navigate to, the same as gain, pan, and mute.

Automix Indicator

When Automix is active, each channel strip shows the channel-selection toggle described above alongside a small bar showing that channel's real-time automix gain:

Colour Automix gain
Green > 70%, channel is dominant
Yellow 30–70%, channel is partial
Dim < 30%, channel is attenuated

Hover the bar to see the exact gain value in % and dB. Excluded channels show a dimmed, static bar since their gain isn't being modulated.

Export with Automix

When you export a mix with Automix enabled for a file, the export engine applies the same algorithm offline, reading the same pre-fader signal and respecting the same per-channel selection, processing the full file faster than real time in a streaming render. The rendered output reflects the dynamic gain decisions exactly as they would sound during playback.

See Automix Option under Export Mix for batch export controls.


Split & Combine

The Split/Combine tab provides tools for splitting polyphonic files into separate mono files, combining mono files into polyphonic files, merging two poly WAV files into a single combined poly WAV, and merging any number of files (mono, stereo, or a mix of channel counts) into one polyphonic WAV with the Combine Group tool.

Split Polyphonic Files

Split Poly, breaking a polyphonic file into separate mono files
Split Poly, breaking a polyphonic file into separate mono files

Break a multi-channel WAV into separate files:

  1. Select polyphonic files from the file list
  2. Switch to the Split Poly sub-tab
  3. Configure the routing matrix:
    • Each row is one output file, each column is one input channel
    • Click cells to assign channels to output files
    • A row with one channel selected produces a mono file, which is the default layout and the usual reason to split. A row with several channels selected produces one multi-channel file containing just those channels, which is how you export a poly with unwanted channels left out
    • A row with nothing selected is skipped entirely, so clearing the rows you don't want is how you reduce the number of output files
    • Channels always appear in the output in their original order. Split Poly can drop channels and regroup them, but it cannot reorder them. See Change the track order of a poly WAV
  4. Optionally define a naming scheme in the Output Filename section (see Custom Output Filenames). Automatic naming is '{name}_{channel}.wav'; to include track names in the output filenames, switch to Custom and use the Track Name chip
  5. Select the output directory
  6. Click Split

Metadata (iXML, bext, track names) is carried into every split file.

Combine Mono Files

Combine Mono, with the routing matrix that assigns each input file to an output track
Combine Mono, with the routing matrix that assigns each input file to an output track

Merge separate mono files into a single polyphonic file:

  1. Add mono files to the file list
  2. Switch to the Combine Mono sub-tab
  3. Choose Batch mode (auto-detects groups by filename) or Manual mode (pick files explicitly)
  4. Configure the routing matrix. Each row is an output track, each column is an input file. Click a cell to assign a file to a track. Click an active cell to deselect it; rows with no file selected are skipped from the output entirely, allowing you to combine only a subset of channels (e.g. ISO tracks only from a 6-track split).
  5. Set the output directory (batch) or output file path (manual)
  6. Click Combine / Batch Combine

Requirements:

What Batch mode groups. Batch mode offers exactly the multi-mono groups shown in Files & Metadata: files in the same folder that share everything before the first underscore, at the same sample rate, with matching frame rate and start timecode wherever both files carry them. A group named with a word rather than a channel number after the underscore, such as '01T01_Boom.wav', groups like any other, and a member that carries no timecode does not remove its group from the tab. If a group is listed in Files & Metadata, it is offered here.

Combine Poly Files

Combine Poly, merging two polyphonic files into one
Combine Poly, merging two polyphonic files into one

Merge two poly WAV files, for example a main multi-channel recording and a separate stereo mix file, into a single combined poly WAV. This is common when recording on devices at 32-bit float where the stereo mix output cannot be embedded in the same poly WAV and is recorded in a separate file.

How to use:

  1. Load your primary poly WAV files (the main recordings) into the Wave Copilot file list
  2. Switch to the Split/Combine panel → Combine Poly tab
  3. Add your secondary poly WAV files (e.g. the mix files) using + Add Files or by dragging them into the secondary file list
  4. Wave Copilot automatically matches each primary file to a secondary file by timecode. Matched pairs are highlighted in green
  5. Choose the secondary channel placement: Before Primary puts secondary channels first, After Primary appends them at the end. Your selection is saved automatically and restored the next time you open the app.
  6. Select the output format: Match primary (uses each primary file's own format, so no conversion is needed), Match secondary, or Custom (choose sample rate and bit depth)
  7. Optionally enable Normalize channels to –1 dBFS to apply per-channel peak normalization to all channels before combining. This setting is saved automatically and restored between sessions.
  8. Choose an output directory
  9. Click Combine N Pairs

Output files:

Each combined output file is named '{primary_filename}_combined.wav' by default; use the Output Filename section to define your own scheme (see Custom Output Filenames). Track names from both files are preserved in the iXML 'TRACK_LIST' and bext description of the combined file.

Notes:

The grid of file-to-track assignments is called the Track Routing matrix throughout this tab. When several multi-mono groups are loaded at once, Wave Copilot reports Multi-Mono Groups Found and offers Track Routing for All Groups, which applies one routing layout to every group rather than making you configure them one at a time. Batch operations show an Overall Progress bar alongside the per-file one.

Combine Group

Combine Group, merging files of mixed channel counts into one polyphonic WAV
Combine Group, merging files of mixed channel counts into one polyphonic WAV

Merge any number of files (mono, stereo, or a mix of channel counts, and regardless of filename) into a single polyphonic WAV. This is the tool for mixed-mic sessions, such as an LCR setup recorded as one mono file plus one stereo file, or several mics of different channel counts recorded together.

How grouping works:

How to use:

  1. Load your files into the Wave Copilot file list
  2. Switch to the Split/Combine panel → Combine Group tab
  3. Review the auto-detected groups. Each group card lists its members under Source files and every output channel under Output channels
  4. Reorder output channels by dragging their grip handle, or with the up/down buttons. Channels from different files can be freely interleaved, not just kept as whole-file blocks
  5. Edit any channel's name directly in the Output channels list; names default to the source file's own bext/iXML track name where one exists
  6. Choose which file's other metadata (scene, take, timecode, notes, markers) is used for the merged output with the radio button next to each file in Source files. This also drives the values shown by Scene/Take/Tape/etc. chips in the Output Filename section
  7. Select the output format: Match first file or Custom (choose sample rate and bit depth)
  8. Optionally enable Normalize channels to –1 dBFS, and under it Spike Reduction if clicks or claps are holding the level down (see Spike Reduction under Normalize Audio in the Conform chapter)
  9. Choose an output directory
  10. Click Combine N Groups

Each output channel row shows which source file and local channel it came from. That column can be dragged wider or narrower from the divider beside it, since a source label can run long (a scene;take plus a multi-mono suffix); double-click the divider to size it to the narrowest width that still shows every label in full. The width is shared across every group and remembered between sessions.

Manual grouping:

Files in Unmatched Files aren't stuck there:

Groups changed this way are labelled Modified (started as an auto-detected group) or Manual (built entirely from scratch), with a warning on the group card noting anything that doesn't match: different sample rates or different lengths. Both warnings are informational and never block the merge. A start timecode that doesn't match is not a warning, because it is a choice you can make: see Timecode Alignment below.

Timecode Alignment:

Files in a group don't have to have rolled at the same moment. When a group's members carry start timecodes that disagree by more than a frame, a Timecode spread section appears on the group card, reading how many files are aligned, how many start at the head, and how long the merged file will come out. It starts collapsed. Click it to open the controls.

This matters because every source is otherwise laid out from its own first sample, so files that started at different times end up offset by exactly that difference, with nothing in the finished file to record that it happened. Placing each file at its own timecode puts them back where they belong.

Three choices, set for the whole group:

Below the three buttons, each file in the group gets its own row showing its start timecode, where it will sit on the merged timeline, and a TC / Start pair that overrides the group setting for that file alone. Setting a file individually is what puts the group on Per file; clicking Per file again returns the whole group to the suggestion.

Nothing is ever trimmed. The merged timeline starts at the earliest aligned file, so the difference is added as leading silence and no source loses audio.

How the suggestion is worked out: files whose timecode spans overlap each other are clustered, and the largest cluster is placed on timecode while everything else starts at the head. This is deliberately not a fixed threshold. Files that genuinely rolled together overlap, so they are aligned; a file stamped hours away from the rest was not recorded alongside them, so aligning it would only bury the take under hours of silence. You can still choose to do exactly that, file by file. Where two clusters are the same size, the one with more channels wins, then the earlier one, so the suggestion never depends on the order the files happened to load in.

Files with no embedded timecode can only ever start at the head, whatever else is selected, so their TC button is greyed out. The section is not shown at all for a group whose members share a start timecode, since both settings would produce identical files.

If the output runs much longer than its sources, Wave Copilot asks before writing, naming each group and its finished length. That extra length is leading silence, and it usually means one outlying file wants From file start rather than the timecode it is carrying.

If your sources have no usable timecode to align on, several recorders that were never jammed to the same clock for instance, Combine is the wrong tool for lining them up. Use Sync by Audio to align them by their audio content, or Continuous Recording Conform to align them by timecode, and combine the result if you still need a single file.

Output files:

Output files are named '{name}_group.wav' by default, where '{name}' is the metadata-source file's name; use the Output Filename section to define your own scheme (see Custom Output Filenames).

Notes:


Continuous Recording Conform

Conform in Match Reference mode, with a continuous secondary loaded and four takes matched
Conform in Match Reference mode, with a continuous secondary loaded and four takes matched

Use this when a second recorder captured audio on its own timecode rather than cutting between takes, and you need to trim it to match the takes from your primary recorder, or replace specific tracks inside your primary files with its audio. That covers a backup recorder left running all day, a body-pack transmitter, a plant mic in a car or a prop, or any other device that rolled independently of the main rig.

Conform Modes

Select the mode at the top of the Conform tab. The three buttons read Match Reference, Custom TC Range and Track Replace.

Match Reference Files (default, shown on the button as Match Reference): automatically trims the secondary recording to match each take using timecode overlap. One output file is produced per matched take. The reference take list can come from the session file list (default) or from a CSV sound report file (see CSV Reference File below). Enable Poly WAV Output to instead combine all overlapping secondary files into a single polyphonic WAV per take (see below).

Custom TC Range: trims all loaded secondary recordings to a single manually-specified timecode window. Use this when the primary recorder missed a take but the secondary recorder still captured it. Enable Poly WAV Output to assemble all overlapping secondary channels into a single polyphonic WAV for the specified range instead of individual trimmed files (see below).

Track Replace: replaces individual tracks inside your primary polyphonic files with audio from a secondary recording. Use this when a wireless receiver or other channel in your primary file recorded unusable audio (noise, dropout, interference) and the secondary recorder captured a clean version of the same source. Channels can also be left out of the output entirely, which strips a ruined mix pair in the same pass rather than needing a Split Poly run afterwards.


Secondary Recordings

The Secondary Recordings list holds the recordings being conformed: backup recorders, transmitters, plant mics, or any recorder that ran on its own timecode. They do not have to be backups, and they do not have to be continuous. It is shared by all three modes: add files with + Add Files (individual files or a folder) or by dragging them onto the list.

With Poly WAV Output enabled, the order of this list is the default channel order of the output. See Channel Order.

A file already in the session file list cannot be added here. Files in the main list are reference takes, and one file cannot be both the take and a secondary recording of itself: it would either be counted twice in the output, or leak into a different take's output as a stray channel. Adding one names the files and offers Remove & Add, which takes them out of the session list and adds them here in one step; where a multi-mono take has to leave whole, its siblings are named too, since the session list holds such a group as one entry. Decline and the list is left unchanged. To include a reference take's audio in a poly output, use Merge with reference instead. If a file is already in the list when it is loaded into the session, it is removed from Secondary Recordings and a note tells you which file and why.

Moving files here from the file list. Selecting takes in Files & Metadata and sending them to Secondary Recordings takes them out of the session list, since they cannot be in both. The view stays where it is, so a long pass over the file list is not interrupted, and a short line beside the file list's item count confirms how many files moved. Only the Split/Combine sub-tab is pointed at Conform, so going there next lands on the files you just moved.


How to Use: Match Reference Files

  1. Load your primary recorder files into the Wave Copilot session list
  2. Open the Split/Combine panel → Conform tab
  3. Confirm Match Reference Files is selected
  4. Add your secondary recording(s) using + Add Files (select files or a folder) or drag and drop
  5. Review the match table. Each row is one trimmed output file matched to a primary take
  6. Choose an output format and select an output directory
  7. Click Trim & Export

CSV Reference File (Match Reference)

Instead of loading primary recorder files into the session list, you can use a CSV sound report as the reference source. This is useful when you have the session's sound report on hand but not the original WAV files, or when working from a pull list.

How to use:

  1. Open the Split/Combine panel → Conform tab with Match Reference Files selected
  2. In the Reference Files panel, click CSV File
  3. Click Load CSV and select your sound report CSV file
  4. The CSV is parsed automatically. A preview table shows the loaded takes (start TC, end TC, scene, take)
  5. Optionally tick Add handles to keep extra audio around every take (see below)
  6. Add your secondary recording(s) using + Add Files or drag and drop
  7. Review the match table, choose an output format, and select an output directory
  8. Click Trim & Export (or Combine & Export with Poly WAV Output enabled)

Handles (pre-roll and post-roll):

A sound report states the take, not the extra audio an editor wants on either side of it. Add handles widens every take's range before it is matched against the secondary recording: the Pre-roll value is taken off each start timecode and the Post-roll value is added to each end timecode. Both accept 1 to 10 seconds and can differ from each other.

Handles are off by default, so a report conforms to exactly the ranges it states until you turn them on. When they are on, the preview table shows the widened range each take will be trimmed to, and its column headers say so. A handle only reaches as far as the secondary recording does: where the widened range runs past the start or end of the secondary file, the export stops at the audio that exists (or is padded with silence in Poly WAV Output, as any partial overlap is). A pre-roll is never taken past midnight on the timecode clock.

The two values are remembered between sessions.

Supported column names (case-insensitive, spaces or underscores both accepted):

Column Required Example values
'Start TC' or 'TC Start' Yes '12:10:59:00'
'End TC' or 'TC End' See note '12:11:52:00'
'Length' or 'Duration' See note '00:00:53', '00:53'
'Scene' No '12A'
'Take' No 'T1'
'Tape' No 'A002'
'Frame Rate' / 'TC Fps' No '23.976', '25', '24Fps'
'Sample Rate' / 'SR/Hz' / 'Frequency' No '48000', '48K'
'Bit Depth' / 'Bits' No '24', '24 b'

Each take needs an end point, but the report can express it either way: an 'End TC' column, or a 'Length' / 'Duration' column that Wave Copilot adds to the start timecode. Sound Devices 8-series sound reports carry 'Length' and no end column, and load without any editing. If a report has both, 'End TC' is used, and 'Length' fills in for any row where the end cell is empty.

Length cells are read as 'HH:MM:SS' (the Sound Devices format), 'HH:MM:SS:FF', 'MM:SS', or plain seconds. Three fields are always read as hours, minutes and seconds, never as minutes, seconds and frames.

The 'TC Start' / 'TC End' / 'Frequency' / 'Bits' / 'TC Fps' aliases match the column names used in Cantar poly reports. Sample rate values with a 'K' suffix (e.g. '48K') are interpreted as kHz automatically.

Compatible formats:

Note: If 'Frame Rate' is not present in the take table, it is read from the report's preamble block (the key and value rows above the column header, as written by Sound Devices reports), and failing that inherited from the loaded secondary files, the same fallback used in Custom TC Range mode. Sample rate and bit depth are read from the preamble the same way. The frame rate matters for lengths given in frames and for pull-down rates such as 23.98, where 112 timecode seconds are 112.112 real seconds.


Poly WAV Output (Match Reference Files)

Enable the Poly WAV Output checkbox in Match Reference mode to assemble all secondary files that overlap a reference take into a single polyphonic WAV per take, rather than exporting individual trimmed files.

Use this when a secondary recorder delivered separate mono or polyphonic files that need to be combined back into one poly file alongside your primary recording, for example a client delivering a multi-mic secondary as individual mono tracks.

How it works:

How to use:

  1. Load primary recorder files into the session list
  2. Open the Split/Combine panel → Conform tab, with Match Reference Files selected
  3. Add your secondary file(s) using + Add Files (select files or a folder) or drag and drop
  4. Check Poly WAV Output. This setting is saved automatically and restored the next time you open the app
  5. Review the Poly Output Preview. Each row is one output file; expand it to see and reorder its channels
  6. Choose an output format (Match reference or Custom) and select an output directory
  7. Click Combine & Export

Note: The "Keep original" format option is not available in Poly WAV Output mode because the output combines multiple sources that may have different formats. Use "Match reference" (default) to target the primary file's sample rate and bit depth, or "Custom" to specify manually.

Merge With Reference (Match Reference Files)

Merge with reference, below the Poly WAV Output checkbox, adds each reference take's own channels to its poly file, so the primary recording and the secondary files end up in one file.

Use this when you want the recorder's take and the secondary sources side by side for comparison or for handing on a single file, for example a 5-channel ISO take plus four radio-mic secondary files, giving a 9-channel output.

Note: A file that is already in the session file list is a reference take, so it cannot also be added to Secondary Recordings. Use Merge with reference to include it rather than loading it twice. See Secondary Recordings below.

Channel Order (Poly WAV Output)

Channel order in a poly output follows the Secondary Recordings list order, the order you added the files, with each file contributing its channels in their own order. This applies to both Match Reference and Custom TC Range, and to mono and polyphonic secondary files alike.

To change it, expand an output file in the Poly Output Preview:

Custom TC Range produces a single output file, so its channel order is set once and applies to that file.

How to Use: Custom TC Range

Conform in Custom TC Range mode, trimming to a manually specified timecode window
Conform in Custom TC Range mode, trimming to a manually specified timecode window

Use this when no primary takes exist for the moment you need to recover.

  1. Open the Split/Combine panel → Conform tab
  2. Select Custom TC Range
  3. Add your secondary recording(s) using + Add Files or drag and drop
  4. The frame rate and drop-frame setting are detected automatically from the first secondary file
  5. Start TC and End TC (HH:MM:SS:FF) are prefilled with the full span of the loaded secondary files, the earliest start and the latest end, so the default window covers everything. Narrow it by typing your own, or set it by ear with the Audition strip described below; end must be later than start
  6. Optionally enter a Scene and Take label used for the output filename
  7. Review the match table. Each row represents one secondary file trimmed to the specified window
  8. Choose an output format and select an output directory
  9. Click Trim & Export

About the prefilled range: the window keeps following the loaded files (adding or removing a secondary widens or narrows it) until you set a timecode of your own, by typing it or by moving a locator, after which your values stay put through any further file changes. A Full range button appears in the TC Range header whenever the current values differ from the full span; click it to go back. Secondary files without timecode are ignored when working out the span.

Setting the Range by Ear

Often you know the moment you need by sound, the slate or the first line, and not by number. The Audition strip in the TC Range section lets you find the window by listening instead of typing it.

Click Audition to open it. Each lane is one channel of the poly output, numbered and named exactly as the Poly Output Preview lists it, laid out on a single timecode ruler at its own start time, so you can see at a glance which recorders were rolling when. Clips are placed by their timecode and cannot be dragged; this is a view of where your material actually sits, not an editor.

Because a lane is an output channel and not a file, a transmitter recorded across several files, or two files carrying the same track name, appear as one lane holding several clips, labelled with how many files were joined. A polyphonic secondary fans out the other way, into one lane per track. That is exactly how the export groups them, so what you see here is what you will get.

Two recordings only share an output channel when they are really one recording. That means the same kind of source, not sounding at the same time. A take split across several files by a recorder's file-size limit rejoins, which is the point of grouping by track name at all; anything else keeps its own channel, and the extra one is named after the first with a number, so a bag track and a transmitter both labelled 'Boom' come out as 'Boom' and 'Boom_2'.

Two things count as the same kind of source:

A polyphonic file and a mono file are never blended, whatever their track names say, and neither are two sources that sound at the same time: one output channel holds one signal, and blending them would mean writing one over the other and losing it. The strip says so in an amber banner naming the channels it made, and they appear as separate lanes in both the strip and the Poly Output Preview. If you would rather two of them were joined, rename the track in one of the files, in the Metadata editor or on the recorder.

The window itself is drawn over the lanes as two amber locators, I and O, with everything outside them dimmed. What stays lit is what will be exported.

The transport plays every lane together, mixed the way the export will sound, starting from the playhead.

Listening to one channel at a time

Each channel has its own mute, solo and volume beside its name, with a level meter, the same controls the Sync tab gives its lanes. Use them to pick a voice out of a crowded window: solo the boom to find the slate, or mute a transmitter that is rustling over the line you are trying to hear.

All of it is monitoring only. Mute, solo and volume change what you hear while choosing the range and have no effect whatever on the exported file, which always contains every channel at its original level.

Each lane plays the channel it stands for, so you hear every channel the conformed output will contain, and the waveform drawn beside it is that same channel. Where one lane is fed by several files, they are heard in turn as the playhead reaches each. This is a monitoring mix for finding a moment, not a balance, and none of it affects the exported file.

Reordering channels in the Poly Output Preview reorders these lanes to match.

The loop button, on by default, plays the window over and over so you can judge both ends. There is a brief gap at the moment it wraps, because looping seeks the audio stream; this affects only the preview, never the exported file.

Moving a locator counts as setting the range by hand, exactly as typing a timecode does, so the window stops following the loaded files from then on. Full range puts it back.

Note: Wave Copilot plays audio in one place at a time. Starting the Audition strip stops the Playback tab and the Sync tab, and starting either of those stops the strip. Nothing ever plays over anything else.

Secondary recordings without timecode do not appear in the strip, because there is no way to know where they belong on a timecode ruler. Give them timecode first with Audio TC or Sync by Audio, and they will join it.


Poly WAV Output (Custom TC Range)

Enable the Poly WAV Output checkbox in Custom TC Range mode to assemble all secondary files that overlap the specified TC window into a single polyphonic WAV, rather than exporting individual trimmed files.

Use this when your secondary sources are spread across multiple mono or poly files and you want a single combined poly WAV covering a specific timecode window, for example a multi-mic recording from a body-pack transmitter and a boom mic that both need to be in one file.

How it works:

How to use:

  1. Open the Split/Combine panel → Conform tab, with Custom TC Range selected
  2. Add your secondary file(s) using + Add Files (select files or a folder) or drag and drop
  3. Enter a Start TC and End TC
  4. Optionally enter a Scene and Take label
  5. Check Poly WAV Output. This setting is saved automatically and restored the next time you open the app
  6. Choose an output format (the format defaults to the first secondary file's own rate/bit depth; use Custom to override) and select an output directory
  7. Click Combine & Export

Note: The "Keep original" format option is not available in Poly WAV Output mode. The format defaults to the first secondary file's sample rate and bit depth, or use "Custom" to specify manually.

How to Use: Track Replace

Conform in Track Replace mode, swapping individual tracks for secondary audio
Conform in Track Replace mode, swapping individual tracks for secondary audio
  1. Load your primary polyphonic recorder files into the Wave Copilot session list
  2. Open the Split/Combine panel → Conform tab
  3. Select Track Replace
  4. Add your secondary recording(s) using + Add Files (select files or a folder) or drag and drop
  5. Each primary take appears as a collapsible section. For each take, every output channel is listed with a source dropdown
  6. Assign sources for each channel (see Channel Assignment below)
  7. Click Apply to all takes to give every other take the same assignment, then check any take flagged with an amber 'ch unmatched' badge
  8. Select an output directory
  9. Click Replace Tracks & Export

Note: Mono files and multi-mono groups are excluded from Track Replace mode. Only polyphonic (multi-channel) primary files appear as reference takes.

Track Replace has no output format section. Each output file always takes the sample rate and bit depth of its own reference file, and always has exactly the reference file's duration. A 32-bit float secondary replacing a channel in a 24-bit take is converted to 24-bit on the way in.

Only the takes you have set up are written. A take with nothing set on it would come out as a byte-for-byte copy of the file you already have, so it is left alone: no output file, and no place in the progress count. That covers takes no secondary overlaps, which cannot be assigned at all, as well as takes you simply have not got to yet. Such a take is marked 'not exported' in its header, and a line above the take list reads, for example, '3 of 12 takes will be written'. The export button counts the same files, so 'Replace Tracks & Export (3 files)' is what you will get.

A take counts as set up when a channel is replaced, a channel is dropped, or a track is renamed. Any one of those is enough. Normalize audio is not, on its own: it changes files that are being written rather than giving an untouched take a reason to be written, and Track Replace already refuses to export when nothing at all has been set up.


Channel Assignment (Track Replace)

Each primary take has its own independent channel assignment panel.

Source options per channel:

Each secondary option names its file, for example 'TX1_001 · Ch 1', or 'TX1_001 · Ch 1 — Boom' where that channel has a track name. The file is part of the option itself rather than only the group heading, because a closed dropdown shows only the selected option's own text. With two transmitters loaded, a bare 'Ch 1' on two rows would not tell you which one feeds which; and after a rollover, Apply to all takes deliberately points each take at the file that covers it, so the same channel legitimately reads from a different file take to take.

Track names in the output:

A replaced channel keeps the name the primary take gave it. Swap the take's 'Lav1' for a transmitter's clean copy and the output channel is still 'Lav1', whatever the secondary called that channel, because the track's identity has not changed, only where its audio came from. The editor receives the track list they were expecting.

The secondary's name is used only where the primary has none to keep: a channel the primary left unnamed, or a channel you added with Add Output Channel, which has no primary channel behind it. If neither side names the channel, it is written as 'Ch 3' for the third output channel, and so on. Dropping channels does not shift the names, since each output channel carries the name of the primary channel it came from, not of the slot it ends up in.

Each channel row is labelled with the name its output track will carry, so you never have to work it out. A row fed from a secondary but named by the primary keeps reading 'Ch 4 — Lav1'. A row the secondary names reads that name instead: an added channel pointed at a transmitter's 'TXA' reads 'Ch 5 — TXA (extra)', and changing which secondary channel feeds it changes the label with it. Hover any row and the tooltip says which output track it becomes and where that name came from.

Renaming an output track:

Click a channel's name to type your own. The name you type wins over both the primary take's name and the secondary's, and it belongs to the output channel rather than to whatever feeds it, so pointing the row at a different secondary afterwards leaves your name in place. Press Enter or click away to keep it, Escape to abandon the edit.

Empty the box to go back to the automatic name, which is offered as the box's placeholder so you can see what you are going back to. Typing the automatic name in by hand does the same thing, rather than freezing today's name into the assignment.

A renamed channel is shown in blue. Renames travel with Copy, Paste and Apply to all takes, since the same rig feeds every take and a correction on one take is a correction on all of them. Reset on a take clears its renames along with the rest of its assignment, and Undo takes back one rename at a time like any other change.

Renaming is reason enough to export. A take where nothing is replaced and nothing is dropped, but a track has been renamed, still enables Replace Tracks & Export, because the new name has to be written into a file before it reaches the edit.

Auto-matching by track name:

When secondary files are loaded, Wave Copilot compares the track names stored in the primary file's metadata with the track names in each secondary file. If a match is found (case-insensitive), the secondary channel is pre-selected.

Matching needs a name on both sides. Most transmitters and small recorders write no track names at all, so nothing is matched automatically and every channel starts on 'Reference (keep original)'. When Wave Copilot can see that none of your secondary files carry track names, it says so at the top of the Channel Assignment panel, so you are not left wondering why nothing happened. In that case, set one take up by hand and copy it to the rest.

Copying one take's assignment to the others:

The same rig usually feeds every take of the day, so the assignment you build on one take is the answer for all of them. Expand a take, set its channels the way you want, then click Apply to all takes at the bottom of that take.

Wave Copilot does not blindly copy the file you picked. It remembers which secondary device fed each channel and then finds that device again for every other take, choosing from the secondary files that actually overlap that take. A transmitter that rolls over mid-shoot and writes TX1_001.wav, then TX1_002.wav, is recognised as one device: takes early in the day are fed from the first file and later takes from the second, with no extra work from you. When several files of one device overlap a single take, the one covering most of the take is used.

A summary line under the panel header reports what happened, for example 'Applied to 11 takes · 2 need attention'.

Takes that could not be matched:

A channel is only assigned where that device genuinely reaches the take. If no copy of the device covers a take, those channels stay on 'Reference (keep original)' rather than being guessed at from a different device, and the take's header shows an amber '2 ch unmatched' badge so you can find it and finish it by hand. The badge clears as soon as you change one of that take's dropdowns.

Copy and Paste, for takes you pick yourself:

To apply an assignment to some takes but not others, click Copy at the bottom of the take you set up. Copy changes nothing on its own.

Each take has a single button with three states:

Pasting does not use the copy up. The green outline stays and the Paste buttons remain, so one copy can fill as many takes as you like.

Apply to all takes copies nothing. It is a finished action: every take already has the assignment, so there is nothing left to paste and no take is outlined afterwards.

Stop copy ends a copy: every button reads Copy again, and takes added later stop being assigned from it. Use it before copying a different take. The X beside the line in the panel header does the same thing. Neither is an undo, so assignments already applied stay as they are.

A copy is a snapshot of one take, so editing that take ends the copy by itself. Change one of its dropdowns, drop or restore one of its channels, add or remove an output channel on it, or reset it, and the green outline clears along with the Paste buttons. Editing any other take leaves the copy alone, so one copy still fills as many takes as you like. A bulk action that reaches every take, such as the Drop channels preset or Reset silent tracks, ends a copy too.

Undo and Redo count as changes for this. Stepping back past the edit that shaped the copied take would leave the copy describing something that take no longer is, so it ends there as well. Undo that only puts a different take back, such as taking back a paste, leaves the copy armed.

Reset, for one take:

Reset, at the bottom of each take, puts that take back where it started: every channel matched by track name or left on 'Reference (keep original)', nothing dropped, and no added output channels. It affects only that take. An Undo reset take button appears in the panel header afterwards.

Takes added later:

A copied assignment stays active for the rest of the session: primary files you add to the session afterwards arrive already assigned instead of landing empty. Where a take's own track names do match a secondary, that match is used in preference to the copied assignment.

This follows Copy only. After Apply to all takes, nothing is remembered, so a take you add later lands unassigned apart from the ordinary track-name match. Use Copy when you want later takes covered as well.

A line in the panel header names the take the assignment came from. Ending the copy, with Stop copy on that take or the X beside that line, only removes the green outline, turns the Paste buttons back into Copy, and stops new takes being assigned from it.

Added output channels:

An output channel you added with Add Output Channel is copied along with the rest of the assignment. It is recreated on a take only where the device feeding it actually reaches that take, since an added channel has no reference channel to fall back on.

Undoing:

Every change to the channel assignments is recorded, up to 25 steps back. Undo and Redo sit at the top left of the Channel Assignment panel. Each click of Undo steps back one more change; Redo puts one back, and making a new change drops the redo.

Both buttons are always there and always in the same place. When there is nothing to undo or redo, the button is greyed out rather than hidden, so neither ever moves under the pointer.

Ctrl/Cmd + Z undoes and Shift + Ctrl/Cmd + Z redoes, while Track Replace is the panel on screen. The shortcut stands aside when a text field has focus, so typing in a filename or a timecode keeps its own undo.

Hover either button to see the change it will act on, for example 'Take back: reset take · 3 steps available'. The names are distinct on purpose: resetting one take reads 'reset take' while Reset silent tracks reads 'reset silent tracks', so the tooltip always says which one it means.

Copy, Stop copy and the Undo history itself are not recorded, since none of them change an assignment.

TC-filtered dropdowns:

The secondary file channels available in each dropdown are filtered to only show secondary files whose timecode overlaps the reference take's timecode window. A secondary file recorded during a different part of the day will not appear for takes it did not cover.

Silent channel warning:

When secondary files are loaded in Track Replace mode, Wave Copilot scans each file and measures the peak level of every channel. If a channel's peak is below the silence threshold, a ⚠ icon appears next to its dropdown. Hover the icon to see the measured peak level. This typically indicates the microphone was not connected to that input during recording. You can still assign the channel. The warning is advisory only.

Silence threshold:

A Silence threshold slider in the Channel Assignment header controls the dBFS level below which a channel is considered silent. The range is −90 to −48 dBFS and the default is −72 dBFS. Drag the slider left to only flag very quiet channels, or right to flag more channels as silent. The setting is saved between sessions.

When one or more assigned secondary channels are below the threshold, a Reset silent tracks to Keep Reference button appears. Click it to automatically switch all flagged channels back to Reference (keep original) in one step, which is useful for quickly cleaning up any accidental assignments to dead inputs.

Remove silent tracks from output:

Enable the Remove silent tracks from output checkbox (below the Normalize audio checkbox) to automatically exclude all silent secondary channels from the exported file entirely. When enabled, silent channels are dropped from the output rather than replaced with reference audio, reducing the output channel count accordingly. For example, a 6-channel assignment where 2 secondary channels are below the silence threshold produces a 4-channel output file. When disabled (default), all assigned channels are written to the output as configured. This setting is saved between sessions.

Dropping channels from the output:

Any channel can be left out of the exported file, not only the silent ones. This is what lets you strip a ruined mix pair in the same pass that rebuilds the isos, instead of running Split Poly afterwards to do it.

Click the drop button at the end of a channel row, the circle with a line through it, to leave that channel out. The row stays where it is, struck through and greyed, and its dropdown is disabled; the button becomes a restore arrow, which brings the channel back. Nothing is renumbered while you work, so the row always tells you which channel of the original file it came from. When a take has channels dropped, its header reads the old and new counts, for example '6 ch → 4 ch'. The last surviving channel of a take cannot be dropped.

Two shortcuts in the Channel Assignment header set the dropped channels for every take at once:

The detector is deliberately narrow. A channel named simply L, R, LR or ST, or Master or Mixdown, is not treated as a mix, because those turn up as genuine iso names often enough that a false positive would silently strip a track you wanted. Drop those by hand, or with a preset.

Dropping channels alone is a complete job. Where nothing is being replaced, Replace Tracks & Export still runs and writes your poly back out without the channels you dropped, which is the shortest route to 'export this file without channels 3 and 4'.

Whatever survives is compacted into the output with no gap: the iXML track list is rewritten with the surviving names, its channel and interleave indexes are renumbered from 1, and the file's format chunk carries the reduced channel count. Timecode, scene, take and tape are unaffected.

Adding output channels:

Each take has an Add Output Channel button to append an extra channel to that take's output, which helps when you want to include an additional secondary track not present in the original primary file.

Channels with no valid secondary channel assigned output silence. A warning is printed to the console log if a secondary file ID is no longer present or has no timecode overlap.


Reference Source: Session Files or CSV File

The Reference Files panel takes its list of takes from one of two places, chosen with the toggle on its right:

Scene and Take are optional throughout. They are used to label the output files and to make the match table readable; matching itself is done purely on timecode overlap, so takes with no scene or take number still conform correctly.

Match Table (Match Reference Files & Custom TC Range)

Icon Meaning
✓ Full match: take is fully within the secondary recording
⚠ Warning: partial overlap, or sample rate differs between files

Hover the warning icon to see details.


Trim In and Trim Out show the exact timecodes the secondary will be cut at for each row, and Duration the length that produces. They are derived from the reference take, so they are the clearest way to confirm a match landed where you expected before exporting.

Remove All clears the Secondary Recordings list in one step. Individual files are removed with the x on their own row.

Normalize Audio

All three conform modes include a Normalize audio to –1 dBFS checkbox. When enabled, each secondary channel is analysed with a FFmpeg 'volumedetect' pass before extraction, and a gain adjustment is applied so the peak level reaches –1 dBFS.

This is particularly useful for 32-bit float secondary recordings that were captured at low levels, but the option applies to any format. Format-specific normalization is not required. The same path is used regardless of bit depth or encoding.

Each conform mode saves its Normalize setting independently. Switching from Match Reference to Track Replace (for example) will restore the Normalize state you last used in that mode. Your per-mode preferences are preserved between sessions.

Spike Reduction. Under the Normalize checkbox, Spike Reduction optionally tames very short, unwanted transients (for example clicks and claps) before normalizing. It is useful when the average dialogue level is low but there is an occasional loud short transient, as in transmitter 32-bit float recordings: without it, one spike sets the peak and the dialogue is barely raised. Each secondary channel is checked for spikes first, any it finds are brought down to the level of the loudest non-spike peak, so they stay audible but no longer decide the gain, and the normalize gain is then worked out from what is left. Avoid it on bursts of loud audio such as applause, continuous shouting, thunder and explosions. It is only available while Normalize is on, and it is the same setting in all three modes.


Output Format Options (Match Reference Files & Custom TC Range)


Output Filename Templates (All Conform Modes)

Each conform mode has its own Output Filename section for custom naming schemes (see Custom Output Filenames). Match Reference, Custom TC Range, and Track Replace each remember an independent template. The preview always reflects what will be exported: with Poly WAV Output enabled it previews the poly job names, otherwise the per-take trim names. The Secondary Name chip resolves to the secondary recording each output (or each channel, for poly output) comes from, and Sample Rate / Bit Depth follow the Output Format selection above.


Notes


Where Your Files Are Saved

Every operation that writes new files asks for an Output Directory. Beside that field is a Same as Source option, which saves each file next to the audio it came from instead of into one folder you browse to.

This never modifies your originals. Wave Copilot always exports copies, so the source files you recorded stay exactly as they were. The only exception is metadata editing, which by design writes back into the files themselves.

What Same as Source Does

When the option is on, each output is written into a subfolder created next to its own source file. Nothing is ever written loose among your originals.

The subfolder matters most on a batch that spans several folders. If you load takes from two different roll folders and run one job, each output stays under its own parent instead of everything being flattened into a single destination:

/Day01/Roll_A/Boom.wav          (your original, untouched)
/Day01/Roll_A/Split/Boom_1.wav  (the export)
/Day02/Roll_B/Boom.wav          (your original, untouched)
/Day02/Roll_B/Split/Boom_1.wav  (the export)

Two files with the same name in different folders therefore stay separate, and neither can overwrite the other.

Which File the Output Is Saved Beside

Most operations produce one output per input file, so the answer is simply 'next to that file'. Others combine several files into one, and those have to pick a single folder. The panel tells you which one, and this table lists them all.

Operation Subfolder created Saved beside
Convert Format The format folder, e.g. '48000Hz_24bit' Each file you are converting
Export Mix 'Mix_24bit', and 'Poly_With_Mix' when embedding Each file you are mixing
Split Poly 'Split' Each poly you are splitting
Combine Mono (batch) 'Combined' Each multi-mono group's own files
Combine Poly 'Combined' Each primary file
Combine Group 'Combined' Each group's metadata source file
Conform, Match Reference 'Conformed' Each reference take
Conform, Track Replace 'Conformed' Each reference take
Conform, Custom TC Range (trimmed files) 'Conformed' Each secondary recording
Sync by Audio, poly export 'Synced_Poly' The anchor file
Audio TC, mute LTC burst 'LTC_Muted' Each file being muted

Three of these are worth explaining, because they are not where you might first assume.

Conform saves beside the reference take, not the secondary recording. The conformed takes are the day's takes, so they belong with the rest of them. Secondary recordings often live on a separate drive or in their own folder, and filing new takes there would separate them from the material they match. The Custom TC Range mode is the exception only because it has no reference take: you type a timecode range instead, so those files are saved beside the secondary they are cut from.

Combine Group saves beside the group's metadata source. Each group has a member you nominate as the metadata source, and the combined poly takes its scene, take, timecode and notes from that file. It is the file the output belongs to, so it is the one the output is saved beside. Changing which member supplies the metadata therefore also changes where the file is saved, while merely rearranging the group does not.

Sync by Audio saves beside the anchor file. A sync export assembles many files into one poly, so there is no single source folder. It uses the reference lane, which is the file everything else was aligned to and the file the poly takes its metadata from. Reordering lanes to change the channel order in the poly does not move the output.

When Same as Source Is Not Offered

Some operations assemble many files into a single output, which leaves no source folder to save beside. Where there is a designated anchor the option still works, as with a sync export, which follows the anchor file, or a Match Reference poly, which follows its own reference take. Where there is no such file, the option is withdrawn and the output directory field is cleared so you can choose where the assembled file should go:

Custom TC Range still offers Same as Source when Poly WAV Output is off, because it then produces one trimmed file per secondary and each has its own folder to sit beside.

Combine Mono offers Same as Source in batch mode only. Manual mode asks for a complete output file path instead of a directory, so you are already choosing exactly where that one file goes.

Copying files from the file list has no Same as Source option either, since copying a file next to itself would achieve nothing.

Remembering Your Choice

The setting is remembered separately for each operation and restored the next time you open the app. Turning it on for Convert Format does not turn it on for Split Poly. Switching it back off restores the folder you had previously browsed to.


Custom Output Filenames

Every operation that writes new files (Rename, Convert Format, Export Mix, Split Poly, Combine Mono, Combine Poly, Combine Group, and all three Conform modes) includes an Output Filename section where you can define your own naming scheme instead of the automatic one.

Automatic vs. Custom

Building a Template

  1. Expand the Output Filename section and select Custom
  2. Click attribute chips (Scene, Take, Start TC, …) to append them to the Result row; click Free Text to insert your own text (prefixes, suffixes, version tags)
  3. Drag chips in the Result row to reorder them; click a chip's × to remove it
  4. Choose a Separator (underscore, dash, dot, space, or none) inserted between every part
  5. Check the live Preview, which shows the resulting names for the actual files about to be processed

Your template is saved automatically per operation and restored every time you open the app. Configure it once and it applies until you change it. Each operation has its own independent template, including a separate one for each Conform mode.

Available Attributes

Every operation offers a shared metadata core (Project, Scene, Take, Tape, Date, Start TC, End TC, Sample Rate, Bit Depth) plus operation-specific chips. Free Text is always available. Full matrix:

Chip Rename Convert Export Mix Split Poly Combine Mono Combine Poly Combine Group Conform: Match Ref Conform: TC Range Conform: Track Replace
Name (source file) ✓ ✓ ✓ ✓
Project ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓¹ ✓
Scene ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
Take ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
Tape ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓¹ ✓
Date (YYYY-MM-DD) ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓¹ ✓
Start TC ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
End TC ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
Originator (recorder) ✓ ✓ ✓
Sample Rate² ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
Bit Depth² ✓ ✓ ✓³ ✓ ✓ ✓ ✓ ✓ ✓ ✓
Channels (count) ✓ ✓ ✓ ✓ ✓ ✓
Circled ✓ ✓ ✓
Track Name ✓
Channel Number ✓ ✓
Group Name ✓ ✓
Primary Name ✓ ✓ ✓
Secondary Name ✓
Secondary Name ✓ ✓
Automix Mode (GS/IG) ✓
Mix Format (stereo/mono) ✓
Format (WAV/MP3/AAC) ✓ ✓
Free Text ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓

¹ Custom TC Range has no reference file, so Project, Tape, and Date are read from the secondary recording's metadata.

² Sample Rate and Bit Depth describe the output file, not necessarily the source: Convert and Export Mix report the format selected in the dialog, Combine Poly and Combine Group follow their own Match primary/first file / Match secondary / Custom selection, and Conform follows the Output Format options. "Keep original" and unconverted operations report the source format.

³ In Export Mix the chip is labelled Quality: it resolves to the bit depth for WAV output (e.g. '24bit', '32f') and to the selected bitrate for MP3/AAC output (e.g. '320kbps').

When Add the mix to the poly WAV is enabled, that merged file gets its own Output Filename section, inside the same panel as its other options, with the same chips as Export Mix except Format, which is dropped because the merged file is always a WAV. Sample Rate and Bit Depth there describe the source poly, since the embedded mix always matches it.

Behaviour Details


Sync by Audio

The Sync by Audio tab after alignment, one lane per file with its match confidence
The Sync by Audio tab after alignment, one lane per file with its match confidence

Align recordings by their audio content instead of relying on embedded timecode, then write the result to every file's metadata, assemble the aligned session into a single poly WAV, or both. This is built for two common situations: syncing a secondary recorder that carries no timecode of its own to a main recorder that does, and aligning recordings that were never given timecode at all.

Your original recordings' audio is never modified. Sync by Audio computes offsets and, when you save, writes timecode metadata. The optional poly export writes a new file of its own and leaves every source exactly as it was.

How to Use

  1. Open the Sync tab. The Loaded Files panel on the left lists every file currently loaded in the app (poly, mono, or multi-mono groups each count as one selectable item). You can add more without leaving the tab: drag WAV files onto the panel, or use the button above it to browse. Files added this way are checked as they arrive, so they join the alignment straight away. The control on each row takes that file back out of the session.
  2. Check the files you want to sync, at least two of them. Each checked file (or multi-mono group) appears as its own lane with a waveform.
  3. If a file has more than one channel, pick which one to match on from the dropdown next to its name (see Choosing the Channel below). The default, channel 1, is right most of the time.
  4. Click Align by Audio. Every non-reference lane is analyzed against the reference lane using audio cross-correlation, and each lane's waveform block moves to its computed offset. A match-confidence percentage is shown next to each lane.
  5. Press Play (or 'Space') to listen to every lane together and confirm the sync sounds right. Use Mute, Solo, and the volume slider per lane to isolate what you're listening to.
  6. Fine-tune if needed: drag a lane's waveform block directly, or use the ±1 frame / ±10 ms / ±1 ms nudge buttons next to each lane.
  7. Set the Anchor TC and frame rate if the reference file has no timecode of its own (see Timecode and Frame Rate below).
  8. Click Save & Export…, choose whether to write timecode, export a poly WAV, or both, and review before writing.

The Reference Lane

One lane is always the reference, the anchor everything else is aligned to, shown with a blue waveform and an anchor icon. By default, the first file with existing timecode becomes the reference. Click the anchor icon on any other lane to make it the reference instead; every other lane's offset is re-expressed relative to the new reference automatically.

Alignment and Confidence

Alignment uses cross-correlation of each file's audio content, not a simple waveform match, so it works even when files were recorded at different levels or through different microphones. The confidence percentage shown per lane reflects how distinct the correlation peak is, not how much of the audio matches:

Always confirm alignment with Play before saving, regardless of the confidence score.

A low score is often a channel problem rather than an alignment problem. Alignment matches one channel per lane, and by default that is channel 1. If channel 1 on that recorder happens to be a lav that stayed closed, there is little for the matcher to work with even though the boom on another channel of the same file lines up perfectly. Before nudging by hand, try pointing the lane at a livelier channel and running Align by Audio again.

Choosing the Channel

Each lane with something to choose from has a dropdown next to its file name:

The choice applies to all three places the lane's audio is used: what it is matched on, what its waveform block draws, and what you hear when you audition it. So what you see, what you hear and what you align on are always the same signal. Changing it clears that lane's match confidence and returns it to pending, since the previous result was correlated against a different signal; the lane's current offset is kept, so nothing jumps on screen, and a manual nudge stays manual. Changing it mid-preview restarts the audition on the new channel.

The selection lasts for the session and is not saved between app launches.

Manual Adjustment

Waveform Display

Audition Playback

Play mixes every selected lane together into a single synchronized preview so you can judge the alignment by ear, independent of the main Playback tab and the detached Playback window (only one can play at a time: opening the Sync tab stops the other, and leaving the Sync tab stops the Sync preview). Per-lane controls while previewing:

Control Action
Mute Silences that lane
Solo (S) Isolates that lane
'Ctrl/Cmd' + click Solo Exclusive solo, solos only this lane and unsolos others
Volume slider Adjusts that lane's level in the preview mix
Double-click volume slider Reset gain to unity (0 dB)
Level meter Shows real-time signal from that lane during playback

Checking or unchecking a file, or re-running Align by Audio, while the preview is playing seamlessly restarts the mix with the updated lane set or offsets. You don't need to stop playback first.

Timecode and Frame Rate

Saving and Exporting

Save & Export… is the single way out of a session. It opens one dialog with two independent choices: write the aligned timecode into your original recordings, export the aligned session as a poly WAV, or do both in one pass. Neither depends on the other, and the button names whichever you have chosen: Write Timecode, Export Poly, or Write TC & Export Poly.

Writing timecode

Ticking Write the aligned timecode to the original files lists every file's current and new timecode before anything is written. Files whose computed timecode doesn't change are shown as unchanged and skipped. Review any warnings (low confidence, clock drift, a timecode conflict, or a value wrapping past midnight) before confirming.

What gets written, per file:

A multi-mono group is written as a single lane. Moving or saving it applies the same timecode to every member file in the group.

Exporting an aligned poly WAV

Ticking Export an aligned poly WAV reveals the rest of the options and assembles the whole session into one multi-channel WAV. Each recording sits at the position you aligned it to, with silence where a file has not started yet, so the file opens in an NLE already in sync. Source audio is never modified by the assembly.

These options, including whether each of the two boxes is ticked, are remembered between sessions.

When both boxes are ticked, timecode is written first, so a problem during assembly never costs you that write. Writing timecode is not a prerequisite for the export, though. The poly is laid out from the alignment itself, not from the files' stored timecode, so a session showing No TC everywhere exports correctly with the timecode box left unticked. The poly's scene, take, tape and originator come from the anchor file (or, when the anchor is excluded, from the earliest file in the poly), and its frame rate is the one selected in the toolbar. Its start timecode is the earliest position on the assembled timeline, which is what the audio actually begins at.

The estimated channel count, length, format and file size are shown before the write. The timeline spans from the earliest lane to the latest, so lanes far apart in time produce a long, mostly silent file. A gap over ten minutes, or an estimate over 4 GB, is flagged in amber. If the aligned timeline crosses midnight, that is flagged too: the poly's own start timecode wraps into the next day, as timecode must, while the channels stay correctly spaced relative to each other.

When the export finishes, Wave Copilot reports what it wrote and asks whether to Add to List. Choosing Don't Add leaves the poly on disk untouched, so an export never joins the takes you are still syncing unless you say so. Adding it puts it in the file list without selecting it as a lane.


Audio TC

Audio TC after a scan, showing the burst it decoded and the timecode it will write
Audio TC after a scan, showing the burst it decoded and the timecode it will write

Read SMPTE timecode that was recorded as audio at the head of a file, write it into the file's timecode metadata, and optionally mute the burst.

This is for the rig without a timecode-capable transmitter. Jam a timecode generator into the transmitter or recorder track, record a few seconds of it, then plug the mic in and shoot. The camera and the sound file now share a clock, but the sound file's timecode only exists as an audible burst at its head. Audio TC turns that burst into real BWF timecode, after which the file behaves like any recorder file: Conform, Combine Group, Sync by Audio and Sound Reports all work with it, and it lines up in an NLE.

How to use:

  1. Load your files. Every loaded file is scanned, so there is nothing to select first
  2. Switch to the Audio TC tab ('Ctrl/Cmd + T')
  3. Choose how much of each file to scan (30 seconds by default, which is enough for any normal jam burst). Leave Timecode offset at 0 unless you have established that your generator needs it
  4. Click Scan for LTC and review the results table
  5. Tick the files to write, optionally enable Mute the LTC audio, and click Stamp Timecode

The results table:

Column Meaning
Timecode from Which channel's timecode is written to the file. It shows the channel Wave Copilot picked, marked (found), using the track's name from the file's metadata where it has one, for example 'Ch 5 · Mix L'. When the burst was found on more than one channel, all of them are listed underneath in channel order; every one is muted, whichever supplies the timecode. Choosing a different channel also forces a full scan of it, which can recover a burst too weak for the initial one-second probe
LTC at head The first timecode read out of the burst
Rate Frame rate and drop-frame, detected from the burst. The measured rate is shown underneath; override if needed
Burst The region that will be muted. With the burst on several channels this shows the widest of them; each channel is muted over its own range
Frames How many consecutive timecode frames were decoded
Conf. How well the burst decoded. Rows below 50% are left unticked for you to check
Current TC The file's existing timecode, if any. This is what will be replaced
New file TC The exact timecode that will be written. If the file already carries timecode, the difference is shown underneath in frames and milliseconds. See When the decoded timecode disagrees with the file below

Status flags:

When the decoded timecode disagrees with the file:

If a file already has timecode, the difference against the decoded burst is shown under the new value, in frames and milliseconds. A disagreement is not necessarily an error, and the size of it tells you which:

Watch the millisecond figure rather than the two timecode strings. The existing timecode is rendered at the frame rate stored in the file, and the decoded one at the rate read from the burst; where those differ, the two strings can read identically while being a frame apart, or read a frame apart while being nearly identical.

Muting:

Muting silences only the channels the timecode was found on, over the burst region. Anything else recorded at the same time on other tracks is kept. A short fade is applied at any edge of the region that borders real audio.

The same jam feed frequently lands on more than one track: an ISO channel and the mix L/R, or both legs of a stereo pair. Every channel carrying it is found and silenced where it sits, each over its own range, since the copies rarely start and stop at exactly the same moment. A six-track file with the burst on channel 1 and on the mix pair comes back with channels 1, 5 and 6 cleaned and channels 2–4 untouched.

Muted copies are written to an output folder you choose. Your original recordings are never modified. If a burst is mis-read, or the region is not the one you expected, the original is still there. Tick Also write timecode to the original files if you want the sources stamped too; that writes metadata only and leaves their audio alone.

Assembling a synced poly WAV:

Assemble everything into one poly WAV, synced by timecode combines the whole selection into a single multi-channel file instead of separate ones. Every channel of every file becomes a channel of the poly, placed at its decoded timecode. A take that started five seconds after another begins five seconds into the poly, with silence before it. This is the same idea as Poly WAV Output in Conform's Match Reference mode, except the timeline comes from the decoded bursts rather than from a reference take.

Channel order is the order of the results table, and you can set it: drag a row by the handle on its left. Sorting the main file list also carries through. Reordering changes only which channel a file lands on. Where it sits in time comes from its timecode, so moving a row never moves the audio.

Channels are named from each file's track metadata. Where two files use the same track name, the file name is added so they stay distinct. Two rigs both labelling a channel 'MixL' produce 'MixL (take1)' and 'MixL (take2)' rather than being merged.

When this is on, the individual muted copies are not kept: the poly is the output, and it contains the muted audio if muting is on.

Output Format works as it does in Conform. Match the widest source takes the highest sample rate and the deepest bit depth found among the selected files, and float if any one of them is 32-bit float, so assembling never degrades a source; the narrower files are converted into that format on the way in. The resolved format is shown next to the option. Choose Custom to set the sample rate and bit depth yourself. Normalize audio to –1 dBFS applies the same two-pass peak normalization used elsewhere in the app, and Spike Reduction under it tames short clicks and claps first.

Above the button you will see what the poly is going to be: channel count, length, format and approximate size. Read this line. The poly spans from the earliest file to the latest, so a selection whose timecodes are hours apart produces hours of silence with a few seconds of audio in it. Two seven-second takes stamped eight hours apart assemble into a perfectly correct 33 GB file. Anything with a long silent gap is flagged in amber and asks for confirmation; if the takes are not from one continuous period, select a smaller group.

Adding the results to the file list:

Nothing is loaded into the main file list behind your back. When a run finishes it reports what it wrote and asks whether to add the new files; declining leaves them on disk exactly as written.

Notes:


Sound Reports

The Reports tab, where columns, header fields and export format are configured
The Reports tab, where columns, header fields and export format are configured

Generate professional sound reports for production documentation.

Creating a Report

  1. Load your audio files
  2. Go to the Reports tab
  3. Optionally load a saved Template to restore all settings at once
  4. Configure report options across the Report Settings and Header & Recording tabs
  5. Export as PDF or CSV

Templates

Templates save and restore the complete report configuration: all settings, columns, file order, header info, and recording info in one click.

The Templates section is always visible above the tabs so you can save at any point, whether you are on Report Settings or Header & Recording.


Report Settings Tab

File Order:

Controls the sort order of files in the exported report:

Include Files:

Column Selection: Check the columns you want to include in the report:

Track Names Display:

Additional Rows:


Header & Recording Tab

The Header and Recording tab, which fills in the report header block
The Header and Recording tab, which fills in the report header block

Enter project and session details that appear in the report header.

Each field has two icon controls in its label row:

These settings are saved as part of a template, and the Header Information settings are also remembered between sessions.

Typing into a live field switches its ↺ icon off automatically. Your text is treated as a manual override and won't be overwritten when the file selection changes. Click ↺ again to hand the field back to the metadata. Clearing the file list leaves live fields showing their last values rather than blanking them.

Header Information fields: Project, Producer, Director, Job, Date, Location, Folder, Sound Mixer, Phone, Email, Client, Boom Op., Prod Co., Prod Co. Tel#, Comments. Of these, only Project (from file metadata), Folder (the parent folder name of the first file), and Date (today's date) can be derived; the rest are typed in and remembered between sessions.

Recording Information fields: Roll, Recorder, Media, File Type, Sample Rate, Frame Rate, Bit Depth, Tone Level, Mics. All except Tone Level (which defaults to -20 dBFS) and Mics auto-populate from the first file's metadata when files are loaded.


The Logo section at the top of the Header & Recording tab puts your own mark on the exported report.

Click Choose Image to browse for a file, or drag an image straight onto the preview square. PNG, JPEG and WEBP are accepted. Remove clears it again.

There is one logo, and it is shared by every report and every template. Loading a new image replaces the old one everywhere rather than adding a second. What each template decides is only whether to use it. The eye icon beside the Logo heading works exactly like the eye on the fields below it: blue means the logo is placed on the report, grey means it is left off. That setting is saved with the template, so a template for your own reports can carry the logo while one you send to a client does not. The eye stays greyed out until an image is loaded, since there is nothing to include before that.

In the exported PDF the logo sits at the top left of every page. It is scaled to fit a fixed slot and always keeps its proportions, so nothing is ever stretched or squashed whatever shape the original is.

The best size to supply. The slot is landscape, a little under 4 units wide for every 1 tall. An image of about 600 x 160 pixels fills it exactly. Larger is fine and is reduced for you, so there is no need to prepare anything precisely, but the shape matters more than the pixel count: a wide, landscape logo prints largest. A square or upright logo is limited by the height of the header band instead, and so prints noticeably smaller. Wave Copilot says so under the preview when the image you have loaded is tall enough for its width that this will happen.

A few things worth knowing:


Export Formats

PDF Export:

The top of each page carries your logo, where you have set one, and the title. The foot of every page carries the housekeeping: when the report was generated on the left, how many files it covers in the centre, and the page number on the right.

An exported PDF report looks like this. The page is Letter landscape, with a logo at the top left, the header and recording information laid out in two columns above the table of takes, and the generated date, file count and page number along the foot:

An exported PDF sound report, showing a logo at the top left, the header block, the recording information, the table of takes and the footer
An exported PDF sound report, showing a logo at the top left, the header block, the recording information, the table of takes and the footer

CSV Export:

Preview

The live preview table at the bottom of the page shows up to 5 files using the current settings.


Format Conversion

The Convert Audio Format dialog
The Convert Audio Format dialog

Convert WAV files to different formats, sample rates, and bit depths. MP3 and AAC (M4A) output includes the start timecode in the filename and embedded metadata.

Output filenames follow the source name by default (with the start-timecode suffix for MP3/AAC); the dialog's Output Filename section lets you define your own scheme instead. See Custom Output Filenames. When a custom scheme is active, it fully replaces the automatic name including the timecode suffix (add the Start TC chip if you want to keep it).

Opening the Converter

  1. Select files in the file list
  2. Right-click and choose Convert Format...
  3. Or go to File > Convert Format... ('Ctrl/Cmd + K')

Conversion Options

Output Format:

MP3 Bitrate (when MP3 is selected):

AAC Bitrate (when AAC (M4A) is selected):

Channel Handling:

Choose how a multi-channel source is folded down, or whether it is folded down at all:

The two stereo choices only matter for a source with more than 2 channels; a mono or stereo source passes through unchanged either way. The two mono choices fold any stereo or poly source down to 1 channel; a source that is already mono is left as it is.

Sample Rate (44.1 kHz and 48 kHz available for MP3 and AAC; full range for WAV):

Bit Depth (WAV only):

Dither (when reducing bit depth, WAV only):

Dither is applied only where the target word length is shorter than the source's, so leaving it set does nothing on a 16-bit to 24-bit conversion or on MP3 and AAC output.

Resampling Quality (shown when sample rate conversion is needed):

Conversion Process

  1. Choose output format (WAV, MP3, or AAC (M4A))
  2. Configure format-specific options (bitrate, channel handling, or bit depth)
  3. Select output directory
  4. Click Convert
  5. Progress is displayed for each file
  6. Review results when complete, then choose Add to List to load the new files into the main file list or Don't Add to leave them on disk

Output files are organised in a subfolder named after the target format:

Audio Level Options

The dialog has one level control, the Normalize audio to −1 dBFS checkbox. Clipping is handled separately and without being asked for, described below.

Normalize audio to −1 dBFS

Every channel is measured in a single pass and the gain applied during the conversion itself, so no split, adjust and recombine is needed. Works at any channel count, large multi-channel RF64 files included.

Spike Reduction

Below the Normalize checkbox, Spike Reduction optionally tames very short, unwanted transients (for example clicks and claps) before normalizing. It is useful when the average dialogue level is low but there is an occasional loud short transient, such as in transmitter 32-bit float recordings. Spikes are brought down first, to the level of the loudest dialogue peak, and the normalize gain is then worked out from that, so the dialogue comes up instead of being held down by one click. The spike is still there afterwards, as loud as your loudest dialogue. Avoid it on bursts of loud audio such as applause, continuous shouting, thunder and explosions. It is greyed out until Normalize is on. A file with no spike in it is converted exactly as it would be without the option.

When the conversion would clip

There is no option to switch on for this. When you click Convert, Wave Copilot checks for clipping on its own if all three of the following are true:

If any file would clip at the target bit depth, conversion stops and a Clipping Detected dialog names that bit depth and offers a choice:

Because the check is skipped whenever Normalize audio is on, and skipped for MP3 and AAC, you will only ever see this prompt on a WAV conversion you did not ask to normalize.

Other Features


MP3 Timecode Preservation

When converting to MP3, the start timecode (as shown in the Start TC column) is written as ID3v2 TXXX (user-defined text) tags. Additional bEXT fields are included when present in the source file.

ID3 Tag Content
'TXXX:BWF_TIMECODE' Start timecode as 'HH:MM:SS:FF'
'TXXX:BWF_SAMPLE_RATE' Source sample rate
'TXXX:BWF_ORIGINATOR' Recorder name (if present)
'TXXX:BWF_ORIGINATOR_REFERENCE' Originator reference (if present)
'TXXX:BWF_DESCRIPTION' Scene/take description (if present)

Read tags with: 'ffprobe -v quiet -print_format json -show_format file.mp3'

MP3 does not support bEXT, iXML, or cue point chunks natively. Use WAV output when full metadata round-trip is required.


AAC (M4A) Timecode Preservation

When converting to AAC (M4A), the start timecode (as shown in the Start TC column) is written as key-value metadata atoms in the M4A container, readable via 'ffprobe'.

Tag Key Content
'BWF_TIMECODE' Start timecode as 'HH:MM:SS:FF'
'BWF_SAMPLE_RATE' Source sample rate
'BWF_ORIGINATOR' Recorder name (if present)
'BWF_ORIGINATOR_REFERENCE' Originator reference (if present)
'BWF_DESCRIPTION' Scene/take description (if present)

Read tags with: 'ffprobe -v quiet -print_format json -show_format file.m4a'

Note: DaVinci Resolve cannot read timecode from audio-only M4A files. Use WAV if timecode sync in an NLE is required.


Export Mix

The Export Mix dialog, which renders your mixer settings into a new file
The Export Mix dialog, which renders your mixer settings into a new file

Export a rendered mix of each loaded file with your current mixer settings applied: per-channel gain, pan, mute, and solo. Output can be stereo (default) or mono. This is not a format conversion: Export Mix captures your creative mix decisions and writes them into a new audio file.

Export Mix vs. Convert Format:

Export Mix Convert Format
Applies mixer settings Yes No
Output channels Stereo (2-channel) or Mono (1-channel) Preserves source channel count (WAV) or downmixes (MP3/AAC)
Use case Deliver a mix to an editor Archive or transcode a file as-is
Output track names MIX L / MIX R (stereo) or MIX (mono) Preserved from source

Opening Export Mix

Go to File > Export Mix... ('Ctrl/Cmd + D')

The dialog opens showing all currently loaded files and the mixer state that will be applied to each one.

Output files are named '{name}_mix.wav' by default, with a '_GS' or '_IG' suffix when automix is applied. The dialog's Output Filename section lets you define your own scheme instead. See Custom Output Filenames. A custom scheme replaces the automatic suffixes entirely; use the Automix Mode chip to keep the GS/IG tag, and note the Quality chip resolves to the bit depth for WAV or the bitrate for MP3/AAC.

How Mixer Settings Are Applied

Each file uses its own saved mixer state:

If you haven't changed the mixer for a file, it exports with unity gain (0 dB), centre pan, and all channels active, giving a flat downmix of all source channels.

Tip: Set the mixer how you want it while listening to the file, then open Export Mix. The saved state for each file is used, so you can configure multiple files before exporting them all at once.

Export Mix Options

The dialog is arranged around the things a run can produce. Export the mix as a separate file comes first, with everything that describes that file grouped beneath it: format, bit depth or bitrate, sample rate, and its output filename. Add the mix to the poly WAV follows, with its own placement and filename options. When a Mid/Side pair is set up on the console, Mid/Side decoded poly WAV appears as well. Below them all sit Export as Mono and Automix, which shape the mix itself and therefore apply to whichever outputs you asked for.

Untick the separate file and its whole group of format settings disappears, since nothing is left for them to describe.

Every output is free to untick, including all of them at once. A decoded Mid/Side poly counts as an output in its own right, so you can untick both mix outputs and export only that. A run that would write nothing is caught at the Export Mix button, which is greyed out with a note saying what to choose, rather than by preventing the tick. The same applies when the only output you asked for needs a poly WAV and none of the loaded files is one.

Export the mix as a separate file:

On by default. Untick it, with the poly option on, when the poly carrying the mix is the only deliverable you want. A file the mix cannot be added to, such as a mono file or a multi-mono group, still gets its separate mix.

Output Format:

Bit Depth (WAV only):

The mix is summed at 32-bit float and written down to the bit depth you choose, so 16-bit and 24-bit exports are dithered on the way out. Export Mix has no dither or resampling menus of its own: it always uses triangular (TPDF) dither and the highest resampling quality.

Sample Rate (WAV):

Sample Rate (MP3 and AAC):

MP3 Bitrate (when MP3 is selected):

AAC Bitrate (when AAC (M4A) is selected):

Mono:

Add the mix to the poly WAV:

Writes the mix back into the poly file it came from, so one pass gives you both the mix and a poly WAV that carries it. This is the same merge as Combine Poly, with the mix you just rendered as the secondary file, and it saves you from exporting a mix and then combining it by hand.

The embedded mix always matches the source file's own sample rate and bit depth, so the original channels are copied through with no conversion. The Bit Depth and Sample Rate options above therefore apply only to the separate mix file. If you export to MP3 or AAC, you still get that lossy mix on its own, and the mix added to the poly is PCM at the source's format.

The source file on disk is never modified. The merged files are written to their own 'Poly_With_Mix/' subfolder, named '_withmix.wav', and have their own Output Filename section inside this panel if you want a different scheme.

They get a folder of their own rather than sharing the mix's because the two rarely have the same format: the mix follows the options above while each merged poly follows its own source, so a batch can produce 24-bit and 32-bit float polys side by side and no single 'Mix_' name would describe them. It also keeps a WAV out of a folder called 'Mix_MP3_320kbps/'. When Export as Mono is on the folder is 'Poly_With_Mix_Mono/', so a mono-mix run does not overwrite a stereo one.

Note: This is available for poly WAV files only, since the mix has to be added to an existing multi-channel file. Mono files and multi-mono groups export their separate mix as usual and are listed as a warning in the result. A file is also skipped if adding the mix would push it past the 64-channel limit.

Automix Option:

Controls whether Automix is applied during the export render, and whether it is applied uniformly or per file:

Setting Behaviour
As configured Each file is exported using the Automix setting you configured for it in the mixer. Files with Automix off export as a straight fader mix.
Gain Sharing for all files Forces Gain Sharing on every file in the batch, regardless of individual settings.
Intelligent Gate for all files Forces Intelligent Gate on every file in the batch, regardless of individual settings.

The default is As configured. If you have not set Automix on any file, this is equivalent to a straight fader mix for all files.

Note: When Automix is applied during export, the rendering engine processes the entire file offline in a streaming pass, much faster than real time. The output faithfully reflects the same dynamic gain decisions you hear during playback.

Trim the mix if it would clip:

On by default. The summed mix is measured before it is written, and if it would go past full scale the whole mix is lowered by just enough to fit. Every channel moves together, so the balance you set is unchanged. A mix that already fits is left exactly as it is, byte for byte, so this can only ever act on a file that would otherwise have been written clipped.

Any file that had to be lowered is listed at the end of the export, with the figure, so a trim is never something that just quietly happened to a delivery.

The console has no meter for the summed mix, and a batch export is not something you sit and listen to, so without this a clipped mix would usually only turn up after delivery. Leave it on unless you have a reason not to. If you would rather keep the mix untouched and deal with the level yourself, untick it and set the bit depth to 32-bit float, which has no ceiling to clip against.

Mid/Side decoded poly WAV:

These two options only appear when a Mid/Side pair is set up on the console. They are independent of each other and of the mix, and both write at the source's own sample rate and bit depth without modifying the original.

The decoded channels carry the console's fader, width, phase and mute or solo, so they match what you were monitoring. Automix is not applied to them, because its gain moves over time and cannot be baked into a fixed copy. Pairing takes a rig out of the automix anyway, so this only matters if you deliberately put one back in, and the export tells you when it does.

Decoded channels are named after both halves of the pair, because that is what they contain: the left channel is mid plus side and the right is mid minus side, so both microphones are in both channels. A rig recorded as 'Mid' and 'Side' therefore delivers as 'Mid+Side L' and 'Mid+Side R'. A pair with no track names falls back to 'MS1 L' and 'MS1 R'. The names are written to both the bEXT description and the iXML track list, and the names of all the other channels are preserved.

Because decoding is unity, a pair can sum to as much as 6 dB above the two microphones. Any pair that would go past full scale is lowered by just enough to fit, with a single gain applied across both halves so the stereo image does not move, and only that pair is touched. Every other channel in the file stays bit for bit identical to the source. The trim is reported at the end of the export.

Output Folder:

Choose where exported files are saved. A subfolder is created automatically:

When Mono is enabled the suffix '_Mono' is appended to the subfolder name, e.g. 'Mix_24bit_Mono/', 'Mix_MP3_320kbps_Mono/'.

With Add the mix to the poly WAV enabled you get a second subfolder holding the merged polys, so an MP3 export of a 24-bit session gives you 'Mix_MP3_320kbps/SoundReport_001_mix.mp3' alongside 'Poly_With_Mix/SoundReport_001_withmix.wav':

Each subfolder is only created when something is actually written into it, so unticking the separate mix file leaves you with 'PolyWith_Mix/' alone rather than an empty 'Mix/' beside it. The one exception is a file the mix cannot be added to, such as a mono file or a multi-mono group: its separate mix is always written, so a 'Mix_/' folder appears for it even when you asked for the poly only.

Output File Naming

Output files are named '_mix.'. When Automix is applied, a mode suffix is added before the extension:

Automix applied Example filename
None 'SoundReport_001_mix.wav'
Gain Sharing 'SoundReport_001_mix_GS.wav'
Intelligent Gate 'SoundReport_001_mix_IG.wav'

This makes it easy to distinguish exported files at a glance and avoid overwriting a straight mix with an automixed version of the same file.

When Add the mix to the poly WAV is enabled, the merged file is named '_withmix.wav' and follows the same Automix suffix convention, for example 'SoundReport_001_withmix_GS.wav'.

Metadata Preservation

All iXML and bEXT metadata is copied from the source file to the export:

Edge Cases

Situation Behaviour
All channels muted Export completes; output file is silent. A warning is shown in the result.
Single mono source channel Stereo mode: rendered to stereo using equal-power panning. Mono mode: output is a single mono track.
No mixer changes made for a file Unity gain (0 dB), centre pan, all channels active
Mono mode enabled Pan settings are ignored; all channels are summed with their gain into a single output channel.

Workflows and Recipes

The chapters above describe Wave Copilot one tab at a time. This one works the other way round: it starts from a job you actually have to deliver and names the tabs to use, in the order to use them. Every recipe here is built out of features already described above, and links back to them rather than repeating them.

Several of these answers chain two or three passes together. Where that is the case, the recipe says why the shorter route does not work, so you can tell when a step is genuinely needed and when you can skip it.

Which tool builds my poly WAV

Five different tools in Wave Copilot can write a polyphonic WAV. Picking the right one is most of the battle.

Your situation Use Because
Separate mono files, one per track, already the same length Combine Mono Batch mode groups them by filename and runs a whole session in one click
Exactly two poly files, typically a main recording plus a separate mix Combine Poly Pairs them by timecode automatically and lets you place the mix first or last
Any mixture of mono, stereo and poly files that belong together Combine Group The only tool that interleaves channels freely across files of different widths
Sources that must be trimmed to a take, or to a timecode window Conform, Poly WAV Output The only tool that trims. Everything else spans the full length of its sources
Sources whose timecode is wrong, missing, or not to be trusted Sync by Audio Positions files by their audio content, then exports the aligned session
Files carrying timecode only as an audible burst at the head Audio TC Decodes the burst first, then assembles by the timecode it just recovered

What sets the length of the output

Output length is decided for you, and the rule is not the same in every tool. This is worth knowing before you start, because it is the difference between a delivery that matches your reference take and one that runs to the length of your longest transmitter file.

Operation Length of the output
Conform, Match Reference, individual The reference take's timecode window, cut short where the secondary does not cover all of it
Conform, Match Reference, Poly WAV The reference take's timecode window exactly, with silence filling any gap
Conform, Custom TC Range Exactly 'End TC' minus 'Start TC', with silence filling any gap
Conform, Track Replace Exactly the reference file's duration
Combine Poly The longer of the two files, the shorter padded with silence
Combine Group The longest file in the group, the others padded with silence
Sync by Audio, poly export Earliest lane start to latest lane end across the aligned timeline
Audio TC, assembled poly Earliest file start to latest file end on the timecode timeline

The short version: only Conform trims. If you need the output to end where your reference take ends, the recipe has to go through Conform, whatever else it does.


Replace iso tracks when the transmitter timecode is slightly off

Timecode on a transmitter or secondary recorder often lands a few samples away from the recorder's, because the two devices write audio differently or because you put a delay on the recorder input. Track Replace positions secondary audio purely by timecode, so it inherits that error.

There is no single control that aligns and replaces in one pass. The way to combine them is to correct the timecode first, in Sync by Audio, and then let Track Replace do what it already does well.

  1. Load the primary takes and the transmitter files into the file list
  2. Open the Sync tab and check the primary take and the transmitter files you want to correct
  3. Make the primary take the reference lane, by clicking its anchor icon if it is not already
  4. Point each transmitter lane at a channel with something distinctive on it, using the channel dropdown, then click Align by Audio
  5. Press Play and confirm the sync by ear. Nudge with the ±1 ms buttons if you need to
  6. Leave Snap to frame switched off
  7. Click Save & Export…, tick Write the aligned timecode to the original files, and leave Export an aligned poly WAV unticked. The button reads Write Timecode
  8. Switch to Split/Combine → Conform → Track Replace, add the transmitter files as secondary files, and export as usual

Why Snap to frame stays off. Conform does its matching and trimming in samples, not frames, reading the sample count stored in the file's timecode. Left off, Sync writes a sample-accurate position and Track Replace reproduces your alignment exactly. Switched on, every position is rounded to the nearest frame boundary first, which can reintroduce up to half a frame of the very error you were removing. Turn it on only when something downstream insists on frame-aligned timecode.

Note: This rewrites the timecode metadata of your transmitter files. Their audio is never touched, and neither is anything else about them, but if you need the original timecode preserved, work on copies. Copy to… in the file list makes them for you.

Watch for clock drift. If the transmitter's clock runs slightly fast or slow, a long recording can start in sync and end out of it. Sync by Audio detects this and warns you, but it does not time-stretch to correct it. The timecode it writes is exact at the point it aligned. On a long recording, align and replace take by take rather than once for the whole roll.


Sync and replace several takes from one long transmitter recording

Five takes on the recorder, one continuous file off the transmitter's card. The usual instinct is to cut the card file into five pieces first. Most of the time you do not have to.

Track Replace already reads a continuous recording. It works out where each take sits inside the secondary and seeks to that point on its own, take by take, which is the job the Conform tab was built for. Load the five takes, add the one long file as a secondary, and export all five. No splitting anywhere.

Splitting only becomes necessary because of Sync by Audio, which aligns whole files against whole files. One transmitter file gives you one offset. So the question to settle first is whether one offset serves all five takes.

If the offset is constant, which it usually is when it comes from an input delay on the recorder or from the two devices writing audio slightly differently, one pass fixes the whole card:

  1. Load the five takes and the long transmitter file
  2. In the Sync tab, check the transmitter file and one take, choosing a take with clear, distinctive content
  3. Make the take the reference lane, align, and confirm by ear. Leave Snap to frame off
  4. Save & Export…, tick only Write the aligned timecode to the original files
  5. Go to Conform → Track Replace, add the long transmitter file as a secondary, and export all five takes at once

Correlating a short take against a card file that runs for hours is a large search, so give the analysis time and check the confidence figure and your ears before trusting it. If it lands somewhere wrong, cut the file down first as below and align take by take.

If the offset changes across the day, because the two clocks run at slightly different speeds, then each take needs its own alignment and therefore its own segment. Cutting those segments is one pass, not five:

  1. Load the five takes into the file list
  2. Open Conform → Match Reference and add the long transmitter file as a secondary. It matches every take by timecode overlap at once, so five takes give five rows
  3. Click Trim & Export. You now have five segments, one per take
  4. Load the segments and align each one against its take in the Sync tab, writing timecode each time. This part is one session per take, since a sync session has a single reference lane
  5. Return to Conform → Track Replace, add the five aligned segments as secondary files, and export

Note: Use Match Reference for this, not Custom TC Range. Custom TC Range trims to one window you type by hand, so five takes means running it five times. Match Reference reads the takes you already have loaded and cuts all of them in a single pass. Custom TC Range is for the takes the recorder never captured.

Skipping Track Replace altogether. If the channels you are replacing are the only bad ones, you can assemble the finished file in Sync instead. Strip the defective channels from the take with Split Poly, leaving a clean poly, then align that against the transmitter segment and tick Export an aligned poly WAV in the Save dialog. One pass, and the alignment and the assembly happen together.

Two things to watch with this route. The output is the clean channels plus the transmitter channels, so it has a different channel count and layout from the original rather than being a like-for-like replacement. And Sync's poly export spans from the earliest lane to the latest, so feed it a per-take segment. Give it the whole card file and you get an output as long as the card.

Avoiding the problem next time. Record a short burst of timecode, two seconds is plenty, at the head of each transmitter file and on the recorder before a long take. Audio TC decodes the burst and writes real timecode into the file, after which the transmitter file behaves like a recorder file: Track Replace finds its own way into it, and neither the splitting nor the audio alignment is needed at all. This is the cheapest of all these routes, and the only one that costs nothing in post.


Rebuild the isos and the mix when the mix track is unusable

The car-to-car problem: the transmitters have usable audio but the mix went to pieces when the cars separated. You want the isos replaced from the transmitters, and a fresh mix built from those new isos rather than the one you recorded.

This takes two passes: Conform rebuilds the isos, then Export Mix builds the new mix and puts it into the poly in the same run.

Pass 1, rebuild the isos. Which mode you want depends on how much you are replacing.

Pass 2, build the new mix and put it back in the file. Load the iso-only file from pass 1, go to the Playback tab, and set it up: faders, pans, mutes, and Automix on if you want it to ride itself. Gain Sharing blends, Intelligent Gate switches more decisively. Then File > Export Mix… ('Ctrl/Cmd + D'), tick Add the mix to the poly WAV, and set Mix Channel Placement to Before Poly Channels for the usual mix-first delivery layout. Export.

You get back a poly containing the rebuilt isos with the new mix on the front, plus the standalone mix file if you left that box ticked. The mix inherits the file's timecode, scene and take, and its track names are 'MIX L' and 'MIX R'.

Note: Doing this for a whole day rather than one take is the same two passes. Pass 2 works in batch, so the only per-take work is the channel assignment in pass 1.

If you would rather keep the mix and the merge apart, for instance to audition several mixes before committing to one, untick the embed option and combine the mix you settle on by hand in Split/Combine → Combine Poly. That is the same merge this option performs.


Align several transmitters to a reference and trim to the reference

Trimming to the reference is what separates this from a plain merge. Combine Group and Sync's poly export both run to the length of the longest file, so a transmitter that rolled through the whole scene gives you an output far longer than the take.

The tool that trims is Conform.

  1. Load the timecode reference file into the file list. It is the reference take, so do not add it to Secondary Recordings as well
  2. If the transmitters' timecode is not trustworthy, correct it first with the align-then-replace recipe above, stopping after the Write Timecode step
  3. Open Split/Combine → Conform → Match Reference and add every transmitter file as a secondary
  4. Tick Poly WAV Output. Each transmitter channel that overlaps the take becomes one channel of a single poly per take, and the output is exactly the reference take's window: transmitters that started late or stopped early are padded with silence rather than shortening the file
  5. Tick Merge with reference as well if you want the reference file's own channels in the poly. They are placed at the front by default
  6. Expand each output row in the Poly Output Preview to set the channel order, then choose a format and an output directory
  7. Click Combine & Export

Note: Poly WAV Output is what makes this land on the reference length. Without it, Match Reference writes one trimmed file per secondary and cuts each one short wherever the secondary does not cover the whole take, which is not the same thing.


Deliver a poly when you only recorded transmitters

No reference file, no take list, just continuous transmitter recordings that need cutting down.

If the transmitter files carry timecode, use Split/Combine → Conform → Custom TC Range:

  1. Add every transmitter file as a secondary
  2. Start TC and End TC arrive prefilled with the full span of what you loaded. Type the window you actually want. Full range puts the original span back
  3. Enter a Scene and Take if you want them in the output filename
  4. Tick Poly WAV Output, set the channel order in the preview, choose a format and an output directory
  5. Click Combine & Export

The output is exactly the window you typed, silence-padded for any transmitter that only partly covers it, and its start timecode is set to your Start TC. Repeat for each take.

If the transmitter files carry no timecode at all, give them some first, then come back:


Export a sync-by-audio session as a poly WAV

Alignment and export are the same dialog, so this is one pass.

  1. Open the Sync tab and check the files you want, at least two
  2. Pick the matching channel for each lane, then click Align by Audio
  3. Press Play and confirm by ear. Nudge any lane that needs it
  4. If the reference lane has no timecode, type an Anchor TC and choose a frame rate
  5. Click Save & Export… and tick Export an aligned poly WAV
  6. Drag the rows in Channel Order to set where each lane's channels land. This changes the layout only and never moves anything in time
  7. Untick Include the anchor file in the poly if the anchor was only there to give the others something to line up against
  8. Set Output Format, Poly File Name and Output Directory, then export

Tick Write the aligned timecode to the original files as well if you want both. Timecode is written first, so a problem during assembly never costs you that write.

The two are independent. The poly is laid out from the alignment itself, not from stored timecode, so a session showing No TC on every lane still exports correctly with the timecode box left unticked.

Note: The exported timeline runs from the earliest lane to the latest. Lanes far apart in time produce a long, mostly silent file, and the estimate line warns you in amber before you commit.


Assemble files that already share timecode into a poly WAV

When the timecode is good and no audio alignment is needed, skip the Sync tab entirely.

Files that do not auto-match land in Unmatched Files. Select two or more and click Create Group to merge them regardless, or use + Add unmatched file to fold one into an existing group. The warnings that appear are informational and never block the merge.


Merge a stereo file and a mono file into an LCR poly

Combine Group is the one tool that interleaves channels from files of different widths, which is exactly what LCR needs: left and right come from the stereo file, centre from the mono one, and the centre has to sit between them.

  1. Load the stereo file and the mono file
  2. Open Split/Combine → Combine Group. If they share timecode, sample rate and length they are already grouped. If not, select both in Unmatched Files and click Create Group
  3. Expand Output channels. It starts as the three channels in file order, so the mono is at one end
  4. Drag the mono channel by its grip handle so it sits between the stereo file's two channels
  5. Rename the three channels to 'L', 'C' and 'R' by editing them in place
  6. Choose which file donates the rest of the metadata with the radio button in Source files
  7. Set the output format and directory, then click Combine

The same approach handles any fixed layout you need to build by hand, such as LCRS or a 5.1 bed assembled from separate stems.

Note: This builds an LCR channel layout. It places three existing signals in three channels. It is not a downmix, and nothing is derived or summed. To fold channels down into a stereo or mono mix, use Export Mix.


Merge 32-bit float isos with a separate mix track, take by take

Recorders working at 32-bit float often cannot embed the stereo mix in the same poly and write it as a second file. Combine Poly exists for this, and runs a whole day in one pass.

  1. Load every iso poly for the day into the file list. These are the primaries
  2. Open Split/Combine → Combine Poly
  3. Add every mix file with + Add Files, or drag them onto the secondary list. Each mix is paired to its iso file by timecode, and matched pairs turn green
  4. Set Secondary Channel Placement: Before Primary puts the mix channels first, After Primary appends them
  5. Choose the output format. Match primary keeps the 32-bit float files as they are, with no conversion pass. Pick Custom and 24-bit if the delivery calls for it, which converts in the same pass
  6. Tick Normalize channels to –1 dBFS if the float recordings were captured low
  7. Choose an output directory and click Combine N Pairs

You get one poly per take, named '{primary_filename}_combined.wav' unless you set your own scheme in Output Filename. Track names from both files are preserved.

Two things to check before you run it. Anything showing a warning badge has no timecode or found no partner, and will not be combined. And if a take's mix is longer than its isos, or the other way round, the output takes the longer length and pads the shorter with silence.

Note: If your isos are separate mono files rather than one poly, use Combine Group instead. It takes the monos and the stereo mix in a single pass, and you set the channel order on the group card.


Export a poly WAV with channels 3 and 4 removed

One pass, in Split Poly. The tool is named for splitting, but a routing row holding several channels writes one multi-channel file, so it does subsetting too.

  1. Select the poly file in the file list
  2. Open Split/Combine → Split Poly
  3. In the routing matrix, clear every row
  4. On the first row, click the cells for the channels you want to keep, leaving 3 and 4 unselected. On a 6-channel file that is channels 1, 2, 5 and 6
  5. Leave every other row empty. Rows with nothing selected are skipped, so this produces a single output file rather than one per channel
  6. Set the output directory and click Split

The result is one 4-channel WAV. Track names, iXML and bext metadata come across, with the track list renumbered to match the new channel layout.

The automatic name lists the channels it kept, so a 6-channel 'A001.wav' minus channels 3 and 4 becomes 'A001_1_2_5_6.wav'. Set your own scheme in the Output Filename section if that is not what you want to hand over.

Note: Channels keep their original relative order, so this cannot also reorder them. See the next recipe if you need both.

For a whole day of takes, use Track Replace instead. Split Poly works on one file at a time, so a day of takes means a run each. Conform → Track Replace lists every loaded poly at once, and the Drop channels preset in the Channel Assignment header sets the same dropped channels on all of them in one click; individual rows can be adjusted per take afterwards. Export writes the lot. Nothing has to be replaced for this to work: dropping channels on its own is a complete job. The trade is that Track Replace only accepts polyphonic files that carry timecode, where Split Poly will take any poly at all. See Dropping channels from the output.


Change the track order of a poly WAV

Wave Copilot can set channel order while building a file, in Combine Group, in Conform's Poly Output Preview, in Sync's export dialog and in the Audio TC results table. It cannot reorder the channels of a poly file in place, and Combine Group needs at least two files so it cannot be used on a single poly.

Two passes, then. Split it apart, and put it back together in the order you want.

  1. Select the poly file and open Split/Combine → Split Poly
  2. Leave the default routing, one channel per output file, and split to a working folder
  3. Load the resulting mono files into the file list
  4. Switch to the Combine Mono sub-tab and choose Manual mode
  5. In the routing matrix, each row is an output track and each column is one of the mono files. Click the cell that puts the file you want on track 1, then track 2, and so on, in the order you want them
  6. Leave a row empty to drop that track from the output entirely
  7. Set the output file path and click Combine

Alternatively, load the mono files and use Combine Group, where you drag the output channels into order and rename them in place. It is the more comfortable interface of the two, since it shows you the finished layout as a list.


Deliver a Mid/Side rig decoded, keeping the raw isos

You recorded a Mid/Side pair alongside the rest of the mics, and the picture department wants ordinary stereo.

  1. Load the take and open the Console on the Playback tab
  2. Click MS on the strip carrying the mid microphone. It pairs with the channel beside it. If your tracks are named, click the wand icon at the top right instead and it pairs every rig in the file at once
  3. Play the take and set the width with the side strip's fader. Fully down is mono, 0 dB is the recording as made, up is wider. The mid fader sets the level of the pair
  4. If several takes share the same rig, click the lock icon. The pairing and the width carry to each take you step through, since channels are matched by position
  5. Open File > Export Mix...
  6. Under Mid/Side decoded poly WAV, tick Add decoded pairs after the isos
  7. Click Export Mix

You get a poly carrying every original channel untouched, with decoded left and right appended and named after the mid channel. Tick Replace the M/S isos in place instead if the delivery should have no raw mid or side left in it, or tick both to produce one of each.

The decode is unity, so a pair can sum louder than either microphone. Any pair that would go past full scale is lowered by just enough to fit and the amount is reported when the export finishes. That report is also where you choose Add to List to load the new files into the main file list, or Don't Add to leave them on disk. See Mid/Side decoded poly WAV.


Situations that come up

My transmitter files have no timecode at all. If you recorded a timecode burst at the head, Audio TC decodes it and writes real BWF timecode. If you did not, Sync by Audio aligns the files by their audio and writes timecode from an Anchor TC you type. After either, the files behave like recorder files everywhere else in the app.

The transmitter split into several files mid-take. Conform's Poly WAV Output groups secondary channels by track name, so two files sharing a track name are stitched into one channel automatically, with silence filling any gap between them. Nothing to configure, but it does depend on the track names matching.

One transmitter was dead all day. In Track Replace, silent channels are flagged with a warning icon and the Silence threshold slider sets the level below which a channel counts as silent, from −90 to −48 dBFS. Reset silent tracks to Keep Reference switches them all back in one click, or tick Remove silent tracks from output to drop them from the exported files entirely and reduce the channel count. That covers channels that are silent; to leave out a channel that has perfectly good audio on it, such as a mix you are about to rebuild, drop it by hand or by preset instead. See Dropping channels from the output.

The 32-bit float secondary was recorded very low. Every Conform mode, both Combine Poly and Combine Group, and Sync's poly export all offer Normalize audio to –1 dBFS. The file is analysed first and a gain adjustment applied so the peak lands at −1 dBFS. It works on any format, not just float. If the level is held down by the occasional loud click or clap rather than by the recording as a whole, also tick Spike Reduction under it.

The transmitter ran at a different sample rate from the recorder. Conform's match table flags it with a warning icon and converts on export, so choose Match reference as the output format to land on the recorder's rate. Combine Poly and Combine Group convert automatically too. The one exception is Track Replace, which has no format control and always matches the reference file.

I need the scene, take and tape to survive the merge. In Combine Group, the radio button next to each file in Source files chooses which file donates the metadata, and it also drives the Scene and Take chips in the Output Filename section. In every Conform mode the metadata comes from the reference file, with track names taken from the secondary files. In Combine Poly it comes from the primary.

Where do the track names come from. Split Poly, Combine Mono and Combine Poly carry names through from the source files. Combine Group defaults to each source's own name and lets you edit any of them. Conform takes names from the secondary files and rewrites the iXML track list to match the final layout. Export Mix replaces them with 'MIX L' and 'MIX R', or 'MIX' in mono, since the original per-channel names no longer describe the file.

The editor wants an MP3 or AAC, but needs the timecode. Export Mix writes both, and preserves the start timecode: MP3 as ID3 TXXX tags, AAC as format tags, and both with the timecode appended to the filename. Format Conversion does the same for a straight transcode with no mixer settings applied.

How do I check the sync before committing to an export. In the Sync tab, Play mixes every lane together with per-lane mute, solo and volume, so you can judge the alignment by ear before saving anything. Everywhere else, export first and then load the result back into the file list and play it. Conform outputs carry correct timecode, so they can go straight into a sound report as well.

My files are over 4 GB. Supported throughout. Any output that crosses 4 GB is written as RF64 automatically, and large source files stream rather than loading into memory.

How many channels can one file have. 64, which is the app's playback limit. Combine Group caps groups at 64 and warns you about anything it had to leave out.


Licensing & Activation

Wave Copilot requires a license for continued use after the trial period.

Trial Mode

Activating a License

The Activate License form, where the key and email address are entered
The Activate License form, where the key and email address are entered
  1. Purchase a license from the Wave Copilot website
  2. You'll receive a license key via email (format: XXXXX-XXXXX-XXXXX-XXXXX-XXXXX)
  3. In Wave Copilot, go to Help > License Information
  4. Click Activate License
  5. Enter your license key and email address
  6. Click Activate

License Details

Viewing License Status

The License Information dialog for an activated licence
The License Information dialog for an activated licence

Go to Help > License Information to see:

Deactivating a License

To move your license to a different computer:

  1. Go to Help > License Information
  2. Click Deactivate
  3. Confirm deactivation
  4. Activate on your new computer

Deactivating needs an internet connection, because the seat has to be released on the licence server as well as on your computer. If the server cannot be reached, Wave Copilot leaves the licence in place and tells you so, rather than releasing it here while the server still counts the machine. If you no longer have the computer at all, release its seat from the website instead, as described below.

Managing Activations Online

You can also manage your license activations directly from the 1KHZ website. This is particularly useful if you see the error "This license has reached the maximum number of activations. Please deactivate on another machine first." and you no longer have access to the previously activated machine.

  1. Log in to your account at 1khz.ca
  2. Go to My Account > My Licenses
  3. Your license is listed with all currently activated computers
  4. Click Deactivate next to any machine you want to remove

This frees up an activation slot so you can activate on a new computer.


Keyboard Shortcuts

Global Shortcuts

Shortcut Action
'Ctrl/Cmd + O' Add files
'Ctrl/Cmd + Q' Exit application
'Del' Remove selected files
'F1' Open user guide
Shortcut Action
'Ctrl/Cmd + F' Go to Files & Metadata
'Ctrl/Cmd + M' Go to Playback
'Ctrl/Cmd + I' Go to Split/Combine
'Ctrl/Cmd + Y' Go to Sync
'Ctrl/Cmd + T' Go to Audio TC
'Ctrl/Cmd + R' Go to Reports

File Operations

Shortcut Action
'Ctrl/Cmd + E' Copy files to...
'F2' Rename file
'Ctrl/Cmd + K' Open Convert Format
'Ctrl/Cmd + D' Open Export Mix

Conform, Track Replace

Only while Track Replace is the panel on screen, and not while a text field has focus, so typing in a filename or a timecode keeps its own undo.

Shortcut Action
'Ctrl/Cmd + Z' Undo the last assignment change
'Shift + Ctrl/Cmd + Z' Redo the change that was taken back

Waveform Zoom

Also applies on the Sync tab, zooming/panning that tab's timeline instead.

Shortcut Action
'Ctrl/Cmd + -' Zoom out 1.5× (centred on playhead)
'Ctrl/Cmd + =' Zoom in 1.5× (centred on playhead)
'Ctrl/Cmd + 0' Reset zoom to 1× (full overview)

Playback

Shortcut Action
'Space' Play from current position when stopped. When Return to Start is off: pauses in place when playing. When on: stops and returns to play-in point
'L' Seek +5 s when stopped; while playing, each press doubles speed (1×, 2×, 4×, 8×)
'K' Play from current position when stopped; pause in place when playing (resets shuttle speed to 1×)
'J' Seek −5 s when stopped; while playing, each press halves speed (8×→4×→2×→1×), pausing at 1×
'Home' Seek to beginning
'End' Seek to end
'F3' Stop (triggers Return to Start if enabled)
'←' / '→' Load previous / next file (Playback tab)
'Q' Add cue at current position
'N' Navigate to next cue
'B' Navigate to previous cue

These apply on the Playback tab. On the Sync tab, 'Space' instead plays/pauses the audition mix of the selected lanes, and it does the same in the Conform tab's Audition strip whenever that is open. The Audition strip also answers to 'K', 'J' and 'L' (shuttle and 5 s skip, as above) and to 'I' / 'O' for the In and Out locators.

Mixer

Shortcut Action
Double-click pan slider Reset pan to center
Double-click gain fader Reset gain to 0 dB (unity)
'Ctrl/Cmd' + click Solo (S) Exclusive solo, solos only this channel and unsolos all others

Troubleshooting

Common Issues

Files won't load

No audio playback

Metadata not saving

License activation fails

Application crashes

Performance Tips

Logs and Diagnostics

Application logs can help diagnose issues:


Support

Getting Help

Reporting Issues

If you encounter a bug or have a feature request:

  1. Go to 1khz.ca and use the contact details there, or email info@1khz.ca
  2. Describe the problem, including:
    • What happened, and what you expected instead
    • Steps to reproduce it
    • Your operating system
    • Wave Copilot version
    • Any error messages

Contact


Appendix

Supported Audio Formats

Format Read Write
WAV (PCM) Yes Yes
Broadcast WAV (BWF) Yes Yes
MP3 Yes No
AAC / M4A Yes No
AIFF Yes No

MP3, AAC, M4A and AIFF are decoded internally and play like a WAV throughout the app, but nothing can be written back into them; see Non-WAV Audio Files.

Supported Metadata

bEXT Chunk:

iXML Chunk:

Drop-Frame Notation

Drop-frame timecode is written with a semicolon before the frames, as in '18:35:06;11', and non-drop with a colon throughout. Wave Copilot uses that convention everywhere it shows or accepts timecode, including the file list and the Metadata Editor, so you can tell at a glance which one a file carries.

When you type a timecode into a drop-frame file, the semicolon appears on its own once you have entered six digits; you can also type either separator yourself and it will be accepted.

Drop-frame skips frame numbers ';00' and ';01' at the start of every minute except every tenth, which is how 29.97 fps keeps pace with the clock. Only 29.97 has a drop-frame form.

Timecode Frame Rates

Frame Rate Common Use
23.976 fps Film (NTSC)
24 fps Film
25 fps PAL Video
29.97 fps NTSC Video (drop-frame available)
30 fps NTSC Video (drop-frame available)

Wave Copilot - Professional Broadcast WAV File Management Copyright 2026 1KHZ Inc. All rights reserved.

Wave Copilot, Professional Broadcast WAV File Management.
Product page · Release notes · 1khz.ca · info@1khz.ca
Copyright 2026 1KHZ Inc. All rights reserved.