Something big is coming to freqlab

freqlab Documentation

Everything you need to create audio plugins through conversation. From first launch to publishing your finished plugin.

Version v0.1

Getting Started

This guide will help you get up and running with creating your first audio plugin.

System Requirements

  • Operating System macOS 12 (Monterey) or later
  • Processor Apple Silicon or Intel Mac
  • Memory 8GB RAM minimum
  • Storage 2GB free disk space
  • Claude Subscription Claude Pro or Max (Max recommended)

Prerequisites

freqlab needs a few tools to compile plugins. Don't worry - most are installed automatically. If you run into issues, expand each item below for manual installation instructions.

Xcode Command Line Tools Auto-installed

Required for compiling plugins. freqlab will install this automatically on first launch.

Manual Installation
  1. Open Terminal (Applications → Utilities → Terminal)
  2. Run: xcode-select --install
  3. Click "Install" when the dialog appears
  4. Wait for installation to complete (5-10 minutes)
  5. Verify with: xcode-select -p (should show /Library/Developer/CommandLineTools)
Rust Toolchain Auto-installed

The programming language used for audio plugins. freqlab will install this automatically.

Manual Installation
  1. Open Terminal
  2. Run: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  3. Press Enter to proceed with default installation
  4. When complete, run: source ~/.cargo/env
  5. Verify with: rustc --version (should show a version number)
Claude Code CLI Auto-installed

Connects freqlab to Claude for AI-assisted development. Auto-installed, but requires a one-time sign-in via Terminal.

Manual Installation
  1. Open Terminal (Applications → Utilities → Terminal)
  2. Run: claude
  3. A browser window will open - sign in with your Anthropic account
  4. Return to Terminal and confirm the connection is successful
  5. You can now close Terminal and return to freqlab

First Launch

1

Download freqlab

Get the latest version from freqlab.app or from GitHub Releases

2

Open the app

Double-click to launch. macOS may ask you to confirm since it's from an identified developer.

3

Complete prerequisites

Follow the on-screen prompts to install Xcode tools and Rust. This only happens once.

4

Sign in to Claude

Connect your Claude account. You'll need a Pro or Max subscription.

Creating Your First Plugin

Click "New Plugin"

From the sidebar, click the New Plugin button to open the creation wizard.

Choose Plugin Type

Effect

Processes audio that passes through it. Examples: EQ, compressor, reverb, delay, distortion.

Instrument

Generates audio from MIDI input. Examples: synthesizers, samplers, drum machines.

Select UI Framework

Choose how your plugin's interface will be built.

Simple UI (egui)

Creates a clean, native-looking interface with minimal setup. Good for standard controls and layouts.

Web UI (webview)

Build your interface with HTML, CSS, and JavaScript. Great for custom, unique designs.

No UI (native)

Parameters only - no custom interface. Your DAW provides the controls.

Optional Components

You can choose starter components to include in your plugin, like filters, oscillators, or effects. These give Claude a starting point to work from.

Working with Chat

Getting the Best Results

The more context you give Claude, the better your results will be. Here are some tips:

Be Specific About Controls

Instead of "add a filter", say "add a low-pass filter with cutoff frequency (20Hz-20kHz) and resonance (0-100%) controls".

Share Screenshots

Attach screenshots of other plugins or UI mockups to show Claude exactly what you want. Visual references make a huge difference.

Describe the Sound

Use descriptive terms like "warm", "punchy", "smooth", "aggressive". Claude understands audio characteristics and can translate them into DSP.

Reference Known Effects

Mention well-known plugins or effects as references. "Make it sound like a Roland Juno chorus" gives Claude a clear target.

Iterate Incrementally

Build your plugin step by step. Start with basic functionality, test it, then add more features. This makes it easier to debug issues.

Share Error Messages

When something goes wrong, share the full error message or screenshot. The more context Claude has, the faster it can fix the problem.

Example Prompts

  • "Create a phaser effect with rate and depth controls"
  • "Add a warm tape saturation with adjustable grit and tone"
  • "Make the filter resonance more pronounced at higher values"
  • "Add a dry/wet mix control"
  • "Create a polysynth with ADSR envelope and filter cutoff"
  • "Add an LFO to modulate the filter cutoff"

Understanding Versions

Every time Claude makes changes to your plugin code, a new version is created automatically. You'll see a version badge (like "v3") on each message that modified files.

  • Version history - Your entire conversation is preserved with version markers
  • Revert anytime - Click any version badge to restore your plugin to that exact state
  • No fear of breaking things - Experiment freely knowing you can always go back
  • Messages after revert - When you revert, later messages are dimmed but not deleted

Attaching Files

Share files with Claude to provide context:

  • Drag and drop files directly onto the chat panel
  • Or click the paperclip button to browse
  • Screenshots - Show Claude what you want the UI to look like
  • Reference audio - Share examples of the sound you're going for
  • Code snippets - Share DSP algorithms or effects you want to replicate

Building & Testing

Build Button

Click Build to compile your plugin. This creates both VST3 and CLAP formats.

  • First builds take longer (30-60 seconds) as dependencies compile
  • Subsequent builds are much faster
  • Build output appears in the output panel

Auto Build

Toggle Auto Build to automatically compile whenever Claude makes changes. Great for rapid iteration.

Fixing Errors

If a build fails, you'll see a Fix It button. Click it to send the error to chat - Claude will analyze and fix the issue automatically.

