O que cli-anything-audacity faz?
Uma interface de linha de comando stateful para edição de áudio, seguindo os mesmos padrões dos CLIs do GIMP e Blender neste repositório.
Instalação
Este CLI é instalado como parte do pacote cli-anything-audacity:
pip install cli-anything-audacity
Pré-requisitos:
- Python 3.10+
- audacity deve estar instalado no seu sistema
Uso
Comandos Básicos
# Mostrar ajuda
cli-anything-audacity --help
# Iniciar modo REPL interativo
cli-anything-audacity
# Criar um novo projeto
cli-anything-audacity project new -o project.json
# Executar com saída JSON (para consumo por agente)
cli-anything-audacity --json project info -p project.json
Modo REPL
Quando invocado sem um subcomando, o CLI entra em uma sessão REPL interativa:
cli-anything-audacity
# Insira comandos interativamente com autocompletar e histórico
Grupos de Comandos
Projeto
Comandos de gerenciamento de projeto.
| Comando | Descrição |
|---|---|
new | Criar um novo projeto |
open | Abrir um projeto existente |
save | Salvar o projeto atual |
info | Mostrar informações do projeto |
settings | Visualizar ou atualizar configurações do projeto |
json | Imprimir o JSON bruto do projeto |
Faixa
Comandos de gerenciamento de faixas.
| Comando | Descrição |
|---|---|
add | Adicionar uma nova faixa |
remove | Remover uma faixa por índice |
list | Listar todas as faixas |
set | Definir uma propriedade de faixa (nome, mudo, solo, volume, pan) |
Clipe
Comandos de gerenciamento de clipes.
| Comando | Descrição |
|---|---|
import | Analisar/importar um arquivo de áudio (mostrar metadados) |
add | Adicionar um clipe de áudio a uma faixa |
remove | Remover um clipe de uma faixa |
trim | Cortar o início e/ou fim de um clipe |
split | Dividir um clipe em uma determinada posição de tempo |
move | Mover um clipe para um novo tempo de início |
list | Listar clipes em uma faixa |
Grupo de Efeitos
Comandos de gerenciamento de efeitos.
| Comando | Descrição |
|---|---|
list-available | Listar todos os efeitos disponíveis |
info | Mostrar detalhes sobre um efeito |
add | Adicionar um efeito a uma faixa |
remove | Remover um efeito por índice |
set | Definir um parâmetro de efeito |
list | Listar efeitos em uma faixa |
Seleção
Comandos de gerenciamento de seleção.
| Comando | Descrição |
|---|---|
set | Definir intervalo de seleção |
all | Selecionar tudo (duração total do projeto) |
none | Limpar seleção |
info | Mostrar seleção atual |
Rótulo
Comandos de gerenciamento de rótulos/marcadores.
| Comando | Descrição |
|---|---|
add | Adicionar um rótulo em uma posição de tempo |
remove | Remover um rótulo por índice |
list | Listar todos os rótulos |
Mídia
Operações de arquivos de mídia.
| Comando | Descrição |
|---|---|
probe | Analisar um arquivo de áudio |
check | Verificar se todos os arquivos de áudio referenciados existem |
Grupo de Exportação
Comandos de exportação/renderização.
| Comando | Descrição |
|---|---|
presets | Listar predefinições de exportação |
preset-info | Mostrar detalhes de uma predefinição |
render | Renderizar o projeto para um arquivo de áudio |
Grupo de Sessão
Comandos de gerenciamento de sessão.
| Comando | Descrição |
|---|---|
status | Mostrar status da sessão |
undo | Desfazer a última operação |
redo | Refazer a última operação desfeita |
history | Mostrar histórico de desfazer |
Exemplos
Criar um Novo Projeto
Crie um novo arquivo de projeto do Audacity.
cli-anything-audacity project new -o myproject.json
# Ou com saída JSON para uso programático
cli-anything-audacity --json project new -o myproject.json
Sessão REPL Interativa
Inicie uma sessão interativa com suporte a desfazer/refazer.
cli-anything-audacity
# Insira comandos interativamente
# Use 'help' para ver comandos disponíveis
# Use 'undo' e 'redo' para navegação no histórico
Exportar Projeto
Exporte o projeto para um formato de saída final.
cli-anything-audacity --project myproject.json export render output.pdf --overwrite
Gerenciamento de Estado
O CLI mantém o estado da sessão com:
- Desfazer/Refazer: Até 50 níveis de histórico
- Persistência de projeto: Salvar/carregar estado do projeto como JSON
- Rastreamento de sessão: Rastrear modificações e alterações
Formatos de Saída
Todos os comandos suportam modos de saída duais:
- Legível para humanos (padrão): Tabelas, cores, texto formatado
- Legível por máquina (flag
--json): JSON estruturado para consumo por agente
# Saída para humanos
cli-anything-audacity project info -p project.json
# Saída JSON para agentes
cli-anything-audacity --json project info -p project.json
Para Agentes de IA
Ao usar este CLI programaticamente:
- Sempre use a flag
--jsonpara saída analisável - Verifique os códigos de retorno - 0 para sucesso, diferente de zero para erros
- Analise o stderr para mensagens de erro em caso de falha
- Use caminhos absolutos para todas as operações de arquivo
- Verifique se as saídas existem após operações de exportação
Mais Informações
- Documentação completa: Veja README.md no pacote
- Cobertura de testes: Veja TEST.md no pacote
- Metodologia: Veja HARNESS.md no cli-anything-plugin
Versão
1.0.0