Chirp:通用语音模型

Chirp 是 Google 的新一代语音转文字模型。代表着多年的研究发展,Chirp 的第一个版本现在可用于 Speech-to-Text。我们计划改进 Chrp 并将其扩展到更多语言和领域。如需了解详情,请参阅我们的论文 Google USM

我们使用与当前语音模型不同的架构训练 Chirp 模型。单个模型统一了多种语言的数据。但是,用户仍需指定模型应该用以识别语音的语言。Chirp 不支持其他模型所具备的某些 Google Speech 功能。请查看下面的完整列表。

模型标识符

Chirp 可在 Speech-to-Text API v2 中使用。您可以像使用任何其他模型一样加以利用。

Chirp 的模型标识符为:chirp

您可以在创建识别器时指定该模型,也可以在同步批量识别请求中内嵌此模型。

可用的 API 方法

与其他模型相比,Chirp 将语音分成更大的块进行处理。这意味着它可能不适合真正的实时使用。Chirp 可通过以下 API 方法获得:

以下 API 方法不支持 Chirp:

  • v2 Speech.StreamingRecognize
  • v1 Speech.StreamingRecognize
  • v1 Speech.Recognize
  • v1 Speech.LongRunningRecognize
  • v1p1beta1 Speech.StreamingRecognize
  • v1p1beta1 Speech.Recognize
  • v1p1beta1 Speech.LongRunningRecognize

区域

Chirp 适用于以下区域:

  • us-central1
  • europe-west4
  • asia-southeast1

如需了解详情,请参阅语言页面

语言

您可以在完整语言列表中查看支持的语言。

功能支持和限制

Chirp 目前不支持许多 STT API 功能。请参阅下文,了解具体的限制。

  • 置信度分数:API 会返回一个值,但这不是真正的置信度分数。
  • 语音自适应 - 不支持自适应功能。
  • 区分:不支持自动区分。
  • 强制归一化 - 不支持。
  • 字词级置信度 - 不支持。
  • 语言检测 - 不支持。

Chirp 支持以下功能:

  • 自动加注标点符号:标点符号由模型预测。可以将其停用。
  • 字词计时:酌情返回。
  • 与语言无关的音频转录:模型自动推断出音频文件中的口语,并将其添加到结果中。

准备工作

  1. 登录您的 Google Cloud 账号。如果您是 Google Cloud 新手,请创建一个账号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
  2. 在 Google Cloud Console 中的项目选择器页面上,选择或创建一个 Google Cloud 项目

    转到“项目选择器”

  3. 确保您的 Google Cloud 项目已启用结算功能

  4. 启用 Speech-to-Text API。

    启用 API

  5. 确保您拥有项目的以下一个或多个角色: Cloud Speech Administrator

    检查角色

    1. 在 Google Cloud 控制台中,前往 IAM 页面。

      转到 IAM
    2. 选择项目。
    3. 主账号列中,找到您的电子邮件地址所在的行。

      如果您的电子邮件地址不在此列,则表示您没有任何角色。

    4. 在您的电子邮件地址所在的行对应的角色列中,检查角色列表是否包含所需的角色。

    授予角色

    1. 在 Google Cloud 控制台中,前往 IAM 页面。

      转到 IAM
    2. 选择项目。
    3. 点击 授予访问权限
    4. 新的主账号字段中,输入您的电子邮件地址。
    5. 选择角色列表中,选择一个角色。
    6. 如需授予其他角色,请点击 添加其他角色,然后添加其他各个角色。
    7. 点击 Save(保存)。
  6. 安装 Google Cloud CLI。
  7. 如需初始化 gcloud CLI,请运行以下命令:

    gcloud init
  8. 在 Google Cloud Console 中的项目选择器页面上,选择或创建一个 Google Cloud 项目

    转到“项目选择器”

  9. 确保您的 Google Cloud 项目已启用结算功能

  10. 启用 Speech-to-Text API。

    启用 API

  11. 确保您拥有项目的以下一个或多个角色: Cloud Speech Administrator

    检查角色

    1. 在 Google Cloud 控制台中,前往 IAM 页面。

      转到 IAM
    2. 选择项目。
    3. 主账号列中,找到您的电子邮件地址所在的行。

      如果您的电子邮件地址不在此列,则表示您没有任何角色。

    4. 在您的电子邮件地址所在的行对应的角色列中,检查角色列表是否包含所需的角色。

    授予角色

    1. 在 Google Cloud 控制台中,前往 IAM 页面。

      转到 IAM
    2. 选择项目。
    3. 点击 授予访问权限
    4. 新的主账号字段中,输入您的电子邮件地址。
    5. 选择角色列表中,选择一个角色。
    6. 如需授予其他角色,请点击 添加其他角色,然后添加其他各个角色。
    7. 点击 Save(保存)。
  12. 安装 Google Cloud CLI。
  13. 如需初始化 gcloud CLI,请运行以下命令:

    gcloud init
  14. 客户端库可以使用应用默认凭据轻松进行 Google API 身份验证,并向这些 API 发送请求。借助应用默认凭据,您可以在本地测试应用并部署它,无需更改底层代码。有关详情,请参阅<atrack-type="commonincludes" l10n-attrs-original-order="href,track-type,track-name" l10n-encrypted-href="WDE63JFVMK0YqIWBqG8nCycgwkRfOeEqRvzYs1N+2tJUEhcZvE5VtDH5LoWw0lj/" track-name="referenceLink">使用客户端库进行身份验证</atrack-type="commonincludes">。

  15. 为您的 Google 账号创建本地身份验证凭据:

    gcloud auth application-default login

此外,请确保您已安装客户端库

使用 Chirp 执行同步语音识别

下面的示例展示了如何使用 Chirp 对本地音频文件执行同步语音识别:

