cli-anything-audacity
A stateful command-line interface for audio editing, following the same patterns as the GIMP and Blender CLIs in this repo.
Installation
This CLI is installed as part of the cli-anything-audacity package:
bash
pip install cli-anything-audacity
Prerequisites:
- Python 3.10+
- audacity must be installed on your system
Usage
Basic Commands
bash
# Show help
cli-anything-audacity --help
# Start interactive REPL mode
cli-anything-audacity
# Create a new project
cli-anything-audacity project new -o project.json
# Run with JSON output (for agent consumption)
cli-anything-audacity --json project info -p project.json
REPL Mode
When invoked without a subcommand, the CLI enters an interactive REPL session:
bash
cli-anything-audacity
# Enter commands interactively with tab-completion and history
Command Groups
Project
Project management commands.
| Command | Description |
|---|
| Create a new project |
| Open an existing project |
| Save the current project |
| Show project information |
| View or update project settings |
| Print raw project JSON |
Track
Track management commands.
| Command | Description |
|---|
| Add a new track |
| Remove a track by index |
| List all tracks |
| Set a track property (name, mute, solo, volume, pan) |
Clip
Clip management commands.
| Command | Description |
|---|
| Probe/import an audio file (show metadata) |
| Add an audio clip to a track |
| Remove a clip from a track |
| Trim a clip's start and/or end |
| Split a clip at a given time position |
| Move a clip to a new start time |
| List clips on a track |
Effect Group
Effect management commands.
| Command | Description |
|---|
| List all available effects |
| Show details about an effect |
| Add an effect to a track |
| Remove an effect by index |
| Set an effect parameter |
| List effects on a track |
Selection
Selection management commands.
| Command | Description |
|---|
| Set selection range |
| Select all (entire project duration) |
| Clear selection |
| Show current selection |
Label
Label/marker management commands.
| Command | Description |
|---|
| Add a label at a time position |
| Remove a label by index |
| List all labels |
Media
Media file operations.
| Command | Description |
|---|
| Analyze an audio file |
| Check that all referenced audio files exist |
Export Group
Export/render commands.
| Command | Description |
|---|
| List export presets |
| Show preset details |
| Render the project to an audio file |
Session Group
Session management commands.
| Command | Description |
|---|
| Show session status |
| Undo the last operation |
| Redo the last undone operation |
| Show undo history |
Examples
Create a New Project
Create a new audacity project file.
bash
cli-anything-audacity project new -o myproject.json
# Or with JSON output for programmatic use
cli-anything-audacity --json project new -o myproject.json
Interactive REPL Session
Start an interactive session with undo/redo support.
bash
cli-anything-audacity
# Enter commands interactively
# Use 'help' to see available commands
# Use 'undo' and 'redo' for history navigation
Export Project
Export the project to a final output format.
bash
cli-anything-audacity --project myproject.json export render output.pdf --overwrite
State Management
The CLI maintains session state with:
- Undo/Redo: Up to 50 levels of history
- Project persistence: Save/load project state as JSON
- Session tracking: Track modifications and changes
Output Formats
All commands support dual output modes:
- Human-readable (default): Tables, colors, formatted text
- Machine-readable ( flag): Structured JSON for agent consumption
bash
# Human output
cli-anything-audacity project info -p project.json
# JSON output for agents
cli-anything-audacity --json project info -p project.json
For AI Agents
When using this CLI programmatically:
- Always use flag for parseable output
- Check return codes - 0 for success, non-zero for errors
- Parse stderr for error messages on failure
- Use absolute paths for all file operations
- Verify outputs exist after export operations
More Information
- Full documentation: See README.md in the package
- Test coverage: See TEST.md in the package
- Methodology: See HARNESS.md in the cli-anything-plugin
Version
1.0.0