GitHunt
RE

ReinaldoMT/whisper-local

Whisper Local - Transcrição de Áudio

Uma ferramenta de linha de comando para transcrição de áudio usando o modelo Whisper localmente. Esta ferramenta permite transcrever arquivos de áudio nos formatos MP3, WAV, OGG e vídeos MP4 (extraindo o áudio), gerando saídas em texto e opcionalmente em formato de legendas SRT.

Requisitos

  • Python 3
  • Ambiente virtual (recomendado)
  • FFmpeg (necessário para conversão de arquivos MP4 e outros formatos)
  • Pacotes Python necessários:
    • whisper
    • pydub (para conversão de arquivos OGG e MP4)

Instalação

  1. Clone este repositório ou baixe o script

  2. Instale o FFmpeg (necessário para conversão de MP4):

    # Ubuntu/Debian
    sudo apt update && sudo apt install ffmpeg
    
    # CentOS/RHEL/Fedora
    sudo dnf install ffmpeg
    
    # macOS (com Homebrew)
    brew install ffmpeg
    
    # Windows (com Chocolatey)
    choco install ffmpeg
  3. Instale as dependências Python:

    pip install openai-whisper
    pip install pydub  # Para suporte a conversão de OGG e MP4

Uso

python whisper-local.py audio_file [options]

Argumentos:

  • audio_file: Caminho para o arquivo de áudio/vídeo (.mp3, .wav, .ogg ou .mp4)

Opções:

  • --model, -m: Tamanho do modelo Whisper (default: small)
    • Opções: tiny, base, small, medium, large
  • --language, -l: Código do idioma para transcrição (default: pt)
  • --output, -o: Arquivo de saída para salvar a transcrição
  • --srt, -s: Gerar arquivo de legendas SRT
  • --srt-file: Caminho para salvar o arquivo de legendas SRT (opcional)

Exemplos:

# Uso básico (modelo small, idioma português)
python whisper-local.py audio.mp3

# Usando o modelo large com idioma inglês
python whisper-local.py audio.mp3 --model large --language en

# Especificando arquivo de saída
python whisper-local.py audio.mp3 --output transcricao.txt

# Gerando legendas SRT
python whisper-local.py audio.mp3 --srt

# Especificando o arquivo de saída para a transcrição e para as legendas
python whisper-local.py audio.mp3 --output transcricao.txt --srt --srt-file legendas.srt

# Convertendo e transcrevendo um arquivo OGG
python whisper-local.py audio.ogg

# Convertendo e transcrevendo um arquivo MP4 (extraindo áudio)
python whisper-local.py video.mp4

Como Funciona

  1. O script verifica o formato do arquivo de entrada
  2. Se o arquivo for OGG ou MP4, converte para MP3 (requer pydub e ffmpeg)
  3. Carrega o modelo Whisper especificado
  4. Realiza a transcrição do áudio
  5. Salva a saída em formato de texto
  6. Opcionalmente gera legendas em formato SRT
  7. Mostra estatísticas de tempo de execução

Formatos de Saída

Transcrição de Texto

Por padrão, a transcrição é salva em transcription.txt no mesmo diretório do arquivo de áudio.

Legendas SRT

Se a opção --srt for especificada, um arquivo de legendas SRT será gerado. Por padrão, este arquivo terá o mesmo nome do arquivo de áudio, mas com extensão .srt.

Considerações de Desempenho

O desempenho da transcrição depende do tamanho do modelo Whisper escolhido:

  • tiny: Mais rápido, menos preciso
  • base: Equilíbrio entre velocidade e precisão
  • small: Bom para a maioria das necessidades (padrão)
  • medium: Mais preciso, mais lento
  • large: Maior precisão, mas requer mais recursos e tempo

Estatísticas de Execução

Ao final da execução, o script exibe estatísticas detalhadas:

  • Tempo de carregamento do modelo
  • Tempo de transcrição
  • Tempo total de execução

Solução de Problemas

  • Se encontrar erros relacionados à conversão de arquivos OGG ou MP4, certifique-se de que o pydub e o ffmpeg estão instalados
  • Para modelos maiores (medium, large), certifique-se de ter memória suficiente
  • Se o áudio estiver em um idioma diferente do padrão (pt), especifique o idioma correto com a opção --language