O serviço Speech-to-Text do Vertex AI no Google Distributed Cloud (GDC) air-gapped reconhece a voz a partir de ficheiros de áudio. A conversão de voz em texto converte o áudio detetado em transcrições de texto através da respetiva API pré-preparada.
O Speech-to-Text inclui o Chirp, um modelo avançado de voz treinado em milhões de horas de dados de áudio e milhares de milhões de frases de texto. Este modelo contrasta com as técnicas de reconhecimento de voz convencionais, uma vez que se foca em grandes quantidades de dados supervisionados específicos do idioma. Estas técnicas oferecem aos utilizadores um reconhecimento e uma transcrição melhorados para idiomas e sotaques falados.
Esta página mostra como transcrever ficheiros de áudio em texto através da API Speech-to-Text na Distributed Cloud.
Antes de começar
Antes de poder começar a usar a API Speech-to-Text, tem de ter um projeto com a API Speech-to-Text ativada e as credenciais adequadas. Também pode instalar bibliotecas cliente para ajudar a fazer chamadas para a API. Para mais informações, consulte o artigo Configure um projeto de reconhecimento de voz.
Transcreva áudio com o modelo predefinido
A conversão de voz em texto realiza o reconhecimento de voz. Envia o ficheiro de áudio a partir do qual quer reconhecer a voz diretamente como conteúdo no pedido da API. O sistema devolve o texto transcrito resultante na resposta da API.
Tem de fornecer um objeto de configuração RecognitionConfig
quando faz um pedido de reconhecimento de voz. Este objeto indica à API como processar os seus dados de áudio e que tipo de saída espera. Se um modelo não for especificado explicitamente neste objeto de configuração, o Speech-to-Text seleciona um modelo predefinido.
Para mais informações, consulte a Speech
documentação da API.
O exemplo seguinte transcreve a voz de um ficheiro de áudio através do modelo de conversão de voz em texto predefinido:
Python
Siga estes passos para usar o serviço de conversão de voz em texto a partir de um script Python para transcrever a voz de um ficheiro de áudio:
Instale a versão mais recente da biblioteca cliente Speech-to-Text.
Defina as variáveis de ambiente necessárias num script Python.
Adicione o seguinte código ao script Python que criou:
import base64 from google.cloud import speech_v1p1beta1 import google.auth from google.auth.transport import requests from google.api_core.client_options import ClientOptions audience="https://ENDPOINT:443" api_endpoint="ENDPOINT:443" def get_client(creds): opts = ClientOptions(api_endpoint=api_endpoint) return speech_v1p1beta1.SpeechClient(credentials=creds, client_options=opts) def main(): creds = None try: creds, project_id = google.auth.default() creds = creds.with_gdch_audience(audience) req = requests.Request() creds.refresh(req) print("Got token: ") print(creds.token) except Exception as e: print("Caught exception" + str(e)) raise e return creds def speech_func(creds): tc = get_client(creds) content="BASE64_ENCODED_AUDIO" audio = speech_v1p1beta1.RecognitionAudio() audio.content = base64.standard_b64decode(content) config = speech_v1p1beta1.RecognitionConfig() config.encoding= speech_v1p1beta1.RecognitionConfig.AudioEncoding.ENCODING config.sample_rate_hertz=RATE_HERTZ config.language_code="LANGUAGE_CODE" config.audio_channel_count=CHANNEL_COUNT metadata = [("x-goog-user-project", "projects/PROJECT_ID")] resp = tc.recognize(config=config, audio=audio, metadata=metadata) print(resp) if __name__=="__main__": creds = main() speech_func(creds)
Substitua o seguinte:
ENDPOINT
: o ponto final de conversão de voz em texto que usa para a sua organização. Para mais informações, consulte o estado do serviço e os pontos finais.PROJECT_ID
: o ID do seu projeto.BASE64_ENCODED_AUDIO
: os bytes de dados de áudio codificados numa representação Base64. Esta string começa com carateres semelhantes aZkxhQwAAACIQABAAAAUJABtAA+gA8AB+W8FZndQvQAyjv
. Para mais informações, consulteRecognitionAudio
.ENCODING
: a codificação dos dados de áudio enviados no pedido, comoLINEAR16
. Para mais informações, consulteAudioEncoding
.RATE_HERTZ
: taxa de amostragem em Hertz dos dados de áudio enviados no pedido, como16000
. Para mais informações, consulteRecognitionConfig
.LANGUAGE_CODE
: o idioma do áudio fornecido como uma etiqueta de idioma BCP-47. Consulte a lista de idiomas suportados e os respetivos códigos de idioma.CHANNEL_COUNT
: o número de canais nos dados de áudio de entrada, como1
. Para mais informações, consulteRecognitionConfig
.
Guarde o script Python.
Execute o script Python para transcrever áudio:
python SCRIPT_NAME
Substitua
SCRIPT_NAME
pelo nome que deu ao seu script Python, por exemplo,speech.py
.
Transcreva áudio com o Chirp
Semelhante ao modelo predefinido de conversão de voz em texto, tem de fornecer um objeto de configuração RecognitionConfig
quando fizer um pedido de reconhecimento de voz. Para usar o Chirp,
tem de especificar explicitamente este modelo neste objeto de configuração definindo
o valor chirp
no campo model
.
O exemplo seguinte transcreve a voz de um ficheiro de áudio através do modelo Chirp:
Python
Siga estes passos para usar o Chirp a partir de um script Python para transcrever a voz de um ficheiro de áudio:
Instale a versão mais recente da biblioteca cliente Speech-to-Text.
Defina as variáveis de ambiente necessárias num script Python.
Adicione o seguinte código ao script Python que criou:
import base64 # Import the client library. from google.cloud import speech_v1p1beta1 from google.cloud.speech_v1p1beta1.services.speech import client from google.api_core.client_options import ClientOptions api_endpoint="ENDPOINT:443" def get_client(creds): opts = ClientOptions(api_endpoint=api_endpoint) return client.SpeechClient(credentials=creds, client_options=opts) # Specify the audio to transcribe. tc = get_client(creds) content = "BASE64_ENCODED_AUDIO" audio = speech_v1p1beta1.RecognitionAudio() audio.content = base64.standard_b64decode(content) config = speech_v1p1beta1.RecognitionConfig( encoding=speech_v1p1beta1.RecognitionConfig.AudioEncoding.ENCODING, sample_rate_hertz=RATE_HERTZ, audio_channel_count=CHANNEL_COUNT, language_code="LANGUAGE_CODE", model="chirp" ) # Detect speech in the audio file. metadata = (("x-goog-user-project", "projects/PROJECT_ID"),) response = tc.recognize(config=config, audio=audio, metadata=metadata) for result in response.results: print("Transcript: {}".format(result.alternatives[0].transcript))
Substitua o seguinte:
ENDPOINT
: o ponto final de conversão de voz em texto que usa para a sua organização. Para mais informações, consulte o estado do serviço e os pontos finais.BASE64_ENCODED_AUDIO
: os bytes de dados de áudio codificados numa representação Base64. Esta string começa com carateres semelhantes aZkxhQwAAACIQABAAAAUJABtAA+gA8AB+W8FZndQvQAyjv
. Para mais informações, consulteRecognitionAudio
.ENCODING
: a codificação dos dados de áudio enviados no pedido, comoLINEAR16
. Para mais informações, consulteAudioEncoding
.RATE_HERTZ
: taxa de amostragem em Hertz dos dados de áudio enviados no pedido, como16000
. Para mais informações, consulteRecognitionConfig
.CHANNEL_COUNT
: o número de canais nos dados de áudio de entrada, como1
. Para mais informações, consulteRecognitionConfig
.LANGUAGE_CODE
: o idioma do áudio fornecido como uma etiqueta de idioma BCP-47. Consulte a lista de idiomas suportados e os respetivos códigos de idioma.PROJECT_ID
: o ID do seu projeto.
Guarde o script Python.
Execute o script Python para transcrever áudio:
python SCRIPT_NAME
Substitua
SCRIPT_NAME
pelo nome que deu ao seu script Python, por exemplo,speech.py
.