A cross-platform LV2 host built with GTK4 and lilv.
- Real-time LV2 plugin hosting with lilv integration
- Intelligent plugin search - Quickly find plugins among 865+ discovered LV2 plugins by name, author, or URI
- Category filtering - Browse plugins by type (Distortion, Reverb, Analyzer, etc.) with 40+ categories
- Professional theme collection - 20+ built-in dark themes including Dracula, Nord, Gruvbox, One Dark, Solarized, and more
- Custom CSS theming - Load custom styles from
~/.config/ariel/style.cssfor personalized appearance - Settings dialog - Easy theme switching and configuration management
- Drag and drop support for intuitive plugin loading
- Parameter controls with real-time adjustment for all plugin parameters
- File parameter support - Load audio files, neural models, and impulse responses directly into plugins
- Multi-file parameter plugins - Full support for plugins with multiple file parameters (like Ratatouille)
- Enhanced file dialogs - Support for .wav, .nam, .ir, .json, and other audio/model formats
- Preset management - Save and load individual plugin presets
- Chain presets - Save entire plugin chains with all parameters
- Plugin bypass functionality for A/B testing
- Transport controls - Play, stop, record with state management
- Auto-start audio engine for immediate plugin processing
- Mono plugin support with automatic stereo conversion
- Cross-platform compatibility - Linux, Windows, and macOS
- Modern GTK4 interface with responsive design
Ariel requires the following dependencies:
- GTK4 (>= 4.0) - Modern UI toolkit
- lilv - LV2 plugin host library
- JACK Audio Connection Kit - Real-time audio server
- Meson - Build system
- C compiler (GCC or Clang)
# Install dependencies
sudo apt update
sudo apt install libgtk-4-dev liblilv-dev libjack-jackd2-dev meson build-essential
# Clone the repository
git clone https://github.com/djshaji/ariel.git
cd ariel
# Configure build
meson setup builddir
# Compile
meson compile -C builddir
# Run
./builddir/ariel# Install dependencies
sudo dnf install gtk4-devel lilv-devel jack-audio-connection-kit-devel meson gcc
# Clone and build
git clone https://github.com/djshaji/ariel.git
cd ariel
meson setup builddir
meson compile -C builddir
# Run
./builddir/ariel# Install dependencies
sudo pacman -S gtk4 lilv jack2 meson gcc
# Clone and build
git clone https://github.com/djshaji/ariel.git
cd ariel
meson setup builddir
meson compile -C builddir
# Run
./builddir/arielYou can build Ariel for Windows from Linux using MinGW-w64 cross-compiler:
# Ubuntu/Debian
sudo apt install gcc-mingw-w64-x86-64 mingw-w64-tools
# Fedora/RHEL
sudo dnf install mingw64-gcc mingw64-gtk4 mingw64-lilv
# Arch Linux
sudo pacman -S mingw-w64-gcc mingw-w64-gtk4# Clone repository
git clone https://github.com/djshaji/ariel.git
cd ariel
# Use the automated build script
./build-windows.sh
# Or manually configure cross-compilation
meson setup build-windows --cross-file cross/windows-x86_64.txt
meson compile -C build-windows
# Result: build-windows/ariel.exeThe Windows build requires these DLLs to be distributed with the executable:
- GTK4 runtime libraries
- lilv/serd/sord libraries
- JACK for Windows (or ASIO driver)
- MinGW runtime DLLs
You can create a portable Windows package by copying these dependencies alongside ariel.exe.
Ariel requires JACK to be running for audio processing:
# Check if JACK is running
jack_control status
# Start JACK with default settings
jack_control start
# Or use QJackCtl for graphical JACK control
qjackctlIf you're using PipeWire (common on modern Linux), JACK compatibility is usually enabled by default:
# Check if PipeWire-JACK is active
systemctl --user is-active pipewire-jack# Clone repository
git clone https://github.com/djshaji/ariel.git
cd ariel
# Setup build directory
meson setup builddir
# Compile with debug info
meson compile -C builddir
# Clean rebuild (if needed)
rm -rf builddir
meson setup builddir
meson compile -C builddir# Configure for release
meson setup builddir --buildtype=release
# Compile optimized version
meson compile -C builddir# Install to system directories (optional)
sudo meson install -C builddir
# Uninstall (if needed)
sudo ninja -C builddir uninstall-
Missing LV2 plugins: Install LV2 plugin packages
# Ubuntu/Debian sudo apt install lv2-dev calf-plugins eq10q-lv2 # Fedora sudo dnf install lv2-devel calf-plugins # Arch sudo pacman -S lv2 calf
-
JACK not running: Start JACK audio server
jack_control start
-
Audio device permissions: Add user to audio group
sudo usermod -a -G audio $USER # Log out and back in
-
GTK4 theme warnings: Install GTK4 themes
# Ubuntu/Debian sudo apt install adwaita-icon-theme-full
- Missing dependencies: Ensure all development packages are installed
- Meson errors: Try updating Meson:
pip3 install --user --upgrade meson - Compilation fails: Check GCC/Clang version (GCC 8+ recommended)
- Use a low-latency kernel for better audio performance
- Adjust JACK buffer size for your needs (lower = less latency, higher = more stable)
- Close unnecessary applications when using real-time audio processing
-
Launch Ariel
./builddir/ariel
The audio engine will automatically start when the application launches.
-
Plugin Discovery
- View all available LV2 plugins in the left panel
- Use the search box to quickly find plugins by name, author, or URI
- Filter plugins by category using the dropdown (Distortion, Reverb, Analyzer, etc.)
- Search is case-insensitive and searches across plugin names, authors, categories, and URIs
- Over 40 plugin categories automatically detected from LV2 metadata
- Click on a plugin to load it into the active chain
-
Loading Plugins
- Browse the plugin list on the left side of the window
- Drag plugins from the list to the active plugins area on the right
- Or double-click a plugin to load it
-
Plugin Parameters
- Control knobs and sliders appear automatically for each loaded plugin
- File Parameters: Click "Choose File..." buttons to load audio files, neural models, or impulse responses
- Supported formats: .wav, .nam, .nammodel, .ir, .json, .aidadspmodel, .aidiax, .cabsim
- Multi-file plugins (like Ratatouille) show separate controls for each file parameter
- Adjust parameters in real-time while audio is playing
- Parameters are saved with your session
-
Plugin Management
- Remove individual plugins with the "Remove" button
- Use "Remove All" to clear all active plugins
- Plugins process audio in the order they appear in the list
-
Theme Selection
- Access the Settings dialog from the header bar menu
- Choose from 20+ professional dark themes:
- Popular themes: Dracula, Nord, Gruvbox, One Dark, Solarized Dark
- Classic themes: Tomorrow Night, Zenburn, Arc, Material Darker
- Specialized themes: Atomic, Ayu Dark, Badwolf, Blackboard, Cobalt2
- Custom themes: Midnight, Charcoal, Slate, Spacegray, and more
- Themes feature sophisticated styling with gradients, animations, and accessibility support
- Settings are automatically saved and restored on application restart
-
Preset Management
- Individual Plugin Presets: Save/load presets for individual plugins using the "Save" and "Load" buttons on each plugin
- Chain Presets: Save entire plugin chains with all parameters using "Save Chain" and "Load Chain" buttons
- Presets are stored in
~/.config/ariel/presets/(individual) and~/.config/ariel/chain_presets/(chains) - Chain presets preserve plugin order, all parameter values, and bypass states
-
Transport Controls
- Use Play/Stop buttons in the header bar
- Record button for future recording functionality
Before using Ariel, ensure your audio setup is working:
-
Connect Audio Sources
- Connect your audio input (microphone, instrument, etc.) to your audio interface
- Or use system audio sources
-
JACK Connections (if using JACK directly)
- Use
qjackctlorjack_lspto see available ports - Connect Ariel's input/output ports to your audio interface
- Example with command line:
# Connect system input to Ariel jack_connect system:capture_1 ariel:input_left jack_connect system:capture_2 ariel:input_right # Connect Ariel output to system jack_connect ariel:output_left system:playback_1 jack_connect ariel:output_right system:playback_2
- Use
- Audio Effects: Reverb, delay, distortion, EQ, compressors, etc.
- Neural Amp Modelers: Neural Amp Modeler plugin with .nam/.nammodel file support
- Multi-parameter Plugins: Ratatouille (4 file parameters), and other complex plugins
- IR Processors: Impulse response plugins with .wav/.ir file loading
- Generators: Synthesizers, oscillators, noise generators
- Analyzers: Spectrum analyzers, meters, tuners
- MIDI Effects: Note processors, arpegiators (MIDI support coming soon)
Ariel includes 20+ professionally designed dark themes accessible through the Settings dialog:
- Dracula - Purple-tinted dark theme popular in coding
- Nord - Arctic-inspired blue theme
- Gruvbox Dark - Retro groove color scheme
- One Dark - Atom editor's default dark theme
- Solarized Dark - Scientifically designed color palette
- Tomorrow Night - Clean, readable dark theme
- Arc - Flat dark theme with blue accents
- Ayu Dark - Rust editor theme
- Badwolf - Vim colorscheme adaptation
- Blackboard - TextMate editor theme
- Cobalt2 - Wes Bos' coding theme
- Darcula - IntelliJ IDEA dark theme
- Material Darker - Google Material Design dark
- Zenburn - Low-contrast retro theme
- Atomic - Red-accented scientific theme
- Midnight - Deep blue midnight colors
- Charcoal - Neutral gray professional theme
- Slate - Modern slate gray theme
- Spacegray - Minimalist space-inspired theme
All themes feature:
- Modern GTK4 styling with gradients and animations
- Accessibility support with high contrast options
- Consistent design language across all UI elements
- Professional appearance suitable for audio production
Ariel supports custom CSS styling for complete visual customization:
- Create CSS file:
~/.config/ariel/style.css - Add custom styles: Use standard CSS syntax to modify the interface
- Available selectors:
window,.title-2,.suggested-action,.card,button, etc. - Example styles:
/* Custom Ariel theme */ window { background: linear-gradient(45deg, #1a1a2e, #16213e); } .title-2 { color: #00d4aa; font-weight: bold; } .suggested-action { background: linear-gradient(45deg, #00d4aa, #0f3460); }
- Theme Selection: Use the Settings dialog to instantly switch between 20+ professional themes
- Mono Plugins: Automatically work with stereo audio - mono output is duplicated to both channels
- Plugin Order: Drag plugins in the active list to reorder them
- Performance: Start with smaller buffer sizes in JACK for lower latency
- Plugin Discovery: Ariel caches plugin information for faster startup
- Custom Styling: Create
~/.config/ariel/style.cssfor complete visual customization - Theme Persistence: Selected themes are automatically saved and restored
Instructions for running the application and using its features will be provided here.
Contributions are welcome! Please see the CONTRIBUTING.md file for guidelines.
This project is licensed under the MIT License. See the LICENSE file for details.


