Função ML.TRANSCRIBE

Neste documento, descrevemos a função ML.TRANSCRIBE, que permite transcrever arquivos de áudio de uma tabela de objetos.

Sintaxe

ML.TRANSCRIBE(
  MODEL `project_id.dataset.model_name`,
  TABLE `project_id.dataset.object_table`,
  [RECOGNITION_CONFIG => ( JSON 'recognition_config')]
)

Argumentos

ML.TRANSCRIBE usa os seguintes argumentos:

  • project_id: o ID do projeto.

  • dataset: o conjunto de dados do BigQuery que contém o modelo.

  • model: o nome de um modelo remoto com um REMOTE_SERVICE_TYPE de CLOUD_AI_SPEECH_TO_TEXT_V2.

  • object_table: o nome da tabela de objetos que contém URIs dos arquivos de áudio.

    Os arquivos de áudio na tabela de objetos precisam ser de um tipo compatível. Um erro é retornado para qualquer linha que contenha arquivos de áudio com um tipo não compatível.

  • recognition_config: um valor STRING que contém um recurso RecognitionConfig no formato JSON.

    Se um reconhecedor tiver sido especificado para o modelo remoto usando a opção SPEECH_RECOGNIZER, será possível especificar um valor recognition_config para substituir a configuração padrão do reconhecedor especificado.

    Esse argumento será obrigatório se nenhum reconhecedor tiver sido especificado para o modelo remoto usando a opção SPEECH_RECOGNIZER.

Saída

ML.TRANSCRIBE retorna as seguintes colunas:

  • transcripts: um valor STRING que contém as transcrições do processamento dos arquivos de áudio.
  • ml_transcribe_result: um valor JSON que contém o resultado do processador de documentos da API Document AI.
  • ml_transcribe_result_status: um valor STRING que contém o status da resposta da API para a linha correspondente. Esse valor estará vazio se a operação tiver sido bem-sucedida.
  • As colunas da tabela de objetos.

Cotas

Consulte Cotas e limites de funções de serviço da IA do Cloud.

Locais

ML.TRANSCRIBE precisa ser executada na mesma região que o modelo remoto referenciado pela função. Só é possível criar modelos com base na Speech-to-Text nos seguintes locais:

  • asia-northeast1
  • asia-south1
  • asia-southeast1
  • australia-southeast1
  • eu
  • europe-west1
  • europe-west2
  • europe-west3
  • europe-west4
  • northamerica-northeast1
  • us
  • us-central1
  • us-east1
  • us-east4
  • us-west1

Limitações

A função não processa arquivos de áudio com mais de um minuto. Qualquer linha que contenha esse arquivo retorna um erro.

Exemplo

O exemplo a seguir transcreve os arquivos de áudio representados pela tabela audio:

Criar o modelo:

# Create model
CREATE OR REPLACE MODEL
`myproject.mydataset.transcribe_model`
REMOTE WITH CONNECTION `myproject.myregion.myconnection`
OPTIONS (remote_service_type = 'CLOUD_AI_SPEECH_TO_TEXT_V2',
speech_recognizer = 'projects/project_number/locations/recognizer_location/recognizer/recognizer_id');

Transcreva os arquivos de áudio sem substituir a configuração padrão do reconhecedor:

SELECT *
FROM ML.TRANSCRIBE(
  MODEL `myproject.mydataset.transcribe_model`,
  TABLE `myproject.mydataset.audio`
);

Transcreva os arquivos de áudio e substitua a configuração padrão do reconhecedor:

SELECT *
FROM ML.TRANSCRIBE(
  MODEL `myproject.mydataset.transcribe_model`,
  TABLE `myproject.mydataset.audio`,
  recognition_config => ( JSON '{"language_codes": ["en-US" ],"model": "telephony","auto_decoding_config": {}}')
);

O resultado será semelhante ao seguinte:

Transcrições ml_transcribe_result ml_transcribe_status URI
Ok Google, transmita Stranger Things da Netflix para minha TV. Ok, Stranger Things da Netflix passando na TV casa inteligente e... {"metadata":{"total_billed_duration":{"seconds":56}},"results":[{"alternatives":[{"confidence":0.738729,"transcript"... gs://mybucket/audio_files

A seguir