Audio Transcribe
Transcrire l'audio en utilisant OpenAI, avec diarisation de locuteur optionnelle sur demande. Préférer 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 textuelle rapide). - Valider la sortie : qualité de la transcription, étiquettes de locuteur, et limites de segment ; itérer avec une seule modification ciblée si nécessaire.
- Enregistrer les sorties sous
output/transcribe/lors de travail dans ce dépôt.
Règles de décision
- Utiliser par défaut
gpt-4o-mini-transcribeavec--response-format textpour une transcription rapide. - Si l'utilisateur souhaite des étiquettes de locuteur 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. - L'incitation (prompting) n'est pas supportée 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érer uv pour la gestion des dépendances.
uv pip install openai
Si uv n'est pas disponible :
python3 -m pip install openai
Environnement
OPENAI_API_KEYdoit être défini pour les appels API en direct.- Si la clé manque, instruire l'utilisateur à en créer une dans l'interface OpenAI platform et l'exporter dans son shell.
- Ne jamais demander à l'utilisateur de coller la clé complète dans le chat.
Chemin des compétences (à définir une fois)
export CODEX_HOME="${CODEX_HOME:-$HOME/.codex}"
export TRANSCRIBE_CLI="$CODEX_HOME/skills/transcribe/scripts/transcribe_diarize.py"
Les compétences à portée d'utilisateur s'installent sous $CODEX_HOME/skills (par défaut : ~/.codex/skills).
Démarrage rapide CLI
Fichier unique (texte rapide par défaut) :
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.