ML.TRANSCRIBE 函数

本文档介绍了 ML.TRANSCRIBE 函数,利用该函数可以转写对象表中的音频文件。

语法

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

参数

ML.TRANSCRIBE 接受以下参数:

  • project_id:您的项目 ID。

  • dataset:包含模型的 BigQuery 数据集。

  • modelREMOTE_SERVICE_TYPECLOUD_AI_SPEECH_TO_TEXT_V2远程模型的名称。

  • object_table:包含音频文件 URI 的对象表的名称。

    对象表中的音频文件必须是受支持的类型。如果行包含的音频文件类型不受支持,则会返回错误。

  • recognition_configSTRING 值,其中包含 JSON 格式的 RecognitionConfig 资源

    如果已使用 SPEECH_RECOGNIZER 选项为远程模型指定了识别器,则可以选择指定 recognition_config 值来替换指定识别器的默认配置。

    如果未使用 SPEECH_RECOGNIZER 选项为远程模型指定识别器,则必须使用此参数。

输出

ML.TRANSCRIBE 会返回以下列:

  • transcriptsSTRING 值,其中包含处理音频文件得到的转写内容。
  • ml_transcribe_resultJSON 值,其中包含 Document AI API 的文档处理器结果。
  • ml_transcribe_result_statusSTRING 值,其中包含相应行的 API 响应状态。如果操作成功,则此值为空。
  • 对象表列。

配额

请参阅 Cloud AI 服务函数配额和限制

位置

ML.TRANSCRIBE 必须在函数引用的远程模型所在的区域中运行。您只能在以下位置创建基于 Speech-to-Text 的模型:

  • 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

限制

此函数无法处理超过 1 分钟的音频文件。任何包含此类文件的行都会返回错误。

示例

以下示例转写由 audio 表表示的音频文件:

创建模型:

# 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');

转写音频文件而不替换识别器的默认配置:

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

转写音频文件并替换识别器的默认配置:

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": {}}')
);

结果类似于以下内容:

transcripts ml_transcribe_result ml_transcribe_status uri ...
Ok Google 将 Netflix 的《怪奇物语》流式传输到我的 TV。好的,在电视智能家居上播放 Netflix 的《怪奇物语》,刚刚… {"metadata":{"total_billed_duration":{"seconds":56}},"results":[{"alternatives":[{"confidence":0.738729,"transcript"... gs://mybucket/audio_files

后续步骤