Something big is coming to freqlab

freqlab Documentation beta

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

Version v0.3 - This documentation is for an upcoming release and may change.

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 Windows 10/11
  • Processor Apple Silicon, Intel Mac, or x86_64 PC
  • Memory 8GB RAM minimum
  • Storage 2GB free disk space (more for JUCE/iPlug2 SDKs)
  • 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 macOS Auto-installed

Required for compiling plugins on macOS. 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)
Visual Studio Build Tools Windows Auto-installed

Required for compiling plugins on Windows. Includes the C++ toolchain needed for all frameworks.

Manual Installation
  1. Download Visual Studio Build Tools from visualstudio.microsoft.com
  2. Run the installer and select "Desktop development with C++"
  3. Wait for installation to complete
  4. Restart your computer if prompted
  5. Verify by opening "Developer Command Prompt" from the Start menu
Rust Toolchain Auto-installed

Required for NIH-plug projects and the freqlab build system. freqlab will install this automatically.

Manual Installation
  1. Open Terminal (macOS) or Command Prompt (Windows)
  2. Run: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  3. On Windows, download and run rustup-init.exe from rustup.rs instead
  4. Press Enter to proceed with default installation
  5. Restart your terminal, then verify with: rustc --version
CMake Auto-installed

Required for JUCE and iPlug2 projects. freqlab can install this for you during project creation.

Manual Installation
  1. macOS: Run "brew install cmake" or download from cmake.org
  2. Windows: Download the installer from cmake.org and add to PATH
  3. Verify with: cmake --version
Git Windows Auto-installed

Required on Windows for certain build operations. macOS includes Git with Xcode Command Line Tools.

Manual Installation
  1. Download Git for Windows from git-scm.com
  2. Run the installer with default settings
  3. Verify by opening Command Prompt and running: git --version
Claude Code CLI Auto-installed

Connects freqlab to the AI for development. Auto-installed, but requires a one-time sign-in.

Manual Installation
  1. Open Terminal (macOS) or Command Prompt (Windows)
  2. Run: claude
  3. A browser window will open - sign in with your Anthropic account
  4. Return to your terminal and confirm the connection is successful
  5. You can now close the 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.

Choose a Framework

Select the plugin framework for your project. This determines the programming language, available formats, and build speed.

NIH-plug Rust

Modern, memory-safe plugin development with excellent performance. Great for fast iteration and crash-resistant plugins.

License: Free (open source) Build speed: Fast Formats: VST3, CLAP, LV2, Standalone
JUCE C++

Industry-standard framework used by major plugin companies. The most resources and widest format support, but slower build times.

License: Free up to $50K/year revenue Build speed: Slowest Formats: VST3, CLAP, AU, AUv3, AAX, LV2, Standalone
iPlug2 C++

Lightweight C++ framework with flexible UI options and a fully permissive license. Smaller footprint than JUCE.

License: Free (permissive, no restrictions) Build speed: Slow Formats: VST3, CLAP, AU, AUv3, AAX, Standalone

Select UI Framework

Each framework offers different UI options. The available choices depend on your selected framework.

WebView (Advanced UI)

Build your interface with HTML, CSS, and JavaScript. Full creative freedom for custom, unique designs. Available for all frameworks.

egui / JUCE Components / IGraphics

Framework-native UI with standard controls. The specific technology depends on your chosen framework: egui for NIH-plug, JUCE Components for JUCE, or IGraphics for iPlug2.

No UI (native)

Parameters only - no custom interface. Your DAW provides the controls. Available for all frameworks.

Frameworks

freqlab supports three plugin frameworks. Each has different strengths, and you choose one when creating a new project.

NIH-plug

Rust

Modern, memory-safe plugin development with excellent performance. Great for fast iteration and crash-resistant plugins.

License Free (open source)
Platforms macOS, Windows, Linux
Build Speed Fast
Output Formats VST3, CLAP, LV2, Standalone

UI Options

WebView (Advanced UI) Moderate CPU

Build your interface with HTML, CSS, and JavaScript. Full creative freedom for custom designs.

egui (Simple UI) Light CPU

Rust-native immediate-mode GUI. Clean, fast, and lightweight with standard controls.

Native (No Custom UI) Minimal CPU

Parameters only - your DAW provides the controls. Minimal CPU overhead.

JUCE

C++

Industry-standard framework used by major plugin companies. The most resources and widest format support, but slower build times.

License Free up to $50K/year revenue
Platforms macOS, Windows, Linux
Build Speed Slowest
Output Formats VST3, CLAP, AU, AUv3, AAX, LV2, Standalone

UI Options

WebView (Advanced UI) Moderate CPU

Build your interface with HTML, CSS, and JavaScript. Full creative freedom.

JUCE Components Light CPU

Traditional JUCE UI with LookAndFeel system. Cross-platform consistent native controls.

Native (No Custom UI) Minimal CPU

Parameters only - your DAW provides the controls.

iPlug2

C++

Lightweight C++ framework with flexible UI options and a fully permissive license. Smaller footprint than JUCE.

