Atlas Audio: Reaper Extractor
The Reaper extractor analyzes REAPER DAW project files to discover audio sources, sample origins, plugin references, and render outputs. It’s part of the Atlas Audio extractor pack.
Extensions: .rpp, .rpp-bak
What It Finds
The Reaper extractor discovers four categories of references in project files:
Audio Sources (FILE Directives)
REAPER projects reference audio files via FILE directives. The extractor finds every audio source used in the project — recordings, samples, bounces, imported audio.
Edge type: input
Both relative and absolute paths are handled. Relative paths are resolved against the project file’s directory. Duplicate references to the same file across multiple tracks are deduplicated.
Import Origins (ORIGINAL_FILENAME)
When audio is imported or recorded in REAPER, the project may store the original filename inside <EXT> blocks. The extractor captures these to track where audio files originally came from — useful for tracing samples back to their source.
Atlas records this as a source_path on the target entity rather than as an edge, providing provenance breadcrumbs without cluttering the edge graph.
Plugin References (VST Blocks)
The extractor parses <VST> blocks to identify every plugin used in the project. For each plugin, it extracts:
- Plugin name
- Vendor
- Format (VSTi, VST3i, VST, VST3, etc.)
- Plugin file path (when available)
Edge type: input
References are formatted as: "Plugin Name (Vendor) [Format]"
Supported formats:
| Format | Description |
|---|---|
| VSTi | VST2 instrument |
| VST | VST2 effect |
| VST3i | VST3 instrument |
| VST3 | VST3 effect |
Kontakt Product IDs
When a VST block contains a Kontakt instance, the extractor goes deeper. It decodes the plugin’s state data (base64-encoded) and scans the NI container blob for the loaded Kontakt library’s product ID.
If Native Instruments’ komplete.db3 is available on the system, Atlas resolves the product ID to the library’s human-readable name. Otherwise, it records the raw product ID as kontakt:product_id:<id>.
Edge type: input
Render Outputs (RENDER_FILE + RENDER_PATTERN)
REAPER projects declare where rendered audio is written via RENDER_FILE (output directory) and RENDER_PATTERN (filename pattern). The extractor combines these to produce an output edge pointing to the rendered file.
Edge type: output
Render output extraction is skipped for .rpp-bak files — backups are snapshots and are never actually rendered from, so their render paths would create misleading output edges.
The RENDER_PATTERN may contain Reaper wildcards like $project, $track, $date, and $region. The extractor expands $project using the RPP filename (e.g., MySong.RPP → MySong). If no unexpanded wildcards remain after substitution, the edge resolves to a file-level path. Otherwise, it falls back to the directory.
The output file extension is determined by RENDER_FMT, which encodes the render format:
| Code | Format | Extension |
|---|---|---|
| 0 | WAV | .wav |
| 3 | OGG Vorbis | .ogg |
| 4 | FLAC | .flac |
| 5 | MP3 | .mp3 |
| 6 | WavPack | .wv |
| 7 | AIF/AIFF | .aif |
If RENDER_FMT is absent, the extractor defaults to .wav.
When paired with the WAV Metadata extractor, Atlas can confirm render provenance: the RPP declares its output path, and the rendered WAV’s BEXT metadata confirms the origin project. This enables both forward tracing (RPP → rendered file) and backward tracing (rendered file → source RPP).
Example Usage
# Scan a Reaper project
atlas scan ~/music/sessions/my-song.rpp
# View what the project needs
atlas inputs ~/music/sessions/my-song.rpp
# View what the project produces
atlas outputs ~/music/sessions/my-song.rpp
Example output from atlas inputs:
Inputs for "my-song.rpp":
Plugins:
Kontakt 7 (Native Instruments) [VST3i]
Pro-Q 3 (FabFilter) [VST3]
Valhalla Room (Valhalla DSP) [VST]
Audio:
audio/drums-main.wav
audio/bass-di.wav
samples/foley-rain.wav
Example output from atlas outputs:
Outputs of my-song.rpp:
◈ /Users/me/music/sessions/Renders/my-song.wav
Use Cases
- Session auditing — See every plugin and audio file a project needs before sharing or archiving
- Missing file detection — Run
atlas brokento find audio files referenced by the project that have been moved or deleted - Plugin inventory — Catalog which plugins are used across all your projects
- Sample provenance — Track where imported audio originally came from via
source_path - Render tracking — See where a project renders its output, and trace forward from project to deliverable
- Project portability — Before moving a project to another machine, check that all inputs are accounted for