Agora alguns exemplos práticos.
Vamos supor que temos um arquivo que desejamos transcrever, mas que não queremos fazer isso manualmente, isto é, ouvindo e escrevendo, ou pelo menos desejamos diminuir ao máximo nosso trabalho. É sempre importante sabermos de antemão o idioma falado no áudio que desejamos transcrever.
Como exemplo, baixei em meu hd o conteúdo do vídeo disponível em
https://www.youtube.com/watch?v=-bX4pf-s8-E.
Já sei que o vídeo está no idioma português. Saber o idioma é fundamental para um uso eficaz e produtivo da ferramenta como falei no início.
Assim, eu tenho o arquivo
"Como-fazer-a-sua-propria-distro-Linux-do-zero-Linux-from-scratch-YouTube.mp4" e desejo obter uma transcrição dele. Se eu rodar:
vosk-transcriber -i "Como-fazer-a-sua-propria-distro-Linux-do-zero-Linux-from-scratch-YouTube.mp4"
imediatamente o Vosk-transcriber começa a fazer seu trabalho. Porém, o resultado do processamento é exibido na tela (em vez de ser salvo em arquivo). Outro problema é que é usado o idioma inglês (por padrão), o que resultará em um grande erro. Na primeira tarefa de transcrição do vídeo em um determinado idioma aparecerá o download da mesma para depois ser iniciada a transcrição. Por exemplo, fazendo uma transcrição em Português sem ter antes efetuado essa tarefa neste idioma, aparecerá apenas nessa vez a mensagem de download e assim por diante.
Portanto, nossa primeira intervenção será para salvarmos o resultado em um arquivo (digamos, com o nome
"Como-fazer-a-sua-propria-distro-Linux-do-zero-Linux-from-scratch-YouTube.txt").
Assim, podemos executar:
vosk-transcriber -i "Como-fazer-a-sua-propria-distro-Linux-do-zero-Linux-from-scratch-YouTube.mp4" -o "Como-fazer-a-sua-propria-distro-Linux-do-zero-Linux-from-scratch-YouTube.txt"
Mas isso ainda vai usar o inglês por padrão. Portanto, vamos usar o idioma português para fazer o reconhecimento do áudio usando opção
-l:
vosk-transcriber -l pt -i "Como-fazer-a-sua-propria-distro-Linux-do-zero-Linux-from-scratch-YouTube.mp4" -o "Como-fazer-a-sua-propria-distro-Linux-do-zero-Linux-from-scratch-YouTube.txt"
Agora podemos ver que o resultado começa a se tornar interessante!
Agora entra em cena a questão dos modelos. Com eles é possível melhorar ainda mais a precisão do reconhecimento selecionando modelos com mais dados (maiores). Mas tenha em mente que isso terá um custo: o modelo será baixado pela internet e, se for maior, maior carga de processamento será utilizada, representando mais tempo de transcrição.
Modelos são os conjuntos usados para fazer o treinamento dentro do algoritmo. Por exemplo, o modelo vosk-model-small-pt-0.3 tem 31Mb enquanto o modelo vosk-model-pt-fb-v0.1.1-20220516_2113 tem 1.6 Gb! A lista dos modelos disponíveis pode ser obtida com (estando ou não na pasta de transcrição, como no meu exemplo):
vosk-transcriber –list-models
a lista de idiomas suportados pode ser obtida com:
vosk-transcriber –list-languages
para facilitar nossa vida podemos filtrar os modelos disponíveis para um idioma usando o grep. Por exemplo, para o idioma Português:
vosk-transcriber –list-models | grep pt vosk-model-pt-fb-v0.1.1-20220516_2113 vosk-model-pt-fb-v0.1.1-pruned vosk-model-small-pt-0.3
Uma descrição online (assim como o tamanho de cada modelo) pode ser consultada em
https://alphacephei.com/vosk/models. Mas é bom ter em mente que essa página não é muito atualizada, tendo em vista que alguns modelos não estão listados lá.
Assim, se quisermos fazer nossa transcrição usando o modelo vosk-model-pt-fb-v0.1.1-20220516_2113 (que tem 1.6Gb!), podemos rodar:
vosk-transcriber -l pt -i "Como-fazer-a-sua-propria-distro-Linux-do-zero-Linux-from-scratch-YouTube.mp4" -o "Como-fazer-a-sua-propria-distro-Linux-do-zero-Linux-from-scratch-YouTube.txt" -n vosk-model-pt-fb-v0.1.1-20220516_2113
Se você rodou os exemplos acima percebeu que o resultado é apenas um arquivo de texto plano com o resultado das frases ditas no vídeo.
Falta cumprir nossa promessa de obter um arquivo de legendas. Para isso podemos passar o parâmetro -t:
vosk-transcriber -l pt -t srt -i "Como-fazer-a-sua-propria-distro-Linux-do-zero-Linux-from-scratch-YouTube.mp4" -o "Como-fazer-a-sua-propria-distro-Linux-do-zero-Linux-from-scratch-YouTube.srt"
Feito isso podemos abrir nosso programa de vídeo favorito e carregar nossa legenda recém criada! Podemos legendar nosso filme favorito com apenas um comando!!!!! Eita Linux danado, que
abundância meu irmão!!!!