transcricao

transcricao

Transcrição de áudio com Whisper (e opcionalmente diarização com pyannote).

Modo nuvem

Whisper Large V3 Turbo (rápido) ou WhisperX (timestamps a nível de palavra + diarização integrada).

Modo local

Usa faster-whisper em CPU ou GPU. Diarização local não é suportada por default — o extra [transcricao] traz só faster-whisper para manter o footprint pequeno. A formatação dos arquivos SRT/VTT/TXT vem do labdados_core.transcricao — mesmas funções rodadas pelo serviço no escritório, sem chance de divergir.

Functions

Name Description
transcricao Transcreve áudio para texto/legenda.

transcricao

transcricao.transcricao(
    arquivos,
    *,
    saida=None,
    api_key=None,
    modelo='whisper-large-v3-turbo',
    idioma='pt',
    diarizacao=False,
    num_falantes=0,
    formato='srt',
    timestamps=True,
    beam_size=5,
    local=False,
    modelo_local='large-v3',
    text=False,
    client=None,
    progress=True,
)

Transcreve áudio para texto/legenda.

Parameters

Name Type Description Default
arquivos PathLike | list[PathLike] Arquivo único, lista, ou pasta com áudios. required
saida PathLike | None Pasta de saída. None
api_key str | None Chave de API (modo nuvem). None
modelo str Modelo na nuvem: "whisper-large-v3-turbo" (rápido) ou "whisperx" (timestamps + diarização). 'whisper-large-v3-turbo'
idioma str ISO 639-1 ou "auto". Default: português. 'pt'
diarizacao bool Se True, separa falantes (SPEAKER_00, SPEAKER_01…). Requer modelo="whisperx" na nuvem. False
num_falantes int Estimativa de quantas pessoas falam (0 = detectar). Só vale com diarizacao=True. 0
formato OUTPUT_FORMAT "txt", "srt" (default), ou "vtt". 'srt'
timestamps bool Inclui [hh:mm:ss] no início de cada trecho (txt apenas — srt/vtt sempre têm timestamps). True
beam_size int Beam search do Whisper. Default 5; só mexa se houver erros sistemáticos. 5
local bool Se True, usa faster-whisper no próprio computador. Requer pip install labdados[transcricao]. Diarização local não suportada (use modo nuvem ou pyannote separado). False
modelo_local str Modelo do faster-whisper ("tiny", "base", "small", "medium", "large-v3"). Mais alto = mais preciso e mais lento; large-v3 precisa de ~10GB de VRAM em GPU ou bastante RAM. Aceita também o caminho de uma pasta com o modelo já baixado. "tiny" vem das releases deste repositório, para não depender do Hugging Face, que barra download anônimo vindo de IP de datacenter (é o caso do Google Colab). Os demais vêm do Hugging Face. Para forçar o Hugging Face em todos, defina LABDADOS_MODELOS_HF=1. 'large-v3'
text bool Se True, devolve o texto transcrito como str em vez do caminho da pasta. Os arquivos continuam sendo gravados em saida. Com vários áudios, os textos vêm concatenados na ordem de entrada, separados por linha em branco. False
client Client | None Cliente reaproveitado (modo nuvem). None
progress bool Spinner no stderr. True

Returns

Name Type Description
Path | str Pasta de saída, ou o texto transcrito quando text=True.

Examples

Modo nuvem com diarização:

>>> import labdados
>>> labdados.transcricao(
...     arquivos="audios/",
...     api_key="sk_lab_...",
...     modelo="whisperx",
...     diarizacao=True,
...     formato="srt",
... )

Modo local com modelo small em CPU:

>>> labdados.transcricao(
...     arquivos="reuniao.mp3",
...     local=True,
...     modelo_local="small",
...     idioma="pt",
... )