O serviço Speech-to-Text da Vertex AI no Google Distributed Cloud (GDC) isolado por ar reconhece a fala de arquivos de áudio. A API Speech-to-Text converte o áudio detectado em transcrições de texto usando a API pré-treinada.
O Speech-to-Text inclui o Chirp, um modelo avançado para fala treinado com milhões de horas de dados de áudio e bilhões de frases de texto. Esse modelo contrasta com as técnicas convencionais de reconhecimento de fala, já que se concentra em grandes quantidades de dados supervisionados específicos da linguagem. Essas técnicas melhoram o reconhecimento e a transcrição de idiomas e sotaques falados.
Nesta página, mostramos como transcrever arquivos de áudio em texto usando a API Speech-to-Text no Distributed Cloud.
Antes de começar
Antes de começar a usar a API Speech-to-Text, é preciso ter um projeto com a API Speech-to-Text ativada e as credenciais apropriadas. Também é possível instalar bibliotecas de cliente para ajudar você a fazer chamadas para a API. Para mais informações, consulte Configurar um projeto de reconhecimento de fala.
Transcrever áudio com o modelo padrão
O Speech-to-Text realiza o reconhecimento de fala. Você envia o arquivo de áudio de que quer reconhecer a fala diretamente como conteúdo na solicitação da API. O sistema retorna o texto transcrito resultante na resposta da API.
É necessário fornecer um objeto de configuração RecognitionConfig
ao fazer uma solicitação de reconhecimento de fala. Esse objeto informa à API como processar seus dados de áudio
e qual tipo de saída você espera. Se um modelo não for especificado explicitamente nesse objeto de configuração, o Speech-to-Text vai selecionar um modelo padrão.
Para mais informações, consulte a documentação da API Speech
.
O exemplo a seguir transcreve a fala de um arquivo de áudio usando o modelo padrão do Speech-to-Text:
Python
Siga estas etapas para usar o serviço Speech-to-Text de um script Python para transcrever a fala de um arquivo de áudio:
Instale a versão mais recente da biblioteca de cliente da Speech-to-Text.
Defina as variáveis de ambiente necessárias em um script Python.
Adicione o seguinte código ao script Python que você 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:
ENDPOINT
: o endpoint do Speech-to-Text que você usa na sua organização. Para mais informações, consulte o status do serviço e os endpoints.PROJECT_ID
: o ID do projeto.BASE64_ENCODED_AUDIO
: os bytes de dados de áudio codificados em uma representação Base64. Essa string começa com caracteres semelhantes aZkxhQwAAACIQABAAAAUJABtAA+gA8AB+W8FZndQvQAyjv
. Veja mais informações emRecognitionAudio
.ENCODING
: a codificação dos dados de áudio enviados na solicitação, comoLINEAR16
. Veja mais informações emAudioEncoding
.RATE_HERTZ
: taxa de amostragem em Hertz dos dados de áudio enviados na solicitação, como16000
. Veja mais informações emRecognitionConfig
.LANGUAGE_CODE
: o idioma do áudio fornecido como uma tag de idioma BCP-47. Confira a lista de idiomas aceitos e os respectivos códigos.CHANNEL_COUNT
: o número de canais nos dados de áudio de entrada, como1
. Veja mais informações emRecognitionConfig
.
Salve o script Python.
Execute o script Python para transcrever o áudio:
python SCRIPT_NAME
Substitua
SCRIPT_NAME
pelo nome que você deu ao script do Python, por exemplo,speech.py
.
Transcrever áudio com Chirp
Assim como o modelo padrão do Speech-to-Text, você precisa fornecer um objeto de configuração RecognitionConfig
ao fazer uma solicitação de reconhecimento de fala. Para usar o Chirp,
especifique explicitamente esse modelo no objeto de configuração definindo
o valor chirp
no campo model
.
O exemplo a seguir transcreve a fala de um arquivo de áudio usando o modelo Chirp:
Python
Siga estas etapas para usar o Chirp em um script Python e transcrever a fala de um arquivo de áudio:
Instale a versão mais recente da biblioteca de cliente da Speech-to-Text.
Defina as variáveis de ambiente necessárias em um script Python.
Adicione o seguinte código ao script Python que você 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:
ENDPOINT
: o endpoint do Speech-to-Text que você usa na sua organização. Para mais informações, consulte o status do serviço e os endpoints.BASE64_ENCODED_AUDIO
: os bytes de dados de áudio codificados em uma representação Base64. Essa string começa com caracteres semelhantes aZkxhQwAAACIQABAAAAUJABtAA+gA8AB+W8FZndQvQAyjv
. Veja mais informações emRecognitionAudio
.ENCODING
: a codificação dos dados de áudio enviados na solicitação, comoLINEAR16
. Veja mais informações emAudioEncoding
.RATE_HERTZ
: taxa de amostragem em Hertz dos dados de áudio enviados na solicitação, como16000
. Veja mais informações emRecognitionConfig
.CHANNEL_COUNT
: o número de canais nos dados de áudio de entrada, como1
. Veja mais informações emRecognitionConfig
.LANGUAGE_CODE
: o idioma do áudio fornecido como uma tag de idioma BCP-47. Confira a lista de idiomas aceitos e os respectivos códigos.PROJECT_ID
: o ID do projeto.
Salve o script Python.
Execute o script Python para transcrever o áudio:
python SCRIPT_NAME
Substitua
SCRIPT_NAME
pelo nome que você deu ao script do Python, por exemplo,speech.py
.