IMAKE Clip Lab
Clip Lab docs
IMAKE Clip Lab layers, trims, effects, and exports short game audio clips in the browser.
Workflow
Clip Lab is a local-first audio editor for game one-shots, UI sounds, pickups, impacts, loops, and short layered effects.
Import and arrange
- Import WAV, OGG, MP3, FLAC, AIF, or AIFF files supported by the user's browser.
- Drop imported audio on channels, then move, trim, split, copy, or delete clips on the timeline.
- Use channel lanes to build layered sounds without committing to a final mix too early.
- Name channels around the job they do, such as transient, body, tail, texture, or UI click.
Edit ranges
Timeline selections can be used to cut, copy, silence, normalize, reverse, crop, split, or export focused ranges. A range can span one channel or the whole session, which makes it useful for isolating a one-shot, removing silence, or checking a small variation before exporting.
Shape channels
Each channel has gain, pan, low-pass filtering, mute, solo, and record controls. Channel effects are stacked per channel from the effect shelf, so the source clips stay editable while the channel chain shapes the rendered output.
Reorder channels by dragging the ⋮⋮ handle on a channel header up or down the lane stack. When Smart Split sends each detected region to its own channel, the new channels are grouped directly below the source channel so the split stays together.
Save project work
Save work in the browser project library for day-to-day editing, or export a portable .cliplab bundle for backup and sharing. Saved project bundles include the imported source bytes and rendered sources needed to reopen the session.
Audio sources stay on the user's device. Imported source bytes and rendered sources are stored in the project bundle when a project is saved.
Round trip game assets
When Clip Lab is installed as a PWA and WAV or OGG files are associated with it, opening an audio file from the operating system can create a linked audio session. In a linked session, Ctrl+S saves the current timeline mix back over the same audio file.
This is the recommended quick-iteration flow for Godot and Unity assets. Open the asset through the operating system or an editor plugin that calls the OS open command. Do not launch Clip Lab with a normal browser URL when save-in-place is required, because a URL does not provide a writable file handle.
Techniques
Quick recipes for shaping clips, stretching time, and building game audio with Clip Lab.
Fades
Quickly fade a clip in and out
- Double click your clip.
- Press
F.
Double clicking selects the whole clip range. Tapping F applies a fade in on the start and a fade out on the end in one action.
Fade out a section
- Highlight your section by dragging across the timeline.
- Hold
F. - Press
Left Arrow.
Fade in a section
- Highlight your section by dragging across the timeline.
- Hold
F. - Press
Right Arrow.
Nudge gain on a section
While F is held with an active selection, Up Arrow and Down Arrow raise or lower the range gain by 1 dB per press. Use this to ride the body of a clip without re-rendering the source.
Stretching clips
Shift + Drag to stretch
- Hover the start or end edge of a clip until the trim cursor appears.
- Hold
Shift. - Drag the edge.
Without Shift, dragging the edge trims the clip (changes which part of the source plays). With Shift held, dragging time-stretches the clip instead, so the full source plays slower or faster. The stretch range is 0.1x to 8x. Alt also works as the stretch modifier if Shift is taken by another gesture.
Use stretch when you need a hit to feel heavier (slow it down a touch) or want to turn a 2 second tail into a 6 second swell without re-recording.
Horror
Horror sound is mostly about time — slow attacks, long tails, and layers that are too quiet to consciously notice but felt in the room.
Slow boss reveal
Pick a low, dark hit (rumble, metal groan, or a deep impact tail). No source on hand? File → Generate Audio, pick Hit, drop the pitch and floor low. Done in three dials.
- Drop the clip on a fresh channel.
- Drag its end edge with
Shiftheld to stretch it to 4–8 seconds. - Double click the clip and press
Fto fade both edges. This kills the start transient so the sound emerges instead of hits. - On a second channel, layer a high tension drone or whisper bed. Fade in the second layer slightly later than the first.
The stretch removes the percussive front, the fade makes it grow from silence, and the layered drone fills the mid frequencies the stretched hit leaves empty.
Heartbeat / dread loop
Use a single short thump and turn it into a sustained dread bed. A generated Hit at low pitch (~80 Hz) makes a clean thump if you don't have one.
- Import the thump on its own channel.
- Right click the clip and pick Make Loopable... to build a clean loop point.
- Right click again and use Find Loop Region if you need Clip Lab to suggest a tighter loop window.
- Place a second copy on the same channel offset slightly so two thumps overlap on every cycle. Drop the second copy's gain by 6–10 dB so it sits underneath.
The result is a heartbeat that breathes — the offset copy adds a sub-pulse the brain reads as anxiety without identifying the cause.
Whisper jumpscare
The trick here is using fades to control when the player notices the sound, not just how loud it is.
- Lay the whisper clip down where you want the scare to land.
- Highlight the first half of the clip, hold
F, pressRight Arrow→ fade in. - Highlight the last quarter, hold
F, pressLeft Arrow→ fade out. - On a second channel, place a sharp transient (a pin drop, a small metal tick) at the exact frame the whisper hits full volume.
The fade in sneaks the whisper under the player's threshold, and the transient on top punches through and forces them to register the sound that was already in the room.
Atmosphere stinger from a stretched click
A short metal click can become a 5 second tension stinger.
- Drop the click clip on a channel.
- Right click → Reverse.
Shift + Dragthe end edge to stretch it to 4–6 seconds.- Highlight the back half and fade out so it doesn't slam into whatever plays after it.
Reversing puts the loud part at the end and gives the sound a swell shape; stretching turns the swell into something that builds on screen.
Action
Action sound is layers that hit at the same instant. Build punch by stacking transient, body, and tail on separate channels so each layer can be EQ'd, faded, and stretched on its own.
Punchy weapon hit
- Make three channels: name them
transient,body,tail. - Put the click or attack of the sound on
transient. - Put the meat (low frequency thump) on
body, aligned to the same start point. - Put the decay or shell drop on
tail, started a few frames after the others. - Highlight the
tailclip and use Normalize so it cuts through. - Double click each layer and press
Fto fade in/out the seams so the layers blend without clicks.
The transient channel sells the snap, the body sells the weight, and the tail sells the space. Mute and solo each channel to verify each layer carries its own job.
Reverse swoosh into impact
Used for cinematic strikes, ability casts, and screen transitions.
A generated Sweep works as the whoosh source — set start high, end low, then reverse it. File → Generate Audio, pick Sweep.
- Channel 1: a whoosh or air-rush sample. Right click → Reverse.
- Place the reversed whoosh so it ends exactly where the impact begins.
- Channel 2: the impact hit, dry and short.
- Highlight the start of the reversed whoosh, hold
F, pressRight Arrow→ fade in.
The reversed swell pulls the listener forward, the impact lands at the peak. No extra mix work needed because the swell shape comes from the reverse, not from automation.
Footstep variations on one channel
Real footsteps are never identical — the engine picks one of several samples per step. Build that variation pool in Clip Lab.
- Make one channel called
footsteps. - Drop 4–8 footstep variations on that channel side by side.
- Click the
Achip on the channel header to arm it for audition. - Open the Audition floating panel (bottom right) and press play.
- Set mode to Random and adjust Gap to taste (
0.2–0.4sfeels like a normal walk pace).
Audition cycles through the clips on the armed channel so you hear the pool the way the engine will. See the next section for getting them volume-matched.
Normalizing footsteps with Audition
The point of normalizing is to make every variation hit the same loudness so the engine can pick any of them without one randomly sounding twice as loud as the others.
The mistake is normalizing each footstep on its own. Normalize ramps a single clip to peak — but a clip with a quiet body and one loud snap will be normalized down by that snap, leaving the body weak. You need to hear them together to judge.
Workflow:
- Import all your footstep variations on one channel.
- Click the
Achip on the channel header to arm it for audition (the chip lights cyan). - Open the Audition floating panel (bottom right of the editor).
- Set Mode to Sequence so you hear them in order, one after the next.
- Set Gap to about
0.2s. - Press play. Listen for the variation that jumps out as too loud or too quiet.
- Stop, click the offending clip, and use Normalize from the right click menu — or highlight just its loud body and press
F+Up Arrow/Down Arrowto nudge gain by 1 dB until it sits with the others. - Switch Mode to Random and play again to confirm no clip stands out when picked at random.
For finer matching:
- If one clip has a transient that's spiking high but the body is fine, highlight just the transient and Normalize that range. Selection-scoped normalize derives a new source for that range only, so the rest of the clip is untouched.
- If two clips are close but one is just slightly hotter, highlight it, hold
F, pressDown Arrowonce or twice to drop 1–2 dB instead of normalizing. - If a clip has a long tail that drags the perceived loudness down, fade out the tail (highlight the tail, hold
F,Left Arrow) before judging.
The Audition panel + Sequence mode is what turns normalizing from guesswork into A/B work — you're hearing every clip in the same context, in the same chain, with the same gap, so loudness mismatches stand out immediately.
Keyboard reference
| Action | Shortcut |
|---|---|
| Play / stop | Space |
| Loop selection | Shift + Space |
| Fade in & out clip (on selection) | F |
| Fade in selection | Hold F + Right Arrow |
| Fade out selection | Hold F + Left Arrow |
| Range gain +1 dB | Hold F + Up Arrow |
| Range gain -1 dB | Hold F + Down Arrow |
| Stretch clip | Shift + Drag clip edge |
| Trim clip | Drag clip edge |
| Select whole clip | Double click clip |
| Select whole channel | Double click channel header |
| Undo / redo | Ctrl + Z / Shift + Ctrl + Z |
| Cut / copy / paste | Ctrl + X / C / V |
| Silence range | Backspace (with active selection) |
| Delete | Delete |
| Cancel selection | Escape |
| Jump to start | Home |
Export
Clip Lab exports WAV and OGG Vorbis files.
Free preview export
Free exports are preview-capped at 15 seconds. Preview exports keep the workflow testable, but the exported file is marked as a preview by the filename so it is not confused with final game audio.
Pro clean export
IMAKE Clip Lab Pro is a $10 one-time purchase for Clip Lab. It unlocks clean full-length WAV and OGG export for the current signed-in account, and Clip Lab also stores an offline license after a successful license issue so the editor can keep working when the browser is offline.
What's in Pro
Clip Lab Pro is a one-time purchase that unlocks the workflow features built for shipping real game audio:
- Clean full-length export — no 15 second preview cap, no preview filename marker.
- Effect stack library — save effect chains to a personal library and reuse them across projects. Import
.imakefxfiles shared by other Pro users. - Smart Split — detect silence in a long recording or library clip and split it into separate clips in one pass. Click a detected region in the Smart Split window to preview it before committing. Useful for footstep variations, multi-take recordings, and source clean-up.
Everything else in Clip Lab is free, including layered editing, fades, stretch, normalize, the audio generator, recording, audition, projects in the browser library, .cliplab project export, and the full effects shelf (just not save).
Mixes and stems
Project export can render one mixed file or separate channel stems. Stems are useful when the game engine, middleware, or implementation script needs transient, body, and tail layers as separate assets.
Linked audio save
When a WAV or OGG file is opened through the installed Clip Lab PWA or through Open Audio File, it can become a linked audio output. Ctrl+S renders the current timeline mix and writes it back to that linked file after the browser grants permission.
Linked audio save preserves the linked file's mono or stereo output channel count. It is meant for fast iteration on game assets in tools such as Godot or Unity.
Export settings
Export settings include mono/stereo, sample rate, OGG quality, trailing silence trim, and mute/solo handling. Folder export is used when the browser supports direct directory access and the user grants permission; otherwise files are downloaded by the browser.
Exported files are downloaded by the browser unless direct folder export is available and the user grants folder permission.
Game engine audio editor setup
Clip Lab can edit WAV and OGG game assets in place when it is installed as a PWA and opened by the operating system with a real file handle.
Quick setup
- Install IMAKE Clip Lab as a PWA from a Chromium-based desktop browser.
- Set
.wavand.oggfiles to open with the installed IMAKE Clip Lab app. - Test outside the engine by opening a WAV or OGG file from the file browser, editing it in Clip Lab, and pressing
Ctrl+S. - In Godot, leave FileSystem > External Programs > Audio Editor empty. Godot will use the operating system default app.
- In Unity, add the small editor menu script below, then open selected audio assets through the operating system default app.
Do not use the Clip Lab web URL for edit-in-place engine workflows. Opening the URL can import audio, but it does not give Clip Lab permission to save back over the original game asset.
Why this works
The installed PWA registers as a file handler for .wav, .ogg, and .cliplab files. When the operating system opens one of those files with Clip Lab, the browser passes Clip Lab a file handle that can be used for save-in-place.
The PWA manifest controls the installed app display name, so users should see IMAKE Clip Lab in app launchers and default-app pickers. Browser-managed launcher filenames are different. On Linux, for example, Chromium may create a file such as chrome-...-Default.desktop. Clip Lab cannot force that native filename to be imake-cliplab.desktop, and the web app cannot reliably know every user's native install path.
Set Clip Lab as the OS default
Windows:
- Right click a
.wavor.oggfile. - Choose Open with > Choose another app.
- Select IMAKE Clip Lab.
- Enable the option to always use this app for that file type.
- Repeat for both WAV and OGG if needed.
You can also use Settings > Apps > Default apps and set defaults by file type for .wav and .ogg.
macOS:
- Select a
.wavor.oggfile in Finder. - Press
Cmd+Ito open Get Info. - Under Open with, choose IMAKE Clip Lab.
- Click Change All.
- Repeat for both WAV and OGG if needed.
Linux:
- Right click a
.wavor.oggfile in the file manager. - Choose Open With or Properties > Open With.
- Select IMAKE Clip Lab.
- Set it as the default application for that file type.
- Repeat for both WAV and OGG if needed.
If Clip Lab does not appear clearly in the Linux app picker, use the Linux helper below to create a stable imake-cliplab.desktop launcher name.
Godot setup
Recommended Godot setting:
FileSystem > External Programs > Audio Editor: leave empty
Godot's audio editor setting is filesystem/external_programs/audio_editor. When this setting is empty, Godot opens audio files with the system default program. After WAV and OGG are associated with Clip Lab, right click an audio asset in the Godot FileSystem dock and choose Open in External Program.
If you want to point Godot at an explicit program, use one of these:
| OS | Godot Audio Editor value |
|---|---|
| Windows | C:\Windows\explorer.exe |
| macOS | /usr/bin/open |
| Linux | /usr/bin/xdg-open |
| Linux helper script | /home/you/.local/bin/imake-cliplab |
These commands open the selected audio file through the operating system. WAV and OGG still need to be associated with IMAKE Clip Lab first.
Do not point Godot at:
- A Clip Lab web URL.
- A Windows
.lnkshortcut. - A Linux
.desktoplauncher file. - A browser-generated PWA data folder.
Those are not reliable external-editor executable paths.
This optional Godot EditorScript resets the audio editor setting to the recommended OS-default behavior:
@tool
extends EditorScript
func _run() -> void:
EditorInterface.get_editor_settings().set_setting("filesystem/external_programs/audio_editor", "")
Unity setup
Unity does not have the same global external audio editor preference as Godot. Add a small editor menu item that opens the selected audio asset through the OS default app.
Create an Editor folder in the Unity project and add this script:
#if UNITY_EDITOR
using System.Diagnostics;
using System.IO;
using UnityEditor;
using UnityEngine;
public static class ClipLabExternalAudio
{
[MenuItem("Assets/Open Audio in Clip Lab", true)]
private static bool ValidateOpenAudio()
{
return Selection.activeObject is AudioClip;
}
[MenuItem("Assets/Open Audio in Clip Lab")]
private static void OpenAudio()
{
var projectPath = AssetDatabase.GetAssetPath(Selection.activeObject);
var absolutePath = Path.GetFullPath(projectPath);
Process.Start(new ProcessStartInfo(absolutePath) { UseShellExecute = true });
}
}
#endif
Then right click a WAV or OGG audio asset in Unity and choose Assets > Open Audio in Clip Lab.
After saving in Clip Lab, Unity should detect the changed asset and reimport it. If it does not refresh immediately, focus Unity again or use Assets > Refresh.
Optional helpers
These helpers are for users who want a stable command to paste into an engine. They are optional. The normal setup is still to set the OS default app and leave Godot's Audio Editor field empty.
Linux helper:
set -e
SOURCE=$(grep -ril '^Name=IMAKE Clip Lab$' "$HOME/.local/share/applications"/*.desktop 2>/dev/null | head -n 1)
if [ -z "$SOURCE" ]; then
echo "IMAKE Clip Lab launcher not found. Install Clip Lab as a PWA first."
exit 1
fi
mkdir -p "$HOME/.local/share/applications" "$HOME/.local/bin"
cp "$SOURCE" "$HOME/.local/share/applications/imake-cliplab.desktop"
xdg-mime default imake-cliplab.desktop audio/wav
xdg-mime default imake-cliplab.desktop audio/x-wav
xdg-mime default imake-cliplab.desktop audio/ogg
xdg-mime default imake-cliplab.desktop application/ogg
cat > "$HOME/.local/bin/imake-cliplab" <<'EOF'
#!/usr/bin/env bash
set -euo pipefail
if [ "$#" -eq 0 ]; then
echo "Usage: imake-cliplab <audio-file>" >&2
exit 0
fi
for target in "$@"; do
xdg-open "$target" >/dev/null 2>&1 &
done
EOF
chmod +x "$HOME/.local/bin/imake-cliplab"
update-desktop-database "$HOME/.local/share/applications" 2>/dev/null || true
echo "Use this in Godot: $HOME/.local/bin/imake-cliplab"
macOS helper:
mkdir -p "$HOME/bin"
cat > "$HOME/bin/imake-cliplab" <<'EOF'
#!/bin/zsh
if [ "$#" -eq 0 ]; then
open -a "IMAKE Clip Lab"
else
open -a "IMAKE Clip Lab" "$@"
fi
EOF
chmod +x "$HOME/bin/imake-cliplab"
echo "Use this in Godot: $HOME/bin/imake-cliplab"
Windows users normally do not need a helper. Set WAV and OGG to open with IMAKE Clip Lab, then leave Godot's Audio Editor field empty. If a Godot setup requires an explicit program path, use:
C:\Windows\explorer.exe
Common PWA locations
Use these locations only when troubleshooting. For engine setup, prefer the OS default app or the explicit opener commands above.
| OS | Chrome | Edge |
|---|---|---|
| Windows shortcuts | %APPDATA%\Microsoft\Windows\Start Menu\Programs\Chrome Apps\ |
%APPDATA%\Microsoft\Windows\Start Menu\Programs\Microsoft Edge Apps\ |
| Windows app data | %LOCALAPPDATA%\Google\Chrome\User Data\Default\Web Applications\ |
%LOCALAPPDATA%\Microsoft\Edge\User Data\Default\Web Applications\ |
| macOS | ~/Applications/Chrome Apps.localized/IMAKE Clip Lab.app |
~/Applications/Edge Apps.localized/IMAKE Clip Lab.app |
| Linux | ~/.local/share/applications/ for the launcher |
~/.local/share/applications/ for the launcher |
The browser profile folder can be Default, Profile 1, Profile 2, or another profile name.
Saving back
When Clip Lab is launched from a linked WAV or OGG file, Ctrl+S saves the current timeline mix back over that same audio file.
The browser may show a save-changes permission prompt before the first overwrite. This is normal browser security behavior and cannot be disabled by Clip Lab.
Save-in-place uses clean full-length export. It does not overwrite game assets with preview-capped files. If clean export is not unlocked, use normal export or unlock Clip Lab Pro before saving back to the linked file.
Fallbacks
Drag-and-drop import is not the same as linked-file launch. A normal drop gives Clip Lab audio bytes, but usually not permission to overwrite the original file.
If file handling is unavailable, open the audio normally, edit it, and export WAV or OGG back to the project folder.
Projects and install
Clip Lab supports device-local project storage, recovery autosave, and .cliplab project files.
Browser project library
Save stores the current project in the browser's IndexedDB project library. The library is local to the browser profile, so a project saved in one browser or profile will not automatically appear in another.
Portable project files
Save As .cliplab writes a portable project bundle for backup, archiving, or moving work between machines. Open Project File imports a .cliplab bundle back into the editor.
Autosave recovery
Autosave recovery can restore unsaved work after a refresh, browser restart, or interrupted session. Autosave is a recovery aid, not a substitute for saving a project or exporting a .cliplab backup.
Installed app behavior
The installed PWA registers as a .cliplab, .wav, and .ogg file handler in browsers that support web file handlers. When supported, opening one of those files from the operating system can route it into the installed Clip Lab editor.
The installed app and browser tab use the same local project stores for the same browser profile.
WAV and OGG files opened through the installed PWA become linked audio sessions. Ctrl+S saves the current timeline mix back over the linked audio file after the browser grants write permission.
For game engine integration, set WAV and OGG to open with Clip Lab at the OS level, then configure the engine to open audio files with the system default app. See Game engine audio editor setup for Godot, Unity, and common installed-app locations.
Limitations
Clip Lab is focused on short game audio clips, not long-form DAW sessions.
Browser media support
Browser decode support varies by format and operating system. WAV and OGG are the primary export formats. Imported MP3, FLAC, AIF, and AIFF files depend on what the user's browser can decode.
Project scope
Clip Lab is built for short game assets, layered one-shots, UI sounds, loops, and quick stems. Very large projects can hit browser memory or IndexedDB quota limits, especially when they contain many long source files.
File handling
.cliplab, .wav, and .ogg file handling depends on installed PWA support in the user's browser. Users can still open .cliplab bundles and audio files from inside the editor when operating system file handling is unavailable.
Current export and save limits
Edit-in-place overwrite is supported for linked WAV and OGG files when the browser provides a writable file handle and the user grants write permission. Normal drag-and-drop import usually does not provide overwrite permission. Clean full-length export requires an active Clip Lab license or a valid offline license. Free users can render preview-capped exports to test the pipeline before buying.
For billing or access problems, support should avoid collecting private payment details in Discord and escalate to staff.