Programa para gerar legendas automaticamente usando a fala em texto?

12

Eu tenho um vídeo para o qual quero criar legendas. Existe um programa que possa executar conversas rudimentares de conversão de texto em texto para

  1. defina o início / parada correto de cada legenda individual
  2. crie legendas de texto rudimentares (usando algum tipo de fala para texto)

Eu sei sobre legendas para gnomos. No entanto, requer um grande esforço para criar essas legendas manualmente. Você precisa selecionar o início e a parada para cada frase.

O YouTube possui os recursos acima (cria legendas de texto rudimentares nos horários corretos, usando a fala para texto). No entanto, prefiro não enviar os vídeos para o YouTube apenas para obter minhas legendas. É possível fazer as legendas com eficiência no Ubuntu?

Atualização : pretendo usar apenas as legendas .srt e não preciso codificá-las nos vídeos. Meu maior requisito é que o programa encontre automaticamente o início / parada de cada frase, para que eu escreva o texto.

Atualização 2 : existe o software de fala para texto para Linux, com o pacote CMU Sphinx. É possível usar o CMU Sphinx com um programa de legendas de acordo com http://sourceforge.net/projects/cmusphinx/forums/forum/5471/topic/3949891 Além disso, uma ferramenta de legenda está ciente desse recurso do CMU Sphinx, http: //groups.google.com/group/universal-subtitles-testing/browse_thread/thread/613361ffb921b43b (ferramenta baseada na Web), no entanto, não há referência no código-fonte mais recente que eles adicionaram ao CMU Sphinx. A busca continua a encontrar um programa que usa o CMU Sphinx para fala rudimentar em texto (que também definiria os horários corretos), como o YouTube já faz.

user4124
fonte
existe um aplicativo chamado pega que faz algo assim, eu acho.
RolandiXor

Respostas:

3

Eu usei o Aegisub no Windows há alguns anos e fiquei muito feliz com isso. Aparentemente, está disponível para Linux. É bastante auto-explicativo.

O Aegisub cria apenas o arquivo de legendas, por exemplo, um arquivo .srt. Para combinar o vídeo e a legenda para criar uma legenda codificada, você ainda precisa usar um segundo programa.
No Windows, usei o VirtualDub, mas ele não está disponível para Linux. Você pode usar o VLC para fazer isso no Linux :

Crie seus subs no Aegisub, salvando-o normalmente como um arquivo .ass.

Use o VLC para adicionar essa faixa de legenda ao seu vídeo. Legendas -> Adicionar arquivo de legenda ...

Configure o estilo e as configurações de exibição das legendas para que sejam exibidas ao seu gosto. Ferramentas -> Preferências -> Legendas / OSD

Agora você pode assistir ao vídeo para garantir que os subs sejam exibidos conforme o desejado. Por exemplo, posso verificar se alguns submarinos especificados no Aegisub são exibidos na parte superior da tela e não na parte inferior.

A saída será idêntica à sua aparência agora, portanto, verifique se está tudo bem.

  1. Vá para Mídia -> Converter / Salvar ... (Ctrl + R).

  2. Em Seleção de arquivo, adicione seu arquivo de vídeo. Marque "Usar um arquivo de legenda" e navegue até o seu subarquivo .ass.

  3. Clique na seta para baixo no botão Converter / Salvar e clique em Converter ... (Alt + O).

  4. Em Configurações, verifique se a opção Converter está marcada. Marque a opção Exibir a saída. Os subs não são adicionados por algum motivo, a menos que você marque isso.

  5. Edite o perfil para que as configurações de vídeo e áudio sejam o que você deseja. Na guia legenda, marque a caixa Legendas e use o codec de legenda DVB. Marque 'Sobrepor legendas no vídeo'. Pressione salvar.

  6. Digite uma pasta de destino e um nome de arquivo na caixa Destino.

  7. Pressione começar.

