Skip to content

axklib Documentation

axklib is Yamaha A3000/A4000/A5000 disk image and sampler object tooling. It provides a Python API and the axklib command-line interface for inspecting supported Yamaha containers, decoding sampler objects, validating relationships, and exporting waveform data.

Setup

Install the locked development environment from the repository root:

uv sync

Show the command-line help:

uv run axklib --help

CLI Quickstart

Summarize supported inputs:

uv run axklib info <image-or-directory>

Write an inventory report:

uv run axklib inventory -o build/reports/inventory <image-or-directory>

Decode object rows:

uv run axklib objects -o build/reports/objects <image-or-directory>

Build relationship reports:

uv run axklib relationships -o build/reports/relationships <image-or-directory>

Summarize relationship coverage:

uv run axklib coverage -o build/reports/coverage <image-or-directory>

Validate containers and decoded objects:

uv run axklib validate -o build/reports/validation <image-or-directory>

Export waveform data:

uv run axklib extract waves --exact --stereo auto -o build/exports/waves <image-or-directory>

Build the local documentation:

uv run --group docs axklib-docs build --strict

Use caller-supplied ISO menu labels when a project has a separate label map:

uv run axklib info --content-label-map labels.json <image-or-directory>
uv run axklib extract waves --content-label-map labels.json -o build/exports/waves <image-or-directory>

Label maps are JSON objects with synthetic source stems and raw ISO path labels:

{
  "iso_group_labels": [
    {"source": "example_disc", "raw_group": "GROUP_A", "label": "GROUP_ALPHA"}
  ],
  "iso_volume_labels": [
    {
      "source": "example_disc",
      "raw_group": "GROUP_A",
      "raw_volume": "V001",
      "label": "Mapped Volume"
    }
  ]
}

Documentation Sections

Generated HTML is written to build/docs/site/ and is not versioned.

Local Documentation Commands

Serve the documentation:

uv run --group docs axklib-docs serve

Build the documentation strictly:

uv run --group docs axklib-docs build --strict