O Whisper utiliza redes neurais profundas treinadas em vastas quantidades de dados de áudio e texto. O modelo é baseado em uma arquitetura de transformadores, que permite processar grandes sequências de dados de forma eficiente. Ele trabalha em duas etapas principais:
- Pré-processamento: O áudio é convertido em um formato de entrada adequado para o modelo. Isso inclui a normalização do som, remoção de ruídos e segmentação do áudio em partes menores.
- Reconhecimento e Transcrição: O modelo processa essas partes segmentadas, reconhecendo padrões na fala e convertendo-os em texto. Graças ao seu treinamento extenso, o Whisper consegue captar nuances da linguagem, como variações de sotaque e entonações, proporcionando transcrições precisas.
O whisper-large-v3 foi criado e é mantido pela OpenAI
Saiba mais em https://huggingface.co/openai/whisper-large-v3
Cria uma pasta chamada audios (para os arquivos de áudio) e outra audios-transcritos (resultado da transcrição)
mkdir audios
mkdir audios-transcritos
Instale o FFMPEG
sudo apt install ffmpeg
Use o pip para instalar o conteúdo do requirements.txt
pip install -r requirements.txt
Você pode usar dois métodos diferentes para transcrição de áudio. Subindo uma interface web com endpoints ou transcrição em massa de arquivos.
*Lembre-se de antes de fazer uma cópia do arquivo .env.example com o nome .env e preencher as informações necessárias para a aplicação
cp .env.example .env
A interface web é recomendada para testar o desempenho do seu hardware na hora de transcrever áudios e permitir que outros usuários também realizem um teste rápido da ferramenta. Inicie o prod.sh
*Para o primeiro uso, você deve atribuir permissão de execução para o arquivo
chmod u+x prod.sh
./prod.sh
Acesse o seu endereço ipv4 no navegador, seguido da porta 8080. Exemplo: 192.168.0.2:8080
O primeiro campo, Escolha sua chave, pede um arquivo no formato .txt contendo uma chave única. Este recurso é encessário apenas para a interface web. Usamos para limitar quem consegue usar a aplicação quando ela está em testes. Você pode usar qualquer formato de chave. A chave só será válida se estiver na variável CHAVES dentro do .env
# Exemplo de chaves
CHAVES=blablabla-chave1,blablabla-chave2, blablabla-chave3
Você também terá a sua disposição os endpoints para transcrever áudios e fazer o download dos arquivos de áudio que foram transcritos.
Para o endpoint, lembre-se de cadastrar no .env sua URL_KEY e passar no body da requisição.
Copie os áudios a serem transcritos para a pasta audios, execute o arquivo transcrever-audios.py
py transcrever-audios.py
Seus arquivos de áudio transcritos ficarão na pasta audios-transcritos