Neste tutorial, veja como transcrever a faixa de áudio de um arquivo de vídeo usando o Speech-to-Text.
Os arquivos de áudio podem ter várias origens diferentes. Os dados de áudio podem vir de um smartphone (como correio de voz) ou da trilha sonora incluída em um arquivo de vídeo.
No Speech-to-Text, é possível usar um dos vários modelos de machine learning para transcrever o arquivo de áudio, com a finalidade de conseguir a melhor correspondência com a fonte original do áudio. Especifique a fonte do áudio original para conseguir melhores resultados na transcrição do áudio. Dessa maneira, o Speech-to-Text processa os arquivos de áudio usando um modelo de machine learning treinado para dados similares aos contidos no arquivo de áudio.
Objetivos
- Enviar uma solicitação de transcrição de áudio para um arquivo de vídeo ao Speech-to-Text.
Custos
Neste documento, você usará os seguintes componentes faturáveis do Google Cloud:
- Speech-to-Text
Para gerar uma estimativa de custo baseada na projeção de uso deste tutorial, use a calculadora de preços.
Antes de começar
Os pré-requisitos para este tutorial são:
- ter configurado um projeto Speech-to-Text no Console do Google Cloud;
- ter configurado seu ambiente usando o Application Default Credentials no Console do Google Cloud.
- ter configurado o ambiente de desenvolvimento para a linguagem de programação escolhida;
- ter instalado a biblioteca de cliente do Google Cloud referente à linguagem de programação escolhida.
Preparar os dados de áudio
Antes de poder transcrever o áudio de um vídeo, é preciso extrair os dados do arquivo de vídeo. Depois de extrair os dados de áudio, armazene-os em um bucket do Cloud Storage ou converta-os em codificação base64.
Extrair os dados de áudio
É possível usar qualquer ferramenta de conversão de arquivos que manipule arquivos de áudio e vídeo, como o FFmpeg.
Use o snippet de código abaixo para converter um arquivo de vídeo em um arquivo de áudio
usando o ffmpeg
.
ffmpeg -i video-input-file audio-output-file
Armazenar ou converter os dados de áudio
É possível transcrever um arquivo de áudio armazenado em sua máquina local ou em um bucket do Cloud Storage.
Use o seguinte comando para fazer o upload do arquivo de áudio para um bucket do
Cloud Storage usando a ferramenta gsutil
.
gsutil cp audio-output-file storage-bucket-uri
Se você usa um arquivo local e planeja enviar uma solicitação usando a ferramenta curl
da linha de comando, primeiro converta o arquivo de áudio em
dados codificados em base64.
Use o seguinte comando para converter um arquivo de áudio em um arquivo de texto.
base64 audio-output-file -w 0 > audio-data-text
Envie uma solicitação de transcrição
Use o código a seguir para enviar uma solicitação de transcrição para Speech-to-Text.
Solicitação de arquivo local
Protocolo
Consulte o endpoint da API speech:recognize
para ver todos os detalhes.
Para executar o reconhecimento de fala síncrono, faça uma solicitação POST
e forneça o corpo apropriado a ela. Veja a seguir um exemplo de uma solicitação POST
usando curl
. O exemplo usa a CLI do Google Cloud para gerar um token de acesso. Para instruções sobre como instalar a gcloud CLI,
consulte o guia de início rápido.
curl -s -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ https://speech.googleapis.com/v1/speech:recognize \ --data '{ "config": { "encoding": "LINEAR16", "sampleRateHertz": 16000, "languageCode": "en-US", "model": "video" }, "audio": { "uri": "gs://cloud-samples-tests/speech/Google_Gnome.wav" } }'
Consulte a documentação de referência RecognitionConfig
para
mais informações sobre como configurar o corpo da solicitação.
Quando a solicitação é bem-sucedida, o servidor retorna um código de status HTTP 200 OK
e a resposta no formato JSON:
{ "results": [ { "alternatives": [ { "transcript": "OK Google stream stranger things from Netflix to my TV okay stranger things from Netflix playing on TV from the people that brought you Google home comes the next evolution of the smart home and it's just outside your window me Google know hi how can I help okay no what's the weather like outside the weather outside is sunny and 76 degrees he's right okay no turn on the hose I'm holding sure okay no I'm can I eat this lemon tree leaf yes what about this Daisy yes but I wouldn't recommend it but I could eat it okay Nomad milk to my shopping list I'm sorry that sounds like an indoor request I keep doing that sorry you do keep doing that okay no is this compost really we're all compost if you think about it pretty much everything is made up of organic matter and will return", "confidence": 0.9251011 } ] } ] }
Go
Para aprender a instalar e usar a biblioteca de cliente da Speech-to-Text, consulte Bibliotecas de cliente da Speech-to-Text. Para mais informações, consulte a documentação de referência da API Speech-to-Text Go.
Para autenticar no Speech-to-Text, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Java
Para aprender a instalar e usar a biblioteca de cliente da Speech-to-Text, consulte Bibliotecas de cliente da Speech-to-Text. Para mais informações, consulte a documentação de referência da API Speech-to-Text Java.
Para autenticar no Speech-to-Text, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Para aprender a instalar e usar a biblioteca de cliente da Speech-to-Text, consulte Bibliotecas de cliente da Speech-to-Text. Para mais informações, consulte a documentação de referência da API Speech-to-Text Node.js.
Para autenticar no Speech-to-Text, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para aprender a instalar e usar a biblioteca de cliente da Speech-to-Text, consulte Bibliotecas de cliente da Speech-to-Text. Para mais informações, consulte a documentação de referência da API Speech-to-Text Python.
Para autenticar no Speech-to-Text, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Outras linguagens
C#: Siga as Instruções de configuração do C# na página das bibliotecas de cliente e acesse Documentação de referência da Speech-to-Text para .NET.
PHP: Siga as Instruções de configuração do PHP na página das bibliotecas de cliente e acesse Documentação de referência da Speech-to-Text para PHP.
Ruby: Siga as Instruções de configuração do Ruby na página das bibliotecas de cliente e acesse Documentação de referência da Speech-to-Text para Ruby.
Solicitação de arquivo remoto
Go
Para aprender a instalar e usar a biblioteca de cliente da Speech-to-Text, consulte Bibliotecas de cliente da Speech-to-Text. Para mais informações, consulte a documentação de referência da API Speech-to-Text Go.
Para autenticar no Speech-to-Text, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Java
Para aprender a instalar e usar a biblioteca de cliente da Speech-to-Text, consulte Bibliotecas de cliente da Speech-to-Text. Para mais informações, consulte a documentação de referência da API Speech-to-Text Java.
Para autenticar no Speech-to-Text, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Para aprender a instalar e usar a biblioteca de cliente da Speech-to-Text, consulte Bibliotecas de cliente da Speech-to-Text. Para mais informações, consulte a documentação de referência da API Speech-to-Text Node.js.
Para autenticar no Speech-to-Text, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para aprender a instalar e usar a biblioteca de cliente da Speech-to-Text, consulte Bibliotecas de cliente da Speech-to-Text. Para mais informações, consulte a documentação de referência da API Speech-to-Text Python.
Para autenticar no Speech-to-Text, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Outras linguagens
C#: Siga as Instruções de configuração do C# na página das bibliotecas de cliente e acesse Documentação de referência da Speech-to-Text para .NET.
PHP: Siga as Instruções de configuração do PHP na página das bibliotecas de cliente e acesse Documentação de referência da Speech-to-Text para PHP.
Ruby: Siga as Instruções de configuração do Ruby na página das bibliotecas de cliente e acesse Documentação de referência da Speech-to-Text para Ruby.
Limpeza
Para evitar cobranças na sua conta do Google Cloud pelos recursos usados no tutorial, exclua o projeto que os contém ou mantenha o projeto e exclua os recursos individuais.
Exclua o projeto
O jeito mais fácil de evitar cobranças é excluir o projeto que você criou para o tutorial.
Para excluir o projeto:
- No Console do Google Cloud, acesse a página Gerenciar recursos.
- Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir .
- Na caixa de diálogo, digite o ID do projeto e clique em Encerrar para excluí-lo.
Excluir instâncias
Para excluir uma instância do Compute Engine:
- No Console do Google Cloud, acesse a página Instâncias de VMs.
- Marque a caixa de seleção de a instância que você quer excluir.
- Para excluir a instância, clique em Mais ações, clique em Excluir e siga as instruções.
Excluir regras de firewall para a rede padrão
Para excluir uma regra de firewall:
- No Console do Google Cloud, acesse a página Firewall.
- Marque a caixa de seleção para a regra de firewall que você quer excluir.
- Para excluir a regra de firewall, clique em Excluir.
A seguir
- Aprenda como receber carimbos de data/hora para áudio.
- Identifique diferentes interlocutores em um arquivo de áudio.
Faça um teste
Se você ainda não conhece o Google Cloud, crie uma conta para avaliar o desempenho da Speech-to-Text em cenários reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
Faça um teste gratuito da Speech-to-Text