Atlas Audio: Kontakt Extractor

The Kontakt extractor analyzes Native Instruments Kontakt instrument files, Battery kits, and Kontakt multis to discover library identifiers, instrument metadata, and sample file references. It’s part of the Atlas Audio extractor pack.

Extensions: .nki, .nbkt, .nkm

What It Finds

The Kontakt extractor parses the NI container format used by Kontakt instrument files (and the structurally identical Battery kit and Kontakt multi formats) and discovers four categories of references:

Library Product ID

Each Kontakt instrument belongs to a library identified by a product ID. The extractor reads this from the AUTHORING_APP chunk in the NI container.

If Native Instruments’ komplete.db3 database is available on the system, Atlas resolves the product ID to the library’s human-readable name (e.g., “Session Strings Pro 2”). Otherwise, it records the raw identifier as kontakt:product_id:<id>.

Edge type: input

Instrument Metadata

The extractor reads the SOUNDINFO chunk to discover instrument metadata:

  • Instrument name
  • Author
  • Vendor
  • Category and subcategories

These are recorded as inputs, providing a way to search and catalog instruments by their metadata.

Edge type: input

NI internal metadata keys (prefixed with @) are filtered out.

Sample File Paths

Kontakt instruments reference sample files stored on disk. The extractor decompresses the preset data and parses the filename list to reconstruct full sample paths.

Paths are encoded in a segment format:

  • Drive letters
  • Directory segments
  • Parent directory references (../)
  • Root markers (/)
  • Filenames

The extractor reconstructs these segments into complete file paths.

Edge type: input

Note: DRM-encrypted instruments are detected and skipped gracefully — the extractor returns no sample paths rather than failing.

NKS Preview Audio

NKS-compatible Kontakt instruments have an associated audio preview file used by NI’s browser for auditioning presets. The preview follows a deterministic naming convention:

Instruments/
  My Instrument.nki
  .previews/
    My Instrument.nki.ogg

The extractor constructs the expected preview path (<source_dir>/.previews/<filename>.ogg) and checks if the file exists on disk. If found, it emits an output edge linking the instrument to its preview audio.

Edge type: output

Path convention: ../.previews/<instrument_filename>.ogg

This relationship is certain when the file exists — the NKS specification defines this convention, and Native Access generates these preview files during library installation.

Example Usage

# Scan a Kontakt instrument
atlas scan ~/Libraries/Kontakt/MyInstrument.nki

# View its inputs
atlas inputs ~/Libraries/Kontakt/MyInstrument.nki

Example output:

Inputs for "MyInstrument.nki":

  Plugins:
    Session Strings Pro 2 (kontakt)

  Audio:
    Samples/Violins/vln_sustain_c3_rr1.wav
    Samples/Violins/vln_sustain_c3_rr2.wav
    Samples/Violins/vln_sustain_d3_rr1.wav
    ...

Use Cases

  • Library inventory — Catalog which Kontakt libraries are installed and which instruments reference them
  • Missing samples — Run atlas broken to find instruments with broken sample references
  • Storage analysis — See which sample files are referenced by which instruments using atlas dependents
  • Migration planning — Before moving libraries to a new drive, check all sample path references
  • Orphan detection — Use atlas orphans to find sample files that no instrument references

Limitations

  • DRM-encrypted instruments are detected and skipped. No sample paths are extracted from encrypted presets, but the library product ID and instrument metadata are still read when available.
  • Kontakt versions — The extractor targets the NI container format used by modern Kontakt versions. Very old format versions may not be fully parsed.
  • Product ID resolution requires komplete.db3 from a Native Instruments installation. Without it, raw product IDs are recorded instead of library names.