Tip: Most build errors are simple syntax issues that Claude can fix immediately. Don't be afraid of red error messages!

Audio Preview

Launch Plugin

After building, toggle Launch Plugin to load your compiled plugin into the preview engine.

Test Signals

For effects, use built-in test signals to hear how your plugin processes audio:

Sine Wave

Pure tone for testing frequency response

White Noise

Full spectrum for hearing overall character

Frequency Sweep

Moving tone to hear how frequencies are affected

Impulse

Single click for testing reverb tails

Sample Playback

Load the included demo samples or your own audio files to hear your plugin in a real context.

Live Audio Input

Route audio from your audio interface through the plugin for real-time testing. Perfect for hearing how effects respond to dynamic material.

MIDI (Instruments)

For instrument plugins, you have several ways to trigger notes:

  • On-screen keyboard - Click or use computer keyboard
  • Pattern sequencer - Create rhythmic patterns
  • MIDI files - Load and play MIDI files
  • Hardware MIDI - Connect your MIDI controller

Monitoring Controls

The Controls button opens a panel with tools to analyze your plugin's audio:

Level Meters

Real-time input and output levels with dB readings. Shows both pre and post-plugin signal levels.

Spectrum Analyzer

Frequency visualization showing how your plugin affects different parts of the audio spectrum.

Waveform Display

Time-domain view of your audio. Toggle to see the shape of your signal before and after processing.

Stereo Imager

Visualize stereo width and correlation. Useful for checking phase issues and stereo spread.

Performance Monitor

CPU usage and processing time for your plugin. Helps identify performance bottlenecks.

Note: The preview has a safety limiter to protect your speakers. If you see clipping indicators, your plugin is outputting hot levels - but your speakers are safe.

Publishing

Publish to DAW

Click Publish to copy your plugin to your DAW's plugin folder. freqlab will ask which format (VST3/CLAP) and which DAW.

Preset DAW Locations

Logic ProAbleton LiveFL StudioREAPER

Using a different DAW? Select Custom Location in Settings → DAW Paths to set your own plugin folders. Your plugins work with any DAW that supports VST3 or CLAP.

FAQ & Troubleshooting

Prerequisites & Setup

Xcode Command Line Tools installation seems stuck

The installation can take 5-10 minutes depending on your internet connection. If it's truly stuck, try opening Terminal and running: xcode-select --install. You can also download directly from Apple Developer.

Rust installation is failing

Make sure you have a stable internet connection. If the automatic installation fails, you can install Rust manually by visiting rustup.rs and following the instructions for macOS.

Claude sign-in isn't working

Make sure you have an active Claude Pro or Max subscription at claude.ai. The CLI uses browser-based authentication - a browser window should open for you to sign in. If it doesn't, try running "claude" in Terminal manually.

I'm stuck on "Checking prerequisites"

Try quitting and reopening freqlab. If the issue persists, check that you have a working internet connection and sufficient disk space (at least 2GB free).

Build Errors

Build failed with "cargo not found"

Rust may not be in your PATH. Try restarting freqlab, or open Terminal and run: source ~/.cargo/env

Build failed with compilation errors

Click the "Fix with Claude" button to send the error to chat. Claude will analyze the error and fix it automatically. Most errors are simple syntax issues.

Build is taking a very long time

The first build of a new project takes longer because it needs to compile dependencies. Subsequent builds are much faster. On Apple Silicon, expect 30-60 seconds for first build.

"Fix with Claude" isn't working

Make sure you haven't run out of Claude tokens. Check your usage at claude.ai. Claude Max gives you significantly more tokens for heavy development.

Audio Issues

Plugin won't load in the preview

Make sure you've built the plugin first (click Build). The plugin file needs to exist before it can be loaded. If you just created the project, you need to build it at least once.

No audio output

Check that: 1) An input source is selected (signal, sample, or live input), 2) The play button is pressed, 3) Your system audio output is working, 4) The volume isn't muted in the preview panel.

Audio is crackling or dropping out

Try increasing the buffer size in Settings > Audio. Larger buffers (512 or 1024 samples) are more stable but add latency. Also close other audio applications that might be competing for resources.

Plugin works in freqlab but not in my DAW

Make sure you've published the plugin to your DAW's plugin folder. Then rescan plugins in your DAW. Some DAWs cache plugin lists and need a manual rescan.

General Questions

Where are my projects stored?

Projects are stored in ~/VSTWorkshop/projects/. Each project is a folder containing the Rust source code, build files, and chat history.

How do I update freqlab?

freqlab checks for updates automatically on launch. When an update is available, you'll see a notification. You can also check manually in Settings > Updates.

Can I edit the code directly?

Yes! Your project folder contains standard Rust code. You can open it in any code editor. Changes you make will be picked up on the next build. However, if you then ask Claude to make changes, it may overwrite your edits.

How do I use my plugin in a DAW?

Click the Publish button to copy your plugin to your DAW's plugin folder. Then open your DAW and rescan plugins. Your plugin will appear in the plugin list.

What's the difference between VST3 and CLAP?

Both are plugin formats. VST3 is more widely supported (works in almost all DAWs). CLAP is newer and more efficient but not all DAWs support it yet. freqlab builds both formats automatically.

Can I share my plugins with others?

Use the Share feature to export your project as a zip file. Others can import it into their copy of freqlab. Note: they'll still need to build the plugin on their own machine.