Transcrição de Áudio
Transcrever áudio usando OpenAI, com diarização opcional de falantes quando solicitado. Prefira o CLI incluído para execuções determinísticas e repetíveis.
Fluxo de trabalho
- Coletar entradas: caminho(s) do arquivo de áudio, formato de resposta desejado (text/json/diarized_json), dica de idioma opcional e referências de falantes conhecidos.
- Verificar se
OPENAI_API_KEYestá definida. Se ausente, peça ao usuário para configurá-la localmente (não peça para colar a chave). - Executar o CLI
transcribe_diarize.pyincluído com padrões sensatos (transcrição rápida em texto). - Validar a saída: qualidade da transcrição, rótulos de falante e limites de segmento; iterar com uma única alteração direcionada se necessário.
- Salvar saídas em
output/transcribe/ao trabalhar neste repositório.
Regras de decisão
- Usar
gpt-4o-mini-transcribecom--response-format textcomo padrão para transcrição rápida. - Se o usuário quiser rótulos de falante ou diarização, usar
--model gpt-4o-transcribe-diarize --response-format diarized_json. - Se o áudio tiver mais de ~30 segundos, manter
--chunking-strategy auto. - Prompting não é suportado para
gpt-4o-transcribe-diarize.
Convenções de saída
- Usar
output/transcribe/<job-id>/para execuções de avaliação. - Usar
--out-dirpara múltiplos arquivos para evitar sobrescrita.
Dependências (instalar se ausente)
Preferir uv para gerenciamento de dependências.
uv pip install openai
Se uv não estiver disponível:
python3 -m pip install openai
Ambiente
OPENAI_API_KEYdeve estar definida para chamadas de API em tempo real.- Se a chave estiver ausente, instruir o usuário a criar uma na interface da plataforma OpenAI e exportá-la em seu shell.
- Nunca peça ao usuário para colar a chave completa no chat.
Caminho da skill (configurar uma vez)
export CODEX_HOME="${CODEX_HOME:-$HOME/.codex}"
export TRANSCRIBE_CLI="$CODEX_HOME/skills/transcribe/scripts/transcribe_diarize.py"
Skills com escopo de usuário são instaladas em $CODEX_HOME/skills (padrão: ~/.codex/skills).
Início rápido do CLI
Arquivo único (padrão texto rápido):
python3 "$TRANSCRIBE_CLI" \
path/to/audio.wav \
--out transcript.txt
Diarização com falantes conhecidos (até 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
Saída em texto simples (explícita):
python3 "$TRANSCRIBE_CLI" \
interview.mp3 \
--response-format text \
--out interview.txt
Mapa de referência
references/api.md: formatos suportados, limites, formatos de resposta e notas sobre falantes conhecidos.