License Free (permissive, no restrictions)
Platforms macOS, Windows
Build Speed Slow
Output Formats VST3, CLAP, AU, AUv3, AAX, Standalone

UI Options

WebView (Advanced UI) Moderate CPU

Build your interface with HTML, CSS, and JavaScript. Full creative freedom.

IGraphics Light CPU

Native vector graphics powered by NanoVG. Fast rendering with built-in IControls.

Native (No Custom UI) Minimal CPU

Parameters only - your DAW provides the controls.

Plugin Formats Reference

VST3 macOS, Windows, Linux

Most widely supported format. Works with nearly all DAWs.

CLAP macOS, Windows, Linux

Modern, efficient format with growing DAW support.

AU macOS

Audio Unit. Native macOS format for Logic Pro and GarageBand.

AUv3 macOS

Audio Unit v3. App extension format for iOS and macOS.

AAX macOS, Windows

Avid Audio eXtension. Required for Pro Tools. Needs the Avid SDK.

LV2 macOS, Windows, Linux

Open standard. Used by Ardour, Mixbus, and other Linux DAWs.

Standalone macOS, Windows

Runs as a desktop application without a DAW.

Library

The Library is a knowledge base built into freqlab. Browse framework documentation, implementation guides, DSP algorithms, design assets, and external resources - then attach them to your chat to give Chat better context.

Frameworks

Browse documentation and quick-reference guides for NIH-plug, JUCE, and iPlug2.

Guides

Implementation guides for common patterns, components, and techniques. Attach to chat to give it context.

Recipes

DSP algorithms in pseudocode form. Ready-to-use algorithm implementations that Chat can adapt to your project.

Assets

Design kits, CSS libraries, fonts, and sound packs for WebView-based plugin UIs.

Resources

External links and references. Chat can fetch these during your conversation for additional context.

Using Library Items in Chat

Attach any library item to your chat message to provide Chat with additional context. For example, attach a DSP recipe when asking Chat to implement a specific algorithm, or attach an asset kit when building a WebView UI.

Custom Items

Create your own guides, recipes, assets, and resources using the Create Entry button. Custom items are saved to your library and can be reused across projects.

Coming Soon: Team Library for shared items across your team, and a Marketplace for discovering community-created library content.

Working with Chat

Getting the Best Results

The more context you give Chat, 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 Chat exactly what you want. Visual references make a huge difference.

Describe the Sound

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

Attach Library Items

Use the Library to attach guides, recipes, or assets to your chat. This gives Chat proven implementations and reference material to work from.

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 Chat 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 Chat 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 Chat to provide context:

  • Drag and drop files directly onto the chat panel
  • Or click the paperclip button to browse
  • Screenshots - Show Chat 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

Best Practices

Tips to get the most out of freqlab and build better plugins faster.

1

Every Starter Template Builds Successfully

All starting templates for every framework are working gain plugins that compile and export cleanly out of the box. If you ever hit a compile error or crash during development, freqlab catches it automatically and shows a "Fix It" button - click it and Chat will resolve the issue for you.

2

Screenshot Everything

If your UI isn't looking right - layout issues, white screens, misaligned controls, wrong colors - take a screenshot and share it directly in chat. Describe what you're seeing and what you expected. This is a core part of the workflow, not a workaround. Visual context helps Chat fix UI problems dramatically faster.

3

Use WebView for Maximum UI Freedom

If you want full creative control over your plugin's look - 3D backgrounds, animations, custom knobs, advanced layouts - choose the WebView UI option. It gives you HTML, CSS, and JavaScript with unlimited design possibilities. The other UI options are great for standard interfaces, but WebView is where experimentation shines.

4

Experiment with Preview Controls

Don't just build and publish - spend time in the Preview panel testing with different signals and inputs. Try sine waves to hear frequency response, white noise to hear overall character, and your own audio files for real-world testing. The spectrum analyzer and level meters help you understand exactly what your plugin is doing to the sound.

5

Lean on the Library

Always check the Library before starting something from scratch. Attaching a guide or recipe to your chat gives Chat proven implementations to work from, which significantly improves the quality of the code it writes. DSP algorithms, UI patterns, and design assets are all there to save you time and produce better results.

6

Build Your Own Library Items

If you have DSP code, design assets, CSS snippets, or algorithms you want to reuse across projects, add them to your Library as custom items. Your personal library grows with you and makes every new project faster and more consistent.

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 Chat 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 - Chat will analyze and fix the issue automatically.

Tip: Most build errors are simple syntax issues that Chat 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

Chirp

Quick frequency burst for transient response testing

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.

Cloud Build & Distribution

Build, sign, and distribute your plugins from the cloud. Cross-platform builds, automatic code signing, and built-in distribution channels.

Coming Soon: Cloud Build is currently in development. The interface is available for preview, but submissions are not yet active.

Multi-Platform Builds Coming Soon

Build your plugin for macOS and Windows from a single machine. No need to own both platforms.

Code Signing & Notarization Coming Soon

Automatic Apple notarization and Windows code signing. Your plugins install without security warnings.

