cli-anything-audacity 是做什么的?
一个用于音频编辑的有状态命令行界面,遵循本仓库中 GIMP 和 Blender CLI 的相同模式。
安装
此 CLI 作为 cli-anything-audacity 包的一部分安装:
pip install cli-anything-audacity
前提条件:
- Python 3.10+
- 系统上必须安装 audacity
使用方法
基本命令
# 显示帮助
cli-anything-audacity --help
# 启动交互式 REPL 模式
cli-anything-audacity
# 创建新项目
cli-anything-audacity project new -o project.json
# 以 JSON 输出运行(供 AI 代理使用)
cli-anything-audacity --json project info -p project.json
REPL 模式
当不带子命令调用时,CLI 进入交互式 REPL 会话:
cli-anything-audacity
# 使用制表符补全和历史记录交互式输入命令
命令组
项目
项目管理命令。
| 命令 | 描述 |
|---|---|
new | 创建新项目 |
open | 打开现有项目 |
save | 保存当前项目 |
info | 显示项目信息 |
settings | 查看或更新项目设置 |
json | 打印原始项目 JSON |
轨道
轨道管理命令。
| 命令 | 描述 |
|---|---|
add | 添加新轨道 |
remove | 按索引移除轨道 |
list | 列出所有轨道 |
set | 设置轨道属性(名称、静音、独奏、音量、声像) |
剪辑
剪辑管理命令。
| 命令 | 描述 |
|---|---|
import | 探测/导入音频文件(显示元数据) |
add | 向轨道添加音频剪辑 |
remove | 从轨道移除剪辑 |
trim | 修剪剪辑的开始和/或结束 |
split | 在给定时间位置分割剪辑 |
move | 将剪辑移动到新的开始时间 |
list | 列出轨道上的剪辑 |
效果组
效果管理命令。
| 命令 | 描述 |
|---|---|
list-available | 列出所有可用效果 |
info | 显示效果的详细信息 |
add | 向轨道添加效果 |
remove | 按索引移除效果 |
set | 设置效果参数 |
list | 列出轨道上的效果 |
选择
选择管理命令。
| 命令 | 描述 |
|---|---|
set | 设置选择范围 |
all | 选择全部(整个项目持续时间) |
none | 清除选择 |
info | 显示当前选择 |
标签
标签/标记管理命令。
| 命令 | 描述 |
|---|---|
add | 在时间位置添加标签 |
remove | 按索引移除标签 |
list | 列出所有标签 |
媒体
媒体文件操作。
| 命令 | 描述 |
|---|---|
probe | 分析音频文件 |
check | 检查所有引用的音频文件是否存在 |
导出组
导出/渲染命令。
| 命令 | 描述 |
|---|---|
presets | 列出导出预设 |
preset-info | 显示预设详细信息 |
render | 将项目渲染为音频文件 |
会话组
会话管理命令。
| 命令 | 描述 |
|---|---|
status | 显示会话状态 |
undo | 撤销上次操作 |
redo | 重做上次撤销的操作 |
history | 显示撤销历史 |
示例
创建新项目
创建一个新的 audacity 项目文件。
cli-anything-audacity project new -o myproject.json
# 或者使用 JSON 输出以编程方式使用
cli-anything-audacity --json project new -o myproject.json
交互式 REPL 会话
启动支持撤销/重做的交互式会话。
cli-anything-audacity
# 交互式输入命令
# 使用 'help' 查看可用命令
# 使用 'undo' 和 'redo' 进行历史导航
导出项目
将项目导出为最终输出格式。
cli-anything-audacity --project myproject.json export render output.pdf --overwrite
状态管理
CLI 维护会话状态,具有以下功能:
- 撤销/重做:最多 50 级历史记录
- 项目持久化:以 JSON 格式保存/加载项目状态
- 会话跟踪:跟踪修改和变更
输出格式
所有命令均支持双输出模式:
- 人类可读(默认):表格、颜色、格式化文本
- 机器可读(
--json标志):结构化的 JSON,供 AI 代理使用
# 人类可读输出
cli-anything-audacity project info -p project.json
# 供 AI 代理使用的 JSON 输出
cli-anything-audacity --json project info -p project.json
针对 AI 代理
以编程方式使用此 CLI 时:
- 始终使用
--json标志 以获得可解析的输出 - 检查返回码 - 0 表示成功,非零表示错误
- 解析 stderr 以获取失败时的错误信息
- 对所有文件操作使用绝对路径
- 在导出操作后验证输出文件是否存在
更多信息
- 完整文档:请参见包中的 README.md
- 测试覆盖率:请参见包中的 TEST.md
- 方法论:请参见 cli-anything-plugin 中的 HARNESS.md
版本
1.0.0