📘 Khy-OS 文档站 🧭 新手先读:核心概念

cli-anything-audacity


name: "cli-anything-audacity"
description: >-
Command-line interface for Audacity - A stateful command-line interface for audio editing, following the same patterns as the GIMP and Ble...


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:

pip install cli-anything-audacity

Prerequisites:

  • Python 3.10+
  • audacity must be installed on your system

Usage#

Basic Commands#

# 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:

cli-anything-audacity
# Enter commands interactively with tab-completion and history

Command Groups#

Project#

Project management commands.

CommandDescription
newCreate a new project
openOpen an existing project
saveSave the current project
infoShow project information
settingsView or update project settings
jsonPrint raw project JSON

Track#

Track management commands.

CommandDescription
addAdd a new track
removeRemove a track by index
listList all tracks
setSet a track property (name, mute, solo, volume, pan)

Clip#

Clip management commands.

CommandDescription
importProbe/import an audio file (show metadata)
addAdd an audio clip to a track
removeRemove a clip from a track
trimTrim a clip's start and/or end
splitSplit a clip at a given time position
moveMove a clip to a new start time
listList clips on a track

Effect Group#

Effect management commands.

CommandDescription
list-availableList all available effects
infoShow details about an effect
addAdd an effect to a track
removeRemove an effect by index
setSet an effect parameter
listList effects on a track

Selection#

Selection management commands.

CommandDescription
setSet selection range
allSelect all (entire project duration)
noneClear selection
infoShow current selection

Label#

Label/marker management commands.

CommandDescription
addAdd a label at a time position
removeRemove a label by index
listList all labels

Media#

Media file operations.

CommandDescription
probeAnalyze an audio file
checkCheck that all referenced audio files exist

Export Group#

Export/render commands.

CommandDescription
presetsList export presets
preset-infoShow preset details
renderRender the project to an audio file

Session Group#

Session management commands.

CommandDescription
statusShow session status
undoUndo the last operation
redoRedo the last undone operation
historyShow undo history

Examples#

Create a New Project#

Create a new audacity project file.

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.

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.

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 (--json flag): Structured JSON for agent consumption
# 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:

  1. Always use --json flag for parseable output
  2. Check return codes - 0 for success, non-zero for errors
  3. Parse stderr for error messages on failure
  4. Use absolute paths for all file operations
  5. 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