Distribution Channels Coming Soon

Publish to the freqlab Hub, partner stores, or generate direct download links for your own site.

Plugin Licensing Coming Soon

Built-in license management with trial periods, subscription support, and machine activation limits.

Analytics Coming Soon

Track downloads, active users, and revenue across all your published plugins.

How It Will Work

1

Configure your build

Select target platforms (macOS, Windows) and output formats. Add code signing credentials if you have them.

2

Submit to cloud

Your project is uploaded and built on our servers. Builds are compiled, signed, notarized, and packaged automatically.

3

Distribute

Publish to the freqlab Hub, partner channels, or generate direct download links for your own website.

Cloud-Only Formats

Some plugin formats are only available through Cloud Build:

  • WAM (Web Audio Module) - Browser-based plugins that run in web applications
  • WASM (WebAssembly) - Portable web plugins compiled to WebAssembly

FAQ & Troubleshooting

Prerequisites & Setup

Xcode Command Line Tools installation seems stuck (macOS)

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.

Visual Studio Build Tools won't install (Windows)

Make sure you have enough disk space (at least 6GB) and a stable internet connection. Download the installer directly from visualstudio.microsoft.com and select the "Desktop development with C++" workload. Run the installer as Administrator if needed.

Rust installation is failing

Make sure you have a stable internet connection. On macOS, visit rustup.rs and follow the instructions. On Windows, download and run rustup-init.exe. If PATH issues persist, restart your computer after installation.

CMake is not found when creating a JUCE or iPlug2 project

freqlab will offer to install CMake for you during project creation. If that fails, install it manually: on macOS run "brew install cmake", on Windows download from cmake.org and make sure to add it to your PATH during installation.

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 (macOS) or Command Prompt (Windows) 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).

Frameworks

Which framework should I choose?

NIH-plug (Rust) is the fastest to build and easiest to get started with. JUCE (C++) has the most plugin format support and industry resources, but builds are slower. iPlug2 (C++) is a lightweight alternative to JUCE with a fully permissive license. If you're unsure, start with NIH-plug.

Can I switch frameworks after creating a project?

No - the framework is chosen at project creation and determines the project structure and language. You would need to create a new project with the desired framework. However, Chat can help you port your DSP logic between frameworks.

Do I need to know Rust or C++ to use freqlab?

No! Chat handles the code for you. You describe what you want in natural language, and it writes the Rust or C++ code. You can focus on the creative aspects of your plugin.

What's the JUCE license situation?

JUCE is free to use if your product revenue is under $50K per year. Above that threshold, a commercial license is required. This only applies to JUCE projects - NIH-plug and iPlug2 are fully free with no revenue restrictions.

Build Errors

Build failed with "cargo not found"

Rust may not be in your PATH. Try restarting freqlab. On macOS, open Terminal and run: source ~/.cargo/env. On Windows, restart your computer after Rust installation.

Build failed with "cmake not found" (JUCE/iPlug2)

CMake is required for JUCE and iPlug2 projects. Go to Settings and install CMake, or install it manually from cmake.org. Make sure it's added to your system PATH.

Build failed with compilation errors

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

Build is taking a very long time

First builds take longer because dependencies need to compile. NIH-plug (Rust) is fastest at 30-60 seconds. JUCE and iPlug2 (C++) first builds can take several minutes. Subsequent builds are much faster.

"Fix It" isn't working

Make sure you haven't run out of AI tokens. Check your usage with your AI provider. Higher-tier subscriptions give 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. Also check Settings > Audio to verify the correct output device is selected.

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. On macOS, you may need to clear the Gatekeeper quarantine - freqlab does this automatically during Publish, but you can also run the Terminal command shown in the Publish dialog.

Windows

freqlab says I need to run as Administrator

Some operations (like publishing to Program Files) require admin privileges. Right-click freqlab and select "Run as administrator". This is only needed for publishing - development works without admin rights.

Plugin formats are different from macOS

AU and AUv3 formats are macOS-only. On Windows, use VST3 (most compatible) and CLAP. AAX is available on both platforms if you have the Avid SDK configured.

Where are plugins installed on Windows?

VST3 plugins go to C:\Program Files\Common Files\VST3\. CLAP plugins go to C:\Program Files\Common Files\CLAP\. You can customize these paths in Settings > DAW Paths.

General Questions

Where are my projects stored?

Projects are stored in your workspace folder (configurable in Settings > General). Each project is a folder containing 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! Click "Open in Editor" to launch your project in your preferred code editor (configurable in Settings > General). Changes you make will be picked up on the next build. However, if you then ask Chat 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.

What plugin formats are available?

It depends on your framework. NIH-plug builds VST3 and CLAP. JUCE supports the most formats: VST3, CLAP, AU, AUv3, AAX, LV2, and Standalone. iPlug2 supports VST3, CLAP, AU, AUv3, AAX, and Standalone. Some formats are platform-specific (AU is macOS only).

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. You can also use Package as ZIP in the Publish dialog to share just the compiled plugin binaries.