Transcrição automática em lote de arquivos de áudio e vídeo utilizando Faster-Whisper.
O projeto permite selecionar uma pasta contendo mídias, processar automaticamente todos os arquivos compatíveis e gerar um único arquivo .txt com as transcrições organizadas.
Ideal para:
- Transcrição de podcasts
- Aulas
- Entrevistas
- Reuniões
- Arquivos pessoais
- Grandes e pequenos volumes de mídia
- Transcrição automática em lote
- Suporte a dezenas de formatos de áudio e vídeo
- Extração automática de áudio via FFmpeg
- Barra de progresso
- Indicador visual de processamento
- Organização automática das transcrições
- Geração de arquivo
.txt - Interface simples para seleção de pasta
- Compatível com modelos Whisper locais
- Python
- Faster-Whisper
- FFmpeg
- Tkinter
- TQDM
- Halo
- Python 3.10+
- FFmpeg instalado e disponível no PATH do sistema
Baixe em: https://ffmpeg.org/download.html
Depois adicione o FFmpeg ao PATH do Windows.
sudo apt install ffmpegbrew install ffmpegClone o repositório:
git clone https://github.com/SEU_USUARIO/multimedia-transcript.gitEntre na pasta:
cd multimedia-transcriptInstale as dependências:
pip install -r requirements.txtExecute o projeto:
python main.pyAo iniciar:
- Uma janela será aberta
- Selecione a pasta contendo os arquivos multimídia
- O processamento começará automaticamente
- Ao final, será gerado um arquivo
Transcrição.txt, na mesma pasta escolhida inicialmente com os arquivos multimídia, com todas as transcrições organizadas.
O projeto utiliza Faster-Whisper e permite alterar facilmente o modelo utilizado.
Exemplo atual:
model = WhisperModel("small")| Modelo | Velocidade | Qualidade | Uso de RAM/VRAM |
|---|---|---|---|
| tiny | Muito rápida | Baixa | Muito baixo |
| base | Rápida | Básica | Baixo |
| small | Boa | Boa | Médio |
| medium | Mais lenta | Muito boa | Alto |
| large-v3 | Lenta | Excelente | Muito alto |
Basta modificar:
WhisperModel("small")Para:
WhisperModel("medium")Por exemplo.
O modelo
smallfoi utilizado durante os testes do projeto por oferecer um bom equilíbrio entre velocidade, consumo de memória e qualidade de transcrição em máquinas mais simples.
O Faster-Whisper suporta aceleração por GPU utilizando CUDA, o que pode aumentar drasticamente a velocidade das transcrições.
modelo_transcricao = WhisperModel("small", device="cuda", compute_type="float16")modelo_transcricao = WhisperModel("small", device="cpu", compute_type="int8")| Hardware | Configuração recomendada |
|---|---|
| CPU fraca | device="cpu" + int8 |
| CPU forte | device="cpu" + float32 |
| GPU NVIDIA | device="cuda" + float16 |
- Requer GPU NVIDIA compatível
- Requer instalação do CUDA Toolkit
- Recomendado para grandes volumes de mídia
- Modelos maiores se beneficiam muito da GPU
modelo_transcricao = WhisperModel("small", device="cuda", compute_type="float16").mp4 .mkv .mov .avi .webm .m4v
.flv .f4v
.mpeg .mpg .mp2 .mpe
.wmv .asf
.qt
.3gp .3g2
.vob .mts .m2ts .ts
.hevc .h264 .264
.ogv .rm .rmvb .divx
.mxf
.nut
.mp3 .wav .flac .aac .m4a .opus .ogg
.wma
.aiff .aif .caf
.alac .ape .wv
.au .snd
.ac3 .dts
.pcm
.amr
.ra .ram
.tta .mka .oga
multimedia-transcript/
│
├── main.py
├── requirements.txt
├── .gitignore
├── README.md
Durante o processamento podem ser gerados:
| Arquivo | Descrição |
|---|---|
| Transcrição.txt | Resultado final das transcrições |
| audio.wav | Arquivo temporário utilizado durante a extração |
- O primeiro uso pode demorar devido ao download automático do modelo Whisper.
- Modelos maiores exigem mais RAM/VRAM.
- O desempenho depende bastante do hardware utilizado.
- O processamento ocorre localmente na máquina do usuário.
O projeto já foi utilizado para processar:
- 89 arquivos multimídia
- Mais de 8 GB de mídia
- Transcrição contínua durante várias horas
Este projeto está licenciado sob a licença MIT.
Você pode utilizar, modificar e distribuir livremente o código, respeitando os termos da licença.
Para mais detalhes, consulte o arquivo LICENSE.