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 輸出執行(供代理使用)
cli-anything-audacity --json project info -p project.json
REPL 模式
當在沒有子指令的情況下呼叫時,CLI 會進入互動式 REPL 會話:
cli-anything-audacity
# 使用 Tab 自動補全和歷史記錄互動式輸入指令
指令群組
專案 (Project)
專案管理指令。
| 指令 | 描述 |
|---|---|
new | 建立新專案 |
open | 開啟現有專案 |
save | 儲存目前專案 |
info | 顯示專案資訊 |
settings | 檢視或更新專案設定 |
json | 列印原始專案 JSON |
音軌 (Track)
音軌管理指令。
| 指令 | 描述 |
|---|---|
add | 新增音軌 |
remove | 依索引移除音軌 |
list | 列出所有音軌 |
set | 設定音軌屬性(名稱、靜音、獨奏、音量、聲相) |
片段 (Clip)
片段管理指令。
| 指令 | 描述 |
|---|---|
import | 探測/匯入音訊檔案(顯示元資料) |
add | 將音訊片段新增至音軌 |
remove | 從音軌移除片段 |
trim | 修剪片段的起始和/或結尾 |
split | 在指定時間位置分割片段 |
move | 將片段移至新的開始時間 |
list | 列出音軌上的片段 |
效果 (Effect)
效果管理指令。
| 指令 | 描述 |
|---|---|
list-available | 列出所有可用的效果 |
info | 顯示效果的詳細資訊 |
add | 將效果新增至音軌 |
remove | 依索引移除效果 |
set | 設定效果參數 |
list | 列出音軌上的效果 |
選取範圍 (Selection)
選取範圍管理指令。
| 指令 | 描述 |
|---|---|
set | 設定選取範圍 |
all | 全選(整個專案時長) |
none | 清除選取範圍 |
info | 顯示目前選取範圍 |
標籤 (Label)
標籤/標記管理指令。
| 指令 | 描述 |
|---|---|
add | 在指定時間位置新增標籤 |
remove | 依索引移除標籤 |
list | 列出所有標籤 |
媒體 (Media)
媒體檔案操作。
| 指令 | 描述 |
|---|---|
probe | 分析音訊檔案 |
check | 檢查所有引用的音訊檔案是否存在 |
匯出 (Export)
匯出/渲染指令。
| 指令 | 描述 |
|---|---|
presets | 列出匯出預設集 |
preset-info | 顯示預設集詳細資訊 |
render | 將專案渲染為音訊檔案 |
會話 (Session)
會話管理指令。
| 指令 | 描述 |
|---|---|
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,供代理使用
# 人類輸出
cli-anything-audacity project info -p project.json
# 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