Audio Transcribe
Transcrire de l'audio avec OpenAI, avec diarisation optionnelle des locuteurs si demandée. Préférez le CLI fourni pour des exécutions déterministes et reproductibles.
Workflow
- Collecter les entrées : chemin(s) du fichier audio, format de réponse souhaité (text/json/diarized_json), indice de langue optionnel, et références de locuteurs connues le cas échéant.
- Vérifier que
OPENAI_API_KEYest défini. S'il manque, demander à l'utilisateur de le définir localement (ne pas lui demander de coller la clé). - Exécuter le CLI
transcribe_diarize.pyfourni avec des valeurs par défaut sensées (transcription texte rapide). - Valider la sortie : qualité de transcription, libellés des locuteurs, limites des segments ; itérer avec un seul changement ciblé si nécessaire.
- Enregistrer les sorties sous
output/transcribe/en travaillant dans ce repo.
Règles de décision
- Par défaut, utiliser
gpt-4o-mini-transcribeavec--response-format textpour une transcription rapide. - Si l'utilisateur souhaite des libellés de locuteurs ou une diarisation, utiliser
--model gpt-4o-transcribe-diarize --response-format diarized_json. - Si l'audio dure plus de ~30 secondes, conserver
--chunking-strategy auto. - Le prompting n'est pas supporté pour
gpt-4o-transcribe-diarize.
Conventions de sortie
- Utiliser
output/transcribe/<job-id>/pour les exécutions d'évaluation. - Utiliser
--out-dirpour plusieurs fichiers afin d'éviter les écrasements.
Dépendances (installer si manquantes)
Préférez uv pour la gestion des dépendances.
uv pip install openai
Si uv est indisponible :
python3 -m pip install openai
Environnement
OPENAI_API_KEYdoit être défini pour les appels API en direct.- Si la clé manque, indiquer à l'utilisateur d'en créer une dans l'interface OpenAI et de l'exporter dans son shell.
- Ne jamais demander à l'utilisateur de coller la clé complète dans le chat.
Chemin de la skill (à définir une seule fois)
export CODEX_HOME="${CODEX_HOME:-$HOME/.codex}"
export TRANSCRIBE_CLI="$CODEX_HOME/skills/transcribe/scripts/transcribe_diarize.py"
Les skills d'utilisateur s'installent sous $CODEX_HOME/skills (par défaut : ~/.codex/skills).
Démarrage rapide du CLI
Fichier unique (défaut texte rapide) :
python3 "$TRANSCRIBE_CLI" \
path/to/audio.wav \
--out transcript.txt
Diarisation avec locuteurs connus (jusqu'à 4) :
python3 "$TRANSCRIBE_CLI" \
meeting.m4a \
--model gpt-4o-transcribe-diarize \
--known-speaker "Alice=refs/alice.wav" \
--known-speaker "Bob=refs/bob.wav" \
--response-format diarized_json \
--out-dir output/transcribe/meeting
Sortie texte brut (explicite) :
python3 "$TRANSCRIBE_CLI" \
interview.mp3 \
--response-format text \
--out interview.txt
Carte de référence
references/api.md: formats supportés, limites, formats de réponse, et notes sur les locuteurs connus.