Como usar o Reconhecimento de fala do YouTube do Google sem enviar vídeos para o YouTube?

15

Eu tenho um monte de conteúdo de vídeo para palestras que eu gostaria de ter as legendas para. O YouTube gera automaticamente legendas para vídeos sob determinadas condições (essas condições ainda são um mistério para mim).

Gostaria de poder utilizar esta tecnologia de reconhecimento de voz fora do YouTube. Não quero carregar todos os vídeos apenas para obter a transcrição (muito tempo), além disso, não acho que o YouTube faça isso por vídeos com mais de 30 minutos (a maioria deles), além disso, eu Não pense que ele será feito para vídeos não públicos listados (o que é um problema porque é um conteúdo premium que deve ser vendido).

Cenário perfeito: existe um programa que posso executar da minha área de trabalho para obter a transcrição desses vídeos e é de qualidade igual ou melhor que a do YouTube e tem os códigos de tempo semelhantes a um SRT ou ao XML gerado pelo YouTube [ Como obter legendas do YouTube ].

Cenário aceitável: existem alguns truques que posso fazer para forçar o YouTube a transcrever os vídeos, sejam eles privados ou públicos, e apesar do tamanho.

Cenário factível: há uma biblioteca ou algo que eu possa usar para codificar meu próprio programa. Eu sou bom com c # e bem com C ++ (mas eu realmente prefiro c #).

    
por fredsbend 29.03.2014 / 01:12

3 respostas

10

O Google implementou a API Web Speech (para reconhecimento e síntese de voz) no Chrome, que você pode usar se você é um desenvolvedor. Isso é o que o YouTube usa para gerar legendas em alguns vídeos. Talvez você encontre código para interagir com ele.

O fluxo de dados provavelmente seria:

Um arquivo de vídeo = > extrair e converter áudio = > envie para a API do Google = > obtenha o texto = > escreva em um SRT.

EDIT: parece não haver uma página oficial da API, além das especificações do W3C. Então, aqui estão mais links:

Esses exemplos são sobre como usar a API de dentro do Google Chrome, mas você pode consultar diretamente o mecanismo de reconhecimento de fala on-line do Google. Por exemplo, Jasper , um assistente pessoal de reconhecimento de voz do Raspberrry Pi, permite que você escolha o Google como o mecanismo de reconhecimento de fala.

    
por 24.06.2015 / 16:37
1

Existe uma ferramenta chamada "autosub" (veja agermanidis / autosub  no github) que faz exatamente isso, embora use a API de voz do Google mais antiga. A ferramenta usa o ffmpeg para remover o áudio dos arquivos FLAC e envia os arquivos FLAC para o Google para transcrição. Produz um arquivo SRT ou VTT.

A precisão é baixa em parte devido à antiga API do Google. Existe uma API mais recente ("Cloud Speech REST API" no link ). Essa API é bem simples e, em algum momento, eu ia bifurcar o autosub para usar isso.

A alternativa é fazer o upload para o YouTube e baixar o arquivo VTT quando a legenda estiver concluída. A complicação disso é que o YouTube produz legendas muito refinadas (por exemplo, algumas palavras) em vez de, por exemplo, uma frase. Isso dificulta a verificação das legendas ao realizar uma verificação manual.

    
por 02.02.2018 / 15:38
1

A maneira mais fácil é esta: Vá para o google docs, abra um novo documento de texto e selecione a partir de ferramentas de "digitação de voz", em seguida, reproduza sua fita. Sim. É tão fácil! (e suporta vários idiomas)

Caso contrário, você pode usar uma página da Web local com HTML5 assim: link

    
por 24.04.2018 / 19:34