Are you a plugin hoarder? Do you plan to finally minimalize your project setup with only a bespoke selection of your favorite plugins? Look no further and get ready to ask the question "Does CLA Vocals really spark joy?".
This application analyzes plugin and sample usage across your Ableton Live Set (.als) files. It provides a simple GUI to select projects, configure report settings, and generate a markdown report showing which plugins and samples you use most.
- Plugin Detection: Scans for AU, VST2, and VST3 plugins across all selected projects.
- Sample Detection: Finds samples used in Audio Clips, Drum Racks, and Simpler instruments.
- File & Folder Selection: Add individual .als files or scan an entire folder recursively (automatically skips Backup folders).
- Configurable Threshold: Mark plugins and samples as "often used" when they appear in more than N projects.
- Top N Limits: Optionally limit the report to only the top N plugins and/or samples (set to 0 to show all).
- Persistent Configuration: Save your report settings to
config.yamlso they're remembered between sessions. - Markdown Reports: Generates timestamped reports in a
reports/folder, including:- All plugins sorted by usage count
- All samples sorted by usage count
- Samples broken down by source type (Audio Clip, Drum Rack, Simpler)
- Optionally lists all processed project files
- Interactive Report Viewer: After generating a report, an integrated viewer opens with sortable tabs for Plugins, Samples, and per-source breakdowns. Color-coded highlights mark frequently used items, and sample entries can be revealed directly in Finder.
- Unused Plugin Detection (Beta): Point the app at your plugin folders (AU, VST, VST3) to find plugins you've never used — or barely used — across your projects. Configurable "rarely used" threshold lets you decide what counts.
- Progress Indicator: Status bar shows real-time progress while processing files.
Beta Notice — Unused Plugin Detection This feature uses name-based matching to compare installed plugins against those found in your projects. Because plugin file names don't always match the names Ableton stores internally, some results may be inaccurate (false positives or missed matches). More accurate detection is in the works. Double-check before uninstalling anything!
Ableton Live projects are saved as .als files — gzipped XML under the hood. The script parses each file and counts occurrences of plugins and samples via XPath queries:
.//PluginDesc/AuPluginInfo/Name(AU plugins).//PluginDesc/VstPluginInfo/Name(VST2 plugins).//PluginDesc/Vst3PluginInfo/Name(VST3 plugins).//AudioClip/SampleRef/FileRef(Audio Clip samples).//DrumCell/UserSample/Value/SampleRef/FileRef(Drum Rack samples).//OriginalSimpler/Player/MultiSampleMap/SampleParts/MultiSamplePart/SampleRef/FileRef(Simpler samples)
-
Clone the Repository: Clone this project to your local machine.
-
Install Dependencies: Ensure you have Python installed, along with the following packages (see requirements.txt):
lxmlPyYAMLtkinter(usually included with Python)
-
Run the Application:
python main.py
-
Select Project Files: Use "+ Add .als Files" to pick individual files, or "+ Scan Folder" to recursively find all .als files in a directory (Backup folders are skipped). Manage your selection with "Remove Selected" or "Clear All".
-
Configure Report Settings: Set the threshold for marking items as "often used", and optionally limit the report to the top N plugins/samples (0 = show all).
-
Generate Report: Click "Generate Report" to process the selected files. A timestamped markdown report will be saved to the
reports/folder. Use "Save Config" to persist your settings for next time.
The application uses a config.yaml file to store settings like the threshold and top N limits. You can edit this file directly or use the GUI.
This tool only reads .als files — it never modifies your projects. Always ensure you have backups before using any third-party tools. I take no responsibility for any loss of data. <3
This was developed on macOS, so it might have quirks on Windows. If you'd like to change something, feel very free and welcome to create a pull request :)