Atlas Audio: Reaktor Ensemble Extractor
The Reaktor Ensemble extractor analyzes Native Instruments Reaktor ensemble and instrument files to discover embedded file references and library associations. Reaktor files contain explicit content directory references that point to their dependent resources. It’s part of the Atlas Audio extractor pack.
Extension: .nrkt
Format Overview
NRKT files use the NI DSIN container format with additional content reference structures. They are typically small (7-18 KB) and contain instrument/ensemble definitions along with explicit references to their dependent resource files.
Binary Structure
Offset Content
0x00 Container size (4 bytes LE)
0x04 Padding (4 bytes)
0x0C "hsin" marker (hash/identity block)
0x30 "DSIN" chunks begin
0xA0+ ContentDir reference (UTF-16LE)
0xC0+ file:// URI reference (UTF-16LE)
Key DSIN chunk types:
| Type ID | Name | Content |
|---|---|---|
| 0x65 (101) | AUTHORING_APP | Product ID with version string (e.g., “2.0.4”, “4.5.6”) |
| 0x6A (106) | - | Version/flags metadata |
Content References
Reaktor files embed explicit references to their resource files using file:// URIs in UTF-16LE encoding:
ContentDir: file:///Prism.rkplr
ContentDir: file:///Monark.ens
These references point to the Reaktor library resources that the ensemble depends on. The version string in the AUTHORING_APP chunk (e.g., “2.0.4”) identifies the Reaktor library format version.
What It Extracts
| Type | Source | Example |
|---|---|---|
Trait: ensemble_name | Filename | Bass Bottle |
Trait: reaktor_version | DSIN version field | 2.0.4 |
| Edge (input): Library reference | AUTHORING_APP product_id | Reaktor Factory Library or kontakt:product_id:1234 |
| Edge (input): Content reference | file:// URI in ContentDir | Prism.rkplr |
Content References as Edges
The file:// URI references are the most lineage-relevant data. They create input edges from the ensemble to its dependent resource files (.rkplr, .ens, etc.). This allows Atlas to trace which Reaktor library resources an ensemble requires.
Implementation Notes
This extractor reuses the NI container DSIN parsing from ni_container.rs for product ID extraction. The content reference parsing is Reaktor-specific — it scans for ContentDir markers and extracts the associated file:// URIs from UTF-16LE encoded strings.
Example Usage
# Scan Reaktor ensembles
atlas scan ~/Libraries/NI/Reaktor/
# See what resources an ensemble depends on
atlas inputs ~/Libraries/NI/Reaktor/Bass\ Bottle.nrkt
Example output:
Inputs for "Bass Bottle.nrkt":
Libraries:
Prism (Reaktor)
Resources:
Prism.rkplr
Use Cases
- Ensemble inventory — Catalog all Reaktor ensembles with their library associations
- Dependency tracking — Discover which Reaktor library resources each ensemble requires
- Missing resources — Detect ensembles with broken content references after library moves
- Library usage mapping — See which Reaktor libraries are actively used by ensembles