feat: WAV→Disk Packager — create AKAI ISO from WAV files #3

Open
opened 2026-06-22 02:37:17 +00:00 by david · 0 comments
Owner

Feature: WAV→Disk Packager

As a sample creator
I want to take a folder of WAV files and package them into a new AKAI-format disk image
So that I can load my custom samples onto a physical AKAI sampler

Acceptance Criteria

Scenario: Create an S1000 hard disk image from WAVs

Given a folder ./wavs/my-kit/ containing KICK.WAV, SNARE.WAV, HAT.WAV
When I run the Disk Packager targeting S1000 format with 60MB partition size
Then a new ./output/my-kit.iso is created
And browsing it with Disk Browser shows:
  Partition A → Volume "MY-KIT" → KICK.S, SNARE.S, HAT.S
And each sample plays back correctly as a WAV

Scenario: Create an S900 disk image with auto-compression

Given a folder of WAV files
When I create an S900 disk image with compression enabled
Then all samples are stored as S900-compressed format
And the image size is ≤ 64MB (S900 max)

Scenario: WAV files exceed target disk size

Given 500MB of WAV files targeting an S900 disk (64MB max)
When I attempt to package them
Then I see a clear error: "Source WAVs (500MB) exceed S900 max disk size (64MB)"
And no partial image is created

Scenario: Create a CD3000 CD-ROM image

Given a folder of WAV files
When I create a CD3000 CD-ROM image with label "MY_CD"
Then setcdinfo shows the label correctly

Implementation Notes

  • akaiutil automates this entirely:
    formatharddisk1 60Mmkvol1 MY_KIT 1lcd /path/to/wavswav2sample1 *.wav
  • Then setcdinfo MY_CD for CD3000 images
  • Endpoint: POST /api/package with JSON{source_dir, format, size_mb, label}
  • Delete temp files on failure
  • Provide progress via SSE (one event per file converted)

Karpathy Principle

Start with S1000 60MB partition — the most common format. Ship that before adding S900 compression or CD3000 CD-ROM support.

## Feature: WAV→Disk Packager **As a** sample creator **I want to** take a folder of WAV files and package them into a new AKAI-format disk image **So that** I can load my custom samples onto a physical AKAI sampler ### Acceptance Criteria **Scenario: Create an S1000 hard disk image from WAVs** ``` Given a folder ./wavs/my-kit/ containing KICK.WAV, SNARE.WAV, HAT.WAV When I run the Disk Packager targeting S1000 format with 60MB partition size Then a new ./output/my-kit.iso is created And browsing it with Disk Browser shows: Partition A → Volume "MY-KIT" → KICK.S, SNARE.S, HAT.S And each sample plays back correctly as a WAV ``` **Scenario: Create an S900 disk image with auto-compression** ``` Given a folder of WAV files When I create an S900 disk image with compression enabled Then all samples are stored as S900-compressed format And the image size is ≤ 64MB (S900 max) ``` **Scenario: WAV files exceed target disk size** ``` Given 500MB of WAV files targeting an S900 disk (64MB max) When I attempt to package them Then I see a clear error: "Source WAVs (500MB) exceed S900 max disk size (64MB)" And no partial image is created ``` **Scenario: Create a CD3000 CD-ROM image** ``` Given a folder of WAV files When I create a CD3000 CD-ROM image with label "MY_CD" Then setcdinfo shows the label correctly ``` ### Implementation Notes - akaiutil automates this entirely: `formatharddisk1 60M` → `mkvol1 MY_KIT 1` → `lcd /path/to/wavs` → `wav2sample1 *.wav` - Then `setcdinfo MY_CD` for CD3000 images - Endpoint: POST `/api/package` with JSON{source_dir, format, size_mb, label} - Delete temp files on failure - Provide progress via SSE (one event per file converted) ### Karpathy Principle Start with S1000 60MB partition — the most common format. Ship that before adding S900 compression or CD3000 CD-ROM support.
david added the featuredisk-opsenhancement labels 2026-06-22 02:37:17 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: david/akai-utils#3