Esta página descreve como obter etiquetas para diferentes oradores em dados de áudio transcritos pelo Cloud Speech-to-Text.
Por vezes, os dados de áudio contêm exemplos de mais do que uma pessoa a falar. Por exemplo, o áudio de uma chamada telefónica normalmente inclui vozes de duas ou mais pessoas. Idealmente, uma transcrição da chamada inclui quem fala e em que momentos.
Separação de oradores
O Cloud Speech-to-Text pode reconhecer vários oradores no mesmo clipe de áudio. Quando envia um pedido de transcrição de áudio para o Cloud Speech-to-Text, pode incluir um parâmetro que indica ao Cloud Speech-to-Text para identificar os diferentes interlocutores na amostra de áudio. Esta funcionalidade, denominada diarização de oradores, deteta quando os oradores mudam e etiqueta por número as vozes individuais detetadas no áudio.
Quando ativa a diarização de interlocutores no seu pedido de transcrição, o Cloud Speech-to-Text tenta distinguir as diferentes vozes incluídas na amostra de áudio. O resultado da transcrição etiqueta cada palavra com um número atribuído a oradores individuais. As palavras ditas pelo mesmo orador têm o mesmo número. Um resultado da transcrição pode incluir números até ao número de oradores que o Cloud Speech-to-Text consegue identificar de forma exclusiva na amostra de áudio.
Quando usa a diarização de oradores, o Cloud Speech-to-Text produz um agregado contínuo de todos os resultados fornecidos na transcrição. Cada resultado inclui as palavras do resultado anterior. Assim, a matriz words
no resultado final fornece os resultados completos e com indicação do orador da transcrição.
Consulte a página de suporte de idiomas para ver se esta funcionalidade está disponível para o seu idioma.
Ative a separação de oradores num pedido
Para ativar a diarização de oradores, tem de definir o campo
enableSpeakerDiarization como true nos parâmetros
SpeakerDiarizationConfig
do pedido. Para melhorar os resultados da transcrição, também deve especificar o número de oradores presentes no clipe de áudio definindo o campo diarizationSpeakerCount nos parâmetros SpeakerDiarizationConfig. O Cloud Speech-to-Text usa um valor predefinido se não fornecer um valor para diarizationSpeakerCount.
O STT na nuvem suporta a
diferenciação de oradores para todos os métodos de reconhecimento de voz:
speech:recognize
speech:longrunningrecognize e streaming.
Use um ficheiro local
O fragmento de código seguinte demonstra como ativar a segmentação por orador numa solicitação de transcrição para o Cloud Speech-to-Text através de um ficheiro local
Protocolo
Consulte o ponto final da API speech:recognize para ver os detalhes completos.
Para realizar o reconhecimento de voz síncrono, faça um pedido POST e forneça o corpo do pedido adequado. O exemplo seguinte mostra um pedido POST com curl. O exemplo usa a Google Cloud CLI para gerar um token de acesso. Para ver instruções sobre a instalação da CLI gcloud,
consulte o 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/v1p1beta1/speech:recognize \ --data '{ "config": { "encoding": "LINEAR16", "languageCode": "en-US", "diarizationConfig": { "enableSpeakerDiarization": true, "minSpeakerCount": 2, "maxSpeakerCount": 2 }, "model": "phone_call", }, "audio": { "uri": "gs://cloud-samples-tests/speech/commercial_mono.wav" } }' > speaker-diarization.txt
Se o pedido for bem-sucedido, o servidor devolve um código de estado HTTP 200 OK e a resposta no formato JSON, guardada num ficheiro com o nome speaker-diarization.txt.
{ "results": [ { "alternatives": [ { "transcript": "hi I'd like to buy a Chromecast and I was wondering whether you could help me with that certainly which color would you like we have blue black and red uh let's go with the black one would you like the new Chromecast Ultra model or the regular Chrome Cast regular Chromecast is fine thank you okay sure we like to ship it regular or Express Express please terrific it's on the way thank you thank you very much bye", "confidence": 0.92142606, "words": [ { "startTime": "0s", "endTime": "1.100s", "word": "hi", "speakerTag": 2 }, { "startTime": "1.100s", "endTime": "2s", "word": "I'd", "speakerTag": 2 }, { "startTime": "2s", "endTime": "2s", "word": "like", "speakerTag": 2 }, { "startTime": "2s", "endTime": "2.100s", "word": "to", "speakerTag": 2 }, ... { "startTime": "6.500s", "endTime": "6.900s", "word": "certainly", "speakerTag": 1 }, { "startTime": "6.900s", "endTime": "7.300s", "word": "which", "speakerTag": 1 }, { "startTime": "7.300s", "endTime": "7.500s", "word": "color", "speakerTag": 1 }, ... ] } ], "languageCode": "en-us" } ] }
Go
Para saber como instalar e usar a biblioteca cliente do Cloud STT, consulte as bibliotecas cliente do Cloud STT. Para mais informações, consulte a documentação de referência da API Go Cloud STT.
Para se autenticar no Cloud STT, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Java
Para saber como instalar e usar a biblioteca cliente do Cloud STT, consulte as bibliotecas cliente do Cloud STT. Para mais informações, consulte a documentação de referência da API JavaCloud STT.
Para se autenticar no Cloud STT, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Para saber como instalar e usar a biblioteca cliente do Cloud STT, consulte as bibliotecas cliente do Cloud STT. Para mais informações, consulte a documentação de referência da API Node.jsCloud STT.
Para se autenticar no Cloud STT, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar e usar a biblioteca cliente do Cloud STT, consulte as bibliotecas cliente do Cloud STT. Para mais informações, consulte a documentação de referência da API PythonCloud STT.
Para se autenticar no Cloud STT, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Use um contentor do Cloud Storage
O fragmento de código seguinte demonstra como ativar a diarização de oradores num pedido de transcrição para o Cloud Speech-to-Text através de um ficheiro do Cloud Storage
Go
Para saber como instalar e usar a biblioteca cliente do Cloud STT, consulte as bibliotecas cliente do Cloud STT. Para mais informações, consulte a documentação de referência da API GoCloud STT.
Para se autenticar no Cloud STT, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Java
Para saber como instalar e usar a biblioteca cliente do Cloud STT, consulte as bibliotecas cliente do Cloud STT. Para mais informações, consulte a documentação de referência da API Java Cloud STT.
Para se autenticar no Cloud STT, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Para saber como instalar e usar a biblioteca cliente do Cloud STT, consulte as bibliotecas cliente do Cloud STT. Para mais informações, consulte a documentação de referência da API Node.jsCloud STT.
Para se autenticar no Cloud STT, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar e usar a biblioteca cliente do Cloud STT, consulte as bibliotecas cliente do Cloud STT. Para mais informações, consulte a documentação de referência da API Python Cloud STT.
Para se autenticar no Cloud STT, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.