Skip to content

CLI Usage Guide

AudioX provides a powerful command-line interface for audio processing tasks. This guide covers all CLI features and usage patterns.

Installation

bash
# Global installation
npm install -g @stacksjs/audiox

# Local installation
npm install @stacksjs/audiox

Basic Commands

Convert Audio Files

bash
# Basic conversion
audiox convert input.mp3 output.wav

# With quality settings
audiox convert input.mp3 output.mp3 --bitrate 320k --channels 2

# With sample rate
audiox convert input.mp3 output.wav --sample-rate 48000

Get Audio Information

bash
# View audio file details
audiox info input.mp3

# Export info to JSON
audiox info input.mp3 --json

# View specific metadata
audiox info input.mp3 --metadata-only

Batch Processing

bash
# Convert multiple files
audiox convert *.mp3 --output-format wav

# Process directory
audiox convert ./input-dir --output-dir ./output-dir --format mp3

# Apply same settings to multiple files
audiox convert *.wav --output-format mp3 --bitrate 192k

Advanced Options

Audio Quality

bash
# High quality conversion
audiox convert input.wav output.mp3 \
  --bitrate 320k \
  --sample-rate 48000 \
  --channels 2

# Voice optimization
audiox convert input.mp3 output.wav \
  --sample-rate 16000 \
  --channels 1

Metadata Management

bash
# Set metadata
audiox metadata input.mp3 \
  --title "Song Title" \
  --artist "Artist Name"

# Copy metadata
audiox metadata source.mp3 --copy-to target.mp3

# Remove metadata
audiox metadata input.mp3 --clear

Stream Processing

bash
# Process from stdin
cat input.mp3 | audiox convert - output.wav

# Process to stdout
audiox convert input.mp3 - > output.wav

# Chain commands
audiox convert input.mp3 - | audiox metadata - --title "Processed"

Configuration

Global Settings

bash
# Set default format
audiox config set format mp3

# Set default bitrate
audiox config set bitrate 192k

# View current config
audiox config list

Project Configuration

Create an audiox.config.js file:

javascript
module.exports = {
  // Default settings
  defaults: {
    format: 'mp3',
    bitrate: '192k',
    sampleRate: 44100,
  },

  // Output paths
  paths: {
    output: './processed',
    temp: './temp',
  },

  // Processing rules
  rules: {
    'high-quality': {
      bitrate: '320k',
      sampleRate: 48000,
    },
    'voice-optimized': {
      sampleRate: 16000,
      channels: 1,
    },
  },
}

Best Practices

Performance

  • Use batch processing for multiple files
  • Utilize configuration files for consistent settings
  • Monitor system resource usage

Organization

  • Follow consistent naming conventions
  • Use project configuration files
  • Structure output directories logically

Error Handling

  • Check process exit codes
  • Implement proper logging
  • Use error recovery options

Examples

Common Workflows

bash
# Batch convert with quality preset
audiox convert ./music/*.wav \
  --output-dir ./processed \
  --preset high-quality

# Process and tag files
audiox convert input.mp3 output.mp3 \
  --bitrate 320k \
  --metadata "title=Processed Song" \
  --metadata "artist=AudioX"

# Chain multiple operations
audiox convert input.wav - \
  | audiox filter - --normalize \
  | audiox convert - output.mp3 --bitrate 192k

Released under the MIT License.