Que fait cli-anything-audacity ?
Une interface en ligne de commande stateful pour l'édition audio, suivant les mêmes schémas que les CLI GIMP et Blender dans ce dépôt.
Installation
Cette CLI est installée dans le cadre du paquet cli-anything-audacity :
pip install cli-anything-audacity
Prérequis :
- Python 3.10+
- Audacity doit être installé sur votre système
Utilisation
Commandes de base
# Afficher l'aide
cli-anything-audacity --help
# Démarrer le mode REPL interactif
cli-anything-audacity
# Créer un nouveau projet
cli-anything-audacity project new -o project.json
# Exécuter avec sortie JSON (pour consommation par agent)
cli-anything-audacity --json project info -p project.json
Mode REPL
Lorsqu'elle est invoquée sans sous-commande, la CLI entre dans une session REPL interactive :
cli-anything-audacity
# Saisir les commandes de manière interactive avec complétion par tabulation et historique
Groupes de commandes
Projet
Commandes de gestion de projet.
| Commande | Description |
|---|---|
new | Créer un nouveau projet |
open | Ouvrir un projet existant |
save | Enregistrer le projet actuel |
info | Afficher les informations du projet |
settings | Afficher ou mettre à jour les paramètres du projet |
json | Imprimer le JSON brut du projet |
Piste
Commandes de gestion des pistes.
| Commande | Description |
|---|---|
add | Ajouter une nouvelle piste |
remove | Supprimer une piste par son index |
list | Lister toutes les pistes |
set | Définir une propriété de piste (nom, muet, solo, volume, panoramique) |
Clip
Commandes de gestion des clips.
| Commande | Description |
|---|---|
import | Sonder/importer un fichier audio (afficher les métadonnées) |
add | Ajouter un clip audio à une piste |
remove | Supprimer un clip d'une piste |
trim | Rogner le début et/ou la fin d'un clip |
split | Diviser un clip à une position temporelle donnée |
move | Déplacer un clip vers un nouveau temps de début |
list | Lister les clips d'une piste |
Groupe des effets
Commandes de gestion des effets.
| Commande | Description |
|---|---|
list-available | Lister tous les effets disponibles |
info | Afficher les détails d'un effet |
add | Ajouter un effet à une piste |
remove | Supprimer un effet par son index |
set | Définir un paramètre d'effet |
list | Lister les effets d'une piste |
Sélection
Commandes de gestion des sélections.
| Commande | Description |
|---|---|
set | Définir une plage de sélection |
all | Tout sélectionner (durée totale du projet) |
none | Effacer la sélection |
info | Afficher la sélection actuelle |
Étiquette
Commandes de gestion des étiquettes/marqueurs.
| Commande | Description |
|---|---|
add | Ajouter une étiquette à une position temporelle |
remove | Supprimer une étiquette par son index |
list | Lister toutes les étiquettes |
Média
Opérations sur les fichiers média.
| Commande | Description |
|---|---|
probe | Analyser un fichier audio |
check | Vérifier que tous les fichiers audio référencés existent |
Groupe d'exportation
Commandes d'exportation/rendu.
| Commande | Description |
|---|---|
presets | Lister les préréglages d'exportation |
preset-info | Afficher les détails d'un préréglage |
render | Effectuer le rendu du projet vers un fichier audio |
Groupe de session
Commandes de gestion de session.
| Commande | Description |
|---|---|
status | Afficher l'état de la session |
undo | Annuler la dernière opération |
redo | Rétablir la dernière opération annulée |
history | Afficher l'historique d'annulation |
Exemples
Créer un nouveau projet
Créer un nouveau fichier de projet Audacity.
cli-anything-audacity project new -o myproject.json
# Ou avec sortie JSON pour une utilisation programmatique
cli-anything-audacity --json project new -o myproject.json
Session REPL interactive
Démarrer une session interactive avec prise en charge de l'annulation/rétablissement.
cli-anything-audacity
# Saisir les commandes de manière interactive
# Utiliser 'help' pour voir les commandes disponibles
# Utiliser 'undo' et 'redo' pour la navigation dans l'historique
Exporter un projet
Exporter le projet vers un format de sortie final.
cli-anything-audacity --project myproject.json export render output.pdf --overwrite
Gestion de l'état
La CLI maintient l'état de session avec :
- Annulation/Rétablissement : Jusqu'à 50 niveaux d'historique
- Persistance du projet : Enregistrer/charger l'état du projet au format JSON
- Suivi de session : Suivre les modifications et les changements
Formats de sortie
Toutes les commandes prennent en charge deux modes de sortie :
- Lisible par l'humain (par défaut) : Tableaux, couleurs, texte formaté
- Lisible par machine (indicateur
--json) : JSON structuré pour la consommation par agent
# Sortie humaine
cli-anything-audacity project info -p project.json
# Sortie JSON pour les agents
cli-anything-audacity --json project info -p project.json
Pour les agents IA
Lors de l'utilisation programmatique de cette CLI :
- Utilisez toujours l'indicateur
--jsonpour une sortie analysable - Vérifiez les codes de retour - 0 pour succès, non nul pour erreurs
- Analysez stderr pour les messages d'erreur en cas d'échec
- Utilisez des chemins absolus pour toutes les opérations sur fichiers
- Vérifiez que les sorties existent après les opérations d'exportation
Plus d'informations
- Documentation complète : Voir README.md dans le paquet
- Couverture des tests : Voir TEST.md dans le paquet
- Méthodologie : Voir HARNESS.md dans cli-anything-plugin
Version
1.0.0