freqlab Documentation beta
Everything you need to create audio plugins through conversation. From first launch to publishing your finished plugin.
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
- Open Terminal (Applications > Utilities > Terminal)
- Run: xcode-select --install
- Click "Install" when the dialog appears
- Wait for installation to complete (5-10 minutes)
- 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
- Download Visual Studio Build Tools from visualstudio.microsoft.com
- Run the installer and select "Desktop development with C++"
- Wait for installation to complete
- Restart your computer if prompted
- 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
- Open Terminal (macOS) or Command Prompt (Windows)
- Run: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
- On Windows, download and run rustup-init.exe from rustup.rs instead
- Press Enter to proceed with default installation
- 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
- macOS: Run "brew install cmake" or download from cmake.org
- Windows: Download the installer from cmake.org and add to PATH
- 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
- Download Git for Windows from git-scm.com
- Run the installer with default settings
- 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
- Open Terminal (macOS) or Command Prompt (Windows)
- Run: claude
- A browser window will open - sign in with your Anthropic account
- Return to your terminal and confirm the connection is successful
- You can now close the terminal and return to freqlab
First Launch
Download freqlab
Get the latest version from freqlab.app or from GitHub Releases
Open the app
Double-click to launch. macOS may ask you to confirm since it's from an identified developer.
Complete prerequisites
Follow the on-screen prompts to install Xcode tools and Rust. This only happens once.
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.
Modern, memory-safe plugin development with excellent performance. Great for fast iteration and crash-resistant plugins.
Industry-standard framework used by major plugin companies. The most resources and widest format support, but slower build times.
Lightweight C++ framework with flexible UI options and a fully permissive license. Smaller footprint than JUCE.
Select UI Framework
Each framework offers different UI options. The available choices depend on your selected framework.
Build your interface with HTML, CSS, and JavaScript. Full creative freedom for custom, unique designs. Available for all frameworks.
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.
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
RustModern, memory-safe plugin development with excellent performance. Great for fast iteration and crash-resistant plugins.
UI Options
JUCE
C++Industry-standard framework used by major plugin companies. The most resources and widest format support, but slower build times.
UI Options
iPlug2
C++Lightweight C++ framework with flexible UI options and a fully permissive license. Smaller footprint than JUCE.
UI Options
Plugin Formats Reference
Most widely supported format. Works with nearly all DAWs.
Modern, efficient format with growing DAW support.
Audio Unit. Native macOS format for Logic Pro and GarageBand.
Audio Unit v3. App extension format for iOS and macOS.
Avid Audio eXtension. Required for Pro Tools. Needs the Avid SDK.
Open standard. Used by Ardour, Mixbus, and other Linux DAWs.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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
Configure your build
Select target platforms (macOS, Windows) and output formats. Add code signing credentials if you have them.
Submit to cloud
Your project is uploaded and built on our servers. Builds are compiled, signed, notarized, and packaged automatically.
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.