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",
... )