@oletizi/audio-tools
Version:
Monorepo for hardware sampler utilities and format parsers
168 lines (118 loc) • 5.26 kB
Markdown
# Audio Tools
Monorepo of experimental tools for manipulating software and hardware audio devices.
## Installation
### Quick Install (Recommended)
Install the latest stable version directly from GitHub Releases:
```bash
curl -fsSL https://github.com/oletizi/ol_dsp/releases/download/audio-tools@1.0.0-alpha.43/install.sh | bash
```
**Or download and inspect first:**
```bash
curl -fsSL https://github.com/oletizi/ol_dsp/releases/download/audio-tools@1.0.0-alpha.43/install.sh -o install.sh
chmod +x install.sh
./install.sh
```
**Verify installer integrity (optional):**
```bash
# Download checksum
curl -fsSL https://github.com/oletizi/ol_dsp/releases/download/audio-tools@1.0.0-alpha.43/install.sh.sha256 -o install.sh.sha256
# Verify checksum (macOS/Linux)
shasum -a 256 -c install.sh.sha256
```
**Note:** This is the audio-tools module within the ol_dsp monorepo. See [all audio-tools releases](https://github.com/oletizi/ol_dsp/releases?q=audio-tools) for version history.
### Version-Specific Installation
To install a specific version:
```bash
# Replace VERSION with desired version (e.g., 1.0.0-alpha.4)
VERSION="1.0.0-alpha.4"
curl -fsSL "https://github.com/oletizi/ol_dsp/releases/download/audio-tools@${VERSION}/install.sh" | bash
```
### Alternative: npm Installation
Install packages individually via npm:
```bash
npm install -g @oletizi/sampler-backup @oletizi/sampler-export
```
**Note:** This method requires manual configuration. See individual package READMEs.
### What the Installer Does
The installer will:
1. Verify system requirements (Node.js 18+, disk space)
2. Install npm packages globally (`@oletizi/sampler-backup`, `@oletizi/sampler-export`)
3. Provide quick start guide for backup and extraction
**Installation takes approximately 2-5 minutes.**
See the [Installation Guide](./docs/1.0/INSTALLATION.md) for detailed instructions, troubleshooting, and system requirements.
---
## Sampler Lib

npm i [@oletizi/sampler-lib](https://www.npmjs.com/package/@oletizi/sampler-lib)
## Sampler Devices

npm i [@oletizi/sampler-devices](https://www.npmjs.com/package/@oletizi/sampler-devices)
* Binary format parsers for Akai S3000xl and S5000/S6000 program files
* Pure TypeScript - No native dependencies
## Sampler MIDI

npm i [@oletizi/sampler-midi](https://www.npmjs.com/package/@oletizi/sampler-midi)
* MIDI communication clients for Akai S3000xl hardware
* Send/receive SysEx messages for program and sample management
## Sampler Translate

npm i [@oletizi/sampler-translate](https://www.npmjs.com/package/@oletizi/sampler-translate)
* (Currently limited) support for translating Akai MPC and Decent Sampler programs to Akai S5000/S6000 sampler programs
* Support for chopping wav files into Akai S3000xl programs.
## Sampler Backup
Rsnapshot-based backup utility for Akai hardware samplers via PiSCSI.
* Automated incremental backups with smart same-day resume
* Space-efficient hard-linking across snapshots
* Configurable retention (7 daily, 4 weekly, 12 monthly)
* SSH-based remote transfer with partial resume support
**Quick start:**
```bash
# Generate configuration and run backup
pnpm --filter sampler-backup build
akai-backup config --test
akai-backup batch
```
[Documentation →](./sampler-backup/README.md)
## Sampler Export
Extract Akai disk images and convert programs to modern formats (SFZ, DecentSampler).
* Batch extraction with timestamp-based change detection
* Automatic format conversion (SFZ, DecentSampler)
* Integrates with sampler-backup rsnapshot structure
* Status indicators for extraction progress
**Quick start:**
```bash
# Extract all disks from rsnapshot backups
pnpm --filter sampler-export build
akai-extract batch
```
[Documentation →](./sampler-export/README.md)
## One-Click Workflow
Backup and extract in a single command:
```bash
# Backup samplers via PiSCSI, then extract disk images
pnpm backup-and-extract
```
This runs:
1. `akai-backup batch` - Creates/updates rsnapshot backups from hardware samplers
2. `akai-extract batch` - Extracts and converts disk images to modern formats
**Directory structure:**
```
~/.audiotools/
├── backup/ # Rsnapshot backups
│ └── daily.0/ # Latest snapshot
│ └── pi-scsi2/
│ └── home/orion/images/
│ ├── HD0.hds
│ └── ...
├── sampler-export/ # Extraction output
│ └── extracted/
│ ├── s5k/ # S5000/S6000
│ │ ├── HD0/
│ │ │ ├── samples/
│ │ │ ├── programs/
│ │ │ ├── sfz/
│ │ │ └── decentsampler/
│ │ └── ...
│ └── s3k/ # S3000XL
└── rsnapshot.conf # Backup configuration
```