Python

from google.api_core.client_options import ClientOptions
from google.cloud.speech_v2 import SpeechClient
from google.cloud.speech_v2.types import cloud_speech

def transcribe_chirp(
    project_id: str,
    audio_file: str,
) -> cloud_speech.RecognizeResponse:
    """Transcribe an audio file using Chirp."""
    # Instantiates a client
    client = SpeechClient(
        client_options=ClientOptions(
            api_endpoint="us-central1-speech.googleapis.com",
        )
    )

    # Reads a file as bytes
    with open(audio_file, "rb") as f:
        content = f.read()

    config = cloud_speech.RecognitionConfig(
        auto_decoding_config=cloud_speech.AutoDetectDecodingConfig(),
        language_codes=["en-US"],
        model="chirp",
    )

    request = cloud_speech.RecognizeRequest(
        recognizer=f"projects/{project_id}/locations/us-central1/recognizers/_",
        config=config,
        content=content,
    )

    # Transcribes the audio into text
    response = client.recognize(request=request)

    for result in response.results:
        print(f"Transcript: {result.alternatives[0].transcript}")

    return response

在启用与语言无关的转录的情况下发出请求

以下代码示例演示了如何在启用与语言无关的转录的情况下发出请求。

Python


from google.api_core.client_options import ClientOptions
from google.cloud.speech_v2 import SpeechClient
from google.cloud.speech_v2.types import cloud_speech

def transcribe_chirp_auto_detect_language(
    project_id: str,
    audio_file: str,
    region: str = "us-central1",
) -> cloud_speech.RecognizeResponse:
    """Transcribe an audio file and auto-detect spoken language using Chirp.

    Please see https://cloud.google.com/speech-to-text/v2/docs/encoding for more
    information on which audio encodings are supported.
    """
    # Instantiates a client
    client = SpeechClient(
        client_options=ClientOptions(
            api_endpoint=f"{region}-speech.googleapis.com",
        )
    )

    # Reads a file as bytes
    with open(audio_file, "rb") as f:
        content = f.read()

    config = cloud_speech.RecognitionConfig(
        auto_decoding_config=cloud_speech.AutoDetectDecodingConfig(),
        language_codes=["auto"],  # Set language code to auto to detect language.
        model="chirp",
    )

    request = cloud_speech.RecognizeRequest(
        recognizer=f"projects/{project_id}/locations/{region}/recognizers/_",
        config=config,
        content=content,
    )

    # Transcribes the audio into text
    response = client.recognize(request=request)

    for result in response.results:
        print(f"Transcript: {result.alternatives[0].transcript}")
        print(f"Detected Language: {result.language_code}")

    return response

在 Google Cloud 控制台中开始使用 Chirp

  1. 确保您已注册 Google Cloud 账号并创建项目。
  2. 前往 Google Cloud 控制台中的语音
  3. 启用 API(如果尚未启用)。
  4. 创建一个使用 Chirp 的 STT 识别器。 a. 转到识别器标签页,然后点击创建

    Speech-to-text 识别器列表屏幕截图。

    b. 在创建识别器页面中,输入 Chirp 的必填字段。

    Speech-to-text 创建识别器页面屏幕截图。

    i. 为您的识别器命名。

    ii. 选择 chirp 作为模型。

    iii. 选择您想用的语言。您必须为计划测试的每个语言使用一个识别器。

    iv. 请勿选择其他功能。

  5. 确保您拥有 STT 界面工作区。如果您还没有工作区,则需要创建一个工作区。 a. 访问“转写”页面,然后点击新建转写

    b. 打开工作区下拉列表,然后点击新建工作区以创建用于转写的工作区。

    c. 在创建新工作区导航边栏中,点击浏览

    d. 点击以创建新的存储桶。

    e。 输入存储桶的名称,然后点击继续

    f. 点击创建以创建您的 Cloud Storage 存储桶。

    g.创建存储桶后,点击选择以选择要使用的存储桶。

    h.点击创建以完成为 speech-to-text 界面创建工作区的过程。

  6. 对实际音频执行转写。

    Speech-to-text 转写创建页面屏幕截图,其中显示了文件选择或上传。

    a. 在新建转写页面中,通过上传(本地上传)或指定现有的 Cloud Storage 文件(云端存储空间)来选择音频文件。注意:界面会自动尝试评估您的音频文件参数。

    b. 点击继续以转到“转写”选项

    Speech-to-Text 转写创建页面的屏幕截图,其中显示选择 Chirp 模型并提交转写作业。

    c. 从您之前创建的识别器中选择您计划用于使用 Chirp 进行识别的口语

    d. 在模型下拉列表中,选择 Chirp - 通用语音模型

    e。 在识别器下拉列表中,选择新创建的识别器。

    f. 点击提交,使用 Chirp 运行您的第一个识别请求。

  7. 查看您的 Chirp 转写结果。 a. 在转写页面中,点击转写名称以查看其结果。

    b. 在转写详情页面中,查看转写结果,并酌情在浏览器中播放音频。

清理

为避免因本页中使用的资源导致您的 Google Cloud 账号产生费用,请按照以下步骤操作。

  1. 可选:撤消您创建的身份验证凭据,并删除本地凭据文件。

    gcloud auth application-default revoke
  2. 可选:从 gcloud CLI 撤消凭据。

    gcloud auth revoke

控制台

  • 在 Google Cloud 控制台中,进入管理资源页面。

    转到“管理资源”

  • 在项目列表中,选择要删除的项目,然后点击删除
  • 在对话框中输入项目 ID,然后点击关闭以删除项目。
  • gcloud

    删除 Google Cloud 项目:

    gcloud projects delete PROJECT_ID

    后续步骤