Que tal adicionar legenda naquele filme que você baixou rodando apenas uma linha de comando?
Usando 
reconhecimento automático de fala em áudio isso é possível! E muito mais!
Vosko é um 
toolkit para reconhecimento de fala que fornece um aplicativo de linha de comando para transcrição automática de áudio. Ele tem a vantagem de trabalhar offline e não necessita de uma chave de registro em API proprietária tal como Google, IBM, Bing etc.
Tem suporte a mais de 20 idiomas, como Inglês, Espanhol, Português, Francês entre outros e também fornece módulos para desenvolvimento, permitindo ao desenvolvedor criar seu próprio código caso queira. Contudo, este artigo se refere à ferramenta de linha de comando que vem junto com a 
instalação, o 
vosk-transcriber.
Devemos ter em conta sempre que a transcrição não será perfeita e que ajustes sempre serão necessários. Às vezes mais, às vezes menos. Se a transcrição que você deseja fizer parte de um trabalho importante, sempre revise o resultado.
Devemos também ter em mente que a 
transcrição de conteúdo que tenha mais de um 
idioma sendo falado (comum no ramo da informática), não será boa. Mais uma razão para uma revisão posterior!
A instalação é simples, porém há a necessidade da instalação do pacote 
Pipewire para o Jack, além de ter o 
Python versão 3 instalado - o que já é pré-requisito nos sistemas 
Linux atuais-- além do pip. O endereço para baixar o Jack para 
Pipewire é:
https://pkgs.org/download/libjack.so.0()(64bit)
E escolha ali a opção da sua distribuição de Linux. No 
Opensuse Tumblerbleed, por exemplo, você vai precisar desses dois pacotes:
libjack0-1.9.22-2.3.x86_64.rpm 	Jack Audio Connection Kit Library
pipewire-libjack-0_3-0.3.84-1.1.x86_64.rpm
Eles podem ser baixados usando o seu programa de gerenciamento de pacotes.
Então, em modo usuário, digite no 
Terminal:
 pip3 install vosk
Se der erro, tente o comando:
 pip3 install --break-system-packages vosk
E pronto! A mágica já está feita! Este comando vai instalar o 
vosk-transcriber, que já pode ser chamado pela linha de comando:
 vosk-transcriber -h
$    usage: vosk-transcriber [-h] [--model MODEL] [--server] [--list-models] [--list-languages] [--model-name MODEL_NAME] [--lang LANG] [--input INPUT] [--output OUTPUT] [--output-type OUTPUT_TYPE] [--tasks TASKS] [--log-level LOG_LEVEL]
$
$    Transcribe audio file and save result in selected format
$
$    optional arguments:
$    -h, --help show this help message and exit
$    --model MODEL, -m MODEL
$    model path
$    --server, -s use server for recognition
$    --list-models list available models
$    --list-languages list available languages
$    --model-name MODEL_NAME, -n MODEL_NAME: select model by name
$    --lang LANG, -l LANG : select model by language
$    --input INPUT, -i INPUT : audiofile
$    --output OUTPUT, -o OUTPUT : optional output filename path
$    --output-type OUTPUT_TYPE, -t OUTPUT_TYPE : optional arg output data type
$    --tasks TASKS, -ts TASKS :number of parallel recognition tasks
$    --log-level LOG_LEVEL : logging level
Se desejar consultar o site do projeto, basta acessar o site 
https://alphacephei.com/vosk/ que possui um guia rápido das opções do comando:
- -i - arquivo de entrada, arquivo com o áudio a ser processado;
- -o - arquivo de saída em formato texto;
- -t - tipo de saída (podemos informar que queremos um formato de legenda);
- --list-languages - listar os idiomas disponíveis para transcrição;
- --list-models - listar os modelos treinados disponíveis. Um modelo com mais dados pode fornecer uma transcrição mais precisa;
- -n - seleciona o modelo;
- -l - linguagem do áudio.
Estes são os comandos mais básicos. Rodando com a opção 
-h como fizemos no exemplo acima fornece as opções completas.