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',
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. |
'large-v3' |
| client | Client | None | Cliente reaproveitado (modo nuvem). | None |
| progress | bool | Spinner no stderr. | True |
Returns
| Name | Type | Description |
|---|---|---|
| Path | Pasta de saída. |
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",
... )