Estes dias, em uma situação pessoal, eu precisei transcrever um audio, e confesso que é uma tarefa bem tediante.
Não foi nada do outro mundo. Até porque o audio era pequeno.
Só depois que eu lembrei que poderia ter usado uma ferramenta do tipo Speech to text! 😅
Converta audio para texto com Vosk no Linux
Sem muita enrolação, o Vosk é um projeto de Reconhecimento de fala que pode ser usando para converter arquivos de audio do tipo WAV para texto.
O site do projeto encontra-se em alphacephei.com/vosk. E o guia de instalação em alphacephei.com/vosk/install.
Se você estiver no Ubuntu, basicamente o que precisamos é usar o PIP do Python para instala-los; veja...
$pip3 install vosk
Caso você não tenha o PIP instalado, rode o comando abaixo no terminal...
$sudo apt install python3-pip
Feita a instalação, precisamos baixar o model do Vosk para a língua portuguesa ( Portuguese ). Caso deseje um model diferente, acesse alphacephei.com/vosk/models.
Eu baixei o zip que encontre-se no link alphacephei.com/vosk/models/vosk-model-small-pt-0.3.zip.
Veja como é simples a utilização...
Como git, clone a api do Vosk...
$git clone https://github.com/alphacep/vosk-api
Ascenda a pasta python/example dentro da pasta vosk-api...
$cd vosk-api/python/example
Baixe o model correspondente a língua que é falada no audio que você deseja transcrever...
$wget https://alphacephei.com/vosk/models/vosk-model-small-pt-0.3.zip
Descompacte o zip...
$unzip vosk-model-small-pt-0.3.zip
Mova/Renomeie a pasta extraída para model...
$mv vosk-model-small-pt-0.3 model
O Vosk suporta apenas o formato de audio WAV do tipo PCM 16khz 16bit mono.
Não vou usar um audio pessoal, então, para este exemplo, eu baixei o audio MP3 de um vídeo Creative Commons de nome DOS PRINCÍPIOS FUNDAMENTAIS.
Sim... você pode usar um audio MP3 caso tenha o FFmpeg instalado no seu sistema! Com o comando abaixo o Vosk irá fazer a conversão para WAV e depois transcrever o audio.
$python3 ./test_ffmpeg.py arquivo-de-audio.mp3
Veja o processo inteiro...
Como você pode ver, o Vosk vai transcrevendo vários blocos parciais ( partial ), depois ele gera um bloco maior chamado texto ( text ).
O bloco text é o que queremos! Assim, na linha de comando, com o grep ou egrep, nós podemos fazer um filtro simples para capturar o que desejamos; veja...
Legal não!
Bem, agora é com você, a API do Vosk e sua curiosidade...
Paz a todos!
2 comentários:
O comando "pip3 install vosk" não funcionou, ocorreu o erro "error: externally-managed-environment" o meu SO é o Linux Mint 22 Cinnamon.
Saudações,
No endereço https://github.com/alphacep/vosk-api/issues/1618 você encontra uma discussão sobre o assunto. Entre as soluções temos...
CRIAR UM AMBIENTE VIRTUAL:
https://stackoverflow.com/questions/75602063/pip-install-r-requirements-txt-is-failing-this-environment-is-externally-mana#answer-75696359
REMOVER O ARQUIVO EXTERNALLY-MANAGED:
https://stackoverflow.com/questions/75602063/pip-install-r-requirements-txt-is-failing-this-environment-is-externally-mana#answer-77676342
Na época que fiz a postagem eu não obtive este erro. Contudo, se fosse escolher entre as soluções, eu usaria o ambiente virtual do Python. Por favor acesse o endereço https://www.youtube.com/watch?v=IE8HzEEFv9c e veja como criar um ambiente virtual no python.
Depois que você executar o comando source, você estará no ambiente virtual e poderá executar o pip3 install vosk.
Muito obrigado pela visita; sucesso.
Fica bem.