Espere que seja feito, e é isso. A ressalva deste método é que a codificação ocorrerá em tempo real com o vídeo; portanto, se você tiver um vídeo de 2 horas, levará 2 horas. Isso ocorre devido ao fato de marcar a caixa 'Exibir a saída'. Mas, por algum motivo, só funciona quando você marca isso.

Existem também outros editores de legendas .

Atualização:
não me lembro do Aegisub ter uma funcionalidade para definir automaticamente o início e o fim de uma frase falada no arquivo de legendas. E não vejo menção dessa função em nenhum lugar do site. No entanto, com (combinações de teclas) é muito fácil definir esses horários manualmente.

Existe algum programa que tenha essa função (em qualquer sistema operacional)?

Cova
fonte
Eu também usei o Aegsub no Windows, não sabia que estava disponível para Linux .. obrigado Pit :) ... O Aegsub é um legendador muito competente ... seu formato padrão é ASS (uma evolução da SSA .. Sub-StationAlpha format) .. ele lida com Unicode e tem ferramentas especiais para preparar texto Karaoke ....
Peter.O
2
Obrigado por Aegisub. Estou tentando descobrir o fluxo de trabalho para este programa. Ele pode escanear o vídeo inteiro e criar os horários para cada frase da legenda? Não parece ter um recurso de fala para texto.
precisa saber é o seguinte
Você pode ler docs.aegisub.org/manual/… .
Pit
O Aegisub não está gerando legendas automaticamente. Temos que escrever legendas usando-o. Portanto, provavelmente esta não é a solução para esta pergunta.
Harshitha Palihawadana
As perguntas foram editadas três anos (!) Após a minha resposta. O original "Que programa usar para criar legendas para um vídeo" não mencionou nada, desde automático ou texto para fala.
Pit
3

Não encontrei uma maneira de fazer com que o programa de legendas adicionasse automaticamente legendas rudimentares, analisando as vozes no vídeo.

Portanto, a alternativa que eu uso é

  1. Carregue o vídeo no YouTube (por exemplo, em particular) e use o recurso de criação para criar legendas automaticamente rudimentares.

Então,

  1. Adicione o vídeo a http://www.universalsubtitles.org/ e crie manualmente os prazos para cada sentença, se a maneira automatizada no Youtube não funcionar, ou se as sentenças estiverem ocorrendo.
  2. Use as Legendas do GNOME (encontradas no Centro de Software) para limpar as legendas e corrigir os tempos.
user4124
fonte
1
Essa resposta parece ser a mais relevante para a questão de gerar automaticamente os arquivos de legenda.
28514 Garrett #
É surpreendente que o YouTube possa gerar automaticamente legendas (aproximadas), mas aparentemente não existe um programa que possa.
Garrett
3

Pessoalmente, gosto das legendas do Gnome, que estão disponíveis nos repositórios.

sudo apt-get install gnome-subtitles
Marlinc
fonte
1

Você pode usar este utilitário de linha de comando

O Autosub é um utilitário para reconhecimento automático de fala e geração de legendas. Ele pega um vídeo ou um arquivo de áudio como entrada, realiza a detecção de atividade de voz para localizar regiões de fala, faz solicitações paralelas à API do Google Web Speech para gerar transcrições para essas regiões, (opcionalmente) as traduz para um idioma diferente e, finalmente, salva o resultado legendas em disco.

https://github.com/agermanidis/autosub/

Usuários do Python3, faça o seguinte:

pip install git+https://github.com/BingLingGroup/autosub.git@alpha

Verifique se o ffmpeg está instalado.

Mohammad Efazati
fonte
0

Ok, encontrei uma ferramenta que parece legal e semelhante ao workshop de legendas - editor de legendas (apt-get install subtitleeditor).

Tentou compará-lo às legendas do Gnome, o editor de legendas parece uma ferramenta mais avançada.

idgar
fonte
0

Para o KDE, um bom editor de legendas é o compositor de legendas. Instale-o com o comando

sudo apt-get install subtitlecomposer

ou usando o link subtitlecomposer Instalar legendador de composições

Anwar
fonte