Neste tutorial, você vai aprender a transcrever a gravação de áudio de um telefone usando a Cloud Speech-to-Text.
Os arquivos de áudio podem ter várias origens diferentes. Os dados de áudio podem ser provenientes de um telefone (como um correio de voz) ou de uma trilha sonora incluída em um arquivo de vídeo.
A Cloud STT pode usar um dos vários modelos de machine learning para transcrever o arquivo de áudio e conseguir a melhor correspondência com a fonte de áudio original. Especifique a fonte do áudio original para conseguir resultados melhores na transcrição do áudio. Dessa maneira, a Cloud STT processa os arquivos de áudio usando um modelo de machine learning treinado para dados similares aos contidos no arquivo.
Objetivos
- Enviar à Cloud STT uma solicitação de transcrição de áudio para o áudio gravado de um telefone (como um correio de voz).
- Solicitar um modelo aprimorado de reconhecimento de fala para uma solicitação de transcrição de áudio.
Custos
Neste tutorial, usamos componentes faturáveis do Cloud Platform, incluindo este:
- Cloud Speech-to-Text
Use a calculadora de preços para gerar uma estimativa
de custo com base no uso previsto.
Antes de começar
Os pré-requisitos para este tutorial são:
- ter configurado um projeto da Cloud Speech-to-Text no console do Google Cloud ;
- ter configurado o 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.
Enviar uma solicitação
Para transcrever melhor o áudio capturado em um telefone, como em uma ligação ou um correio
de voz, defina o campo model no payload
RecognitionConfig como
phone_call. O campo model informa à API Cloud Speech-to-Text qual modelo de reconhecimento de fala
usar para a solicitação de transcrição.
Você pode melhorar os resultados da transcrição de áudio de smartphone usando
um modelo aprimorado. Para usar um modelo aprimorado,
defina o campo useEnhanced como true no
payload RecognitionConfig.
Nos exemplos de código a seguir, confira como selecionar um modelo de transcrição específico ao chamar a Cloud STT.
Protocolo
Consulte o endpoint da API speech:recognize para todos os detalhes.
Para realizar o reconhecimento de fala síncrono, faça uma solicitação POST e forneça o corpo apropriado
a ela. Confira a seguir um exemplo de uma solicitação POST que usa
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", "languageCode": "en-US", "enableWordTimeOffsets": false, "enableAutomaticPunctuation": true, "model": "phone_call", "useEnhanced": true }, "audio": { "uri": "gs://cloud-samples-tests/speech/commercial_mono.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": "Hi, I'd like to buy a Chromecast. I was wondering whether you could help me with that.", "confidence": 0.8930228 } ], "resultEndTime": "5.640s" }, { "alternatives": [ { "transcript": " Certainly, which color would you like? We are blue black and red.", "confidence": 0.9101991 } ], "resultEndTime": "10.220s" }, { "alternatives": [ { "transcript": " Let's go with the black one.", "confidence": 0.8818244 } ], "resultEndTime": "13.870s" }, { "alternatives": [ { "transcript": " Would you like the new Chromecast Ultra model or the regular Chromecast?", "confidence": 0.94733626 } ], "resultEndTime": "18.460s" }, { "alternatives": [ { "transcript": " Regular Chromecast is fine. Thank you. Okay. Sure. Would you like to ship it regular or Express?", "confidence": 0.9519095 } ], "resultEndTime": "25.930s" }, { "alternatives": [ { "transcript": " Express, please.", "confidence": 0.9101229 } ], "resultEndTime": "28.260s" }, { "alternatives": [ { "transcript": " Terrific. It's on the way. Thank you. Thank you very much. Bye.", "confidence": 0.9321616 } ], "resultEndTime": "34.150s" } ] }
Go
Para saber como instalar e usar a biblioteca de cliente da Cloud STT, consulte Bibliotecas de cliente da Cloud STT. Saiba mais na documentação de referência da API Cloud STT para Go.
Para se autenticar na Cloud STT, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Java
Para saber como instalar e usar a biblioteca de cliente da Cloud STT, consulte Bibliotecas de cliente da Cloud STT. Saiba mais na documentação de referência da API Cloud STT para Java.
Para se autenticar na Cloud STT, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Para saber como instalar e usar a biblioteca de cliente da Cloud STT, consulte Bibliotecas de cliente da Cloud STT. Saiba mais na documentação de referência da API Cloud STT para Node.js.
Para se autenticar na Cloud STT, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar e usar a biblioteca de cliente da Cloud STT, consulte Bibliotecas de cliente da Cloud STT. Saiba mais na documentação de referência da API Cloud STT para Python.
Para se autenticar na Cloud STT, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Linguagens adicionais
C#: siga as instruções de configuração de C# na página das bibliotecas de cliente e acesse a documentação de referência da Cloud STT para .NET.
PHP: siga as instruções de configuração de PHP na página das bibliotecas de cliente e acesse a documentação de referência da Cloud STT para PHP.
Ruby: siga as instruções de configuração de Ruby na página das bibliotecas de cliente e acesse a documentação de referência da Cloud STT para Ruby.
Limpeza
Para evitar cobranças na sua conta do Google Cloud pelos recursos usados neste tutorial, exclua o projeto que os contém ou mantenha o projeto e exclua os recursos individuais.
Excluir o projeto
O jeito mais fácil de evitar cobranças é excluindo o projeto que você criou para o tutorial.
Para excluir o projeto:
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Excluir instâncias
Para excluir uma instância do Compute Engine:
- In the Google Cloud console, go to the VM instances page.
- Select the checkbox for the instance that you want to delete.
- To delete the instance, click More actions, click Delete, and then follow the instructions.
Excluir as regras de firewall da rede padrão
Para excluir uma regra de firewall:
- In the Google Cloud console, go to the Firewall page.
- Select the checkbox for the firewall rule that you want to delete.
- To delete the firewall rule, click Delete.