Que fait rehearsal-audio-organizer ?
Compétence Codex qui découpe et organise automatiquement les pistes audio de répétition en segments par chanson, prend en charge l'API de transcription audio iFlytek et résume les informations musicales clés.
Fonctionnalités principales
- Découpage automatique par chanson : analyse les marqueurs temporels ou les silences pour séparer chaque morceau.
- Transcription audio : utilise votre propre clé API iFlytek (
IFLYTEK_APP_ID,IFLYTEK_API_KEY) pour convertir l'audio en texte. - Résumé musical : génère un rapport structuré avec les décisions prises, les modifications de paroles, les accords, les tempos, etc.
- Export organisé : crée un dossier par chanson contenant le fichier audio segmenté et la transcription associée.
Prérequis
- Compte iFlytek avec API activée
- Codex (ou agent compatible)
- Python 3.8+ avec les dépendances listées dans
requirements.txt
Utilisation
# Configuration des clés API
export IFLYTEK_APP_ID="votre_app_id"
export IFLYTEK_API_KEY="votre_api_key"
# Lancer le traitement
deno run --allow-read --allow-write --allow-net main.ts --input dossier_audio --output dossier_sortie
Workflow
- Placez vos fichiers audio de répétition dans un dossier d'entrée.
- Exécutez la compétence en spécifiant le dossier d'entrée et de sortie.
- La compétence découpe chaque fichier par chanson et lance la transcription via l'API iFlytek.
- Les résultats (audio segmenté + fichiers texte) sont organisés dans le dossier de sortie.
- Un résumé JSON est généré avec les informations clés.
Options de configuration
| Variable | Description |
|---|---|
IFLYTEK_APP_ID | Identifiant de l'application iFlytek |
IFLYTEK_API_KEY | Clé API iFlytek |
SEGMENT_THRESHOLD | Seuil de silence en secondes pour la détection de séparation (par défaut 2.0) |
LANGUAGE | Langue de transcription (par défaut 'fr') |
Exemple de résumé généré
{
"session": "2025-04-05_repetition_jazz",
"songs": [
{
"title": "Take Five",
"start_time": "00:00:00",
"end_time": "00:03:45",
"key_decisions": [
"Accord final modifié en Dm7",
"Tempo ralenti à 120 BPM"
],
"lyrics_changes": [
"Deuxième couplet réécrit avec des paroles improvisées"
]
}
]
}
Dépannage
- Erreur d'API : Vérifiez vos clés iFlytek et votre quota de requêtes.
- Découpage incorrect : Ajustez le seuil de silence via
SEGMENT_THRESHOLD. - Fichier audio non reconnu : Assurez-vous d'utiliser un format supporté (WAV, MP3, FLAC).
Licence
MIT