¿Qué hace cli-anything-audacity?
Una interfaz de línea de comandos con estado para la edición de audio, siguiendo los mismos patrones que las CLIs de GIMP y Blender en este repositorio.
Instalación
Esta CLI se instala como parte del paquete cli-anything-audacity:
pip install cli-anything-audacity
Requisitos previos:
- Python 3.10+
- audacity debe estar instalado en su sistema
Uso
Comandos Básicos
# Mostrar ayuda
cli-anything-audacity --help
# Iniciar modo REPL interactivo
cli-anything-audacity
# Crear un nuevo proyecto
cli-anything-audacity project new -o project.json
# Ejecutar con salida JSON (para consumo por agentes)
cli-anything-audacity --json project info -p project.json
Modo REPL
Cuando se invoca sin un subcomando, la CLI entra en una sesión REPL interactiva:
cli-anything-audacity
# Ingrese comandos interactivamente con autocompletado y historial
Grupos de Comandos
Proyecto
Comandos de gestión de proyectos.
| Comando | Descripción |
|---|---|
new | Crear un nuevo proyecto |
open | Abrir un proyecto existente |
save | Guardar el proyecto actual |
info | Mostrar información del proyecto |
settings | Ver o actualizar la configuración del proyecto |
json | Imprimir el JSON sin procesar del proyecto |
Pista
Comandos de gestión de pistas.
| Comando | Descripción |
|---|---|
add | Añadir una nueva pista |
remove | Eliminar una pista por índice |
list | Listar todas las pistas |
set | Establecer una propiedad de la pista (nombre, silenciar, solo, volumen, paneo) |
Clip
Comandos de gestión de clips.
| Comando | Descripción |
|---|---|
import | Sondear/importar un archivo de audio (mostrar metadatos) |
add | Añadir un clip de audio a una pista |
remove | Eliminar un clip de una pista |
trim | Recortar el inicio y/o final de un clip |
split | Dividir un clip en una posición de tiempo dada |
move | Mover un clip a una nueva hora de inicio |
list | Listar clips en una pista |
Grupo de Efectos
Comandos de gestión de efectos.
| Comando | Descripción |
|---|---|
list-available | Listar todos los efectos disponibles |
info | Mostrar detalles sobre un efecto |
add | Añadir un efecto a una pista |
remove | Eliminar un efecto por índice |
set | Establecer un parámetro de efecto |
list | Listar efectos en una pista |
Selección
Comandos de gestión de selecciones.
| Comando | Descripción |
|---|---|
set | Establecer el rango de selección |
all | Seleccionar todo (duración completa del proyecto) |
none | Limpiar la selección |
info | Mostrar la selección actual |
Etiqueta
Comandos de gestión de etiquetas/marcadores.
| Comando | Descripción |
|---|---|
add | Añadir una etiqueta en una posición de tiempo |
remove | Eliminar una etiqueta por índice |
list | Listar todas las etiquetas |
Medios
Operaciones con archivos de medios.
| Comando | Descripción |
|---|---|
probe | Analizar un archivo de audio |
check | Verificar que todos los archivos de audio referenciados existen |
Grupo de Exportación
Comandos de exportación/renderización.
| Comando | Descripción |
|---|---|
presets | Listar ajustes predefinidos de exportación |
preset-info | Mostrar detalles de un ajuste predefinido |
render | Renderizar el proyecto a un archivo de audio |
Grupo de Sesión
Comandos de gestión de sesión.
| Comando | Descripción |
|---|---|
status | Mostrar el estado de la sesión |
undo | Deshacer la última operación |
redo | Rehacer la última operación deshecha |
history | Mostrar el historial de deshacer |
Ejemplos
Crear un Nuevo Proyecto
Crear un nuevo archivo de proyecto de Audacity.
cli-anything-audacity project new -o myproject.json
# O con salida JSON para uso programático
cli-anything-audacity --json project new -o myproject.json
Sesión REPL Interactiva
Iniciar una sesión interactiva con soporte de deshacer/rehacer.
cli-anything-audacity
# Ingrese comandos interactivamente
# Use 'help' para ver los comandos disponibles
# Use 'undo' y 'redo' para la navegación del historial
Exportar Proyecto
Exportar el proyecto a un formato de salida final.
cli-anything-audacity --project myproject.json export render output.pdf --overwrite
Gestión de Estado
La CLI mantiene el estado de la sesión con:
- Deshacer/Rehacer: Hasta 50 niveles de historial
- Persistencia de proyecto: Guardar/cargar el estado del proyecto como JSON
- Seguimiento de sesión: Rastrear modificaciones y cambios
Formatos de Salida
Todos los comandos admiten modos de salida dual:
- Legible por humanos (predeterminado): Tablas, colores, texto formateado
- Legible por máquina (bandera
--json): JSON estructurado para consumo por agentes
# Salida humana
cli-anything-audacity project info -p project.json
# Salida JSON para agentes
cli-anything-audacity --json project info -p project.json
Para Agentes de IA
Al usar esta CLI de forma programática:
- Use siempre la bandera
--jsonpara obtener una salida analizable - Verifique los códigos de retorno – 0 para éxito, distinto de cero para errores
- Analice stderr para mensajes de error en caso de fallo
- Use rutas absolutas para todas las operaciones con archivos
- Verifique que las salidas existan después de las operaciones de exportación
Más Información
- Documentación completa: Consulte README.md en el paquete
- Cobertura de pruebas: Consulte TEST.md en el paquete
- Metodología: Consulte HARNESS.md en cli-anything-plugin
Versión
1.0.0