指定区域级端点

Speech-to-Text 提供美国和欧盟区域 API 端点。如果您使用区域端点,则传输中的静态数据和静态数据将保留欧洲大陆的边界或美国。如果必须控制数据的位置以符合当地法规的要求,则指定端点很重要。该 API 的行为功能在功能上没有变化。

协议

如需使用区域级端点执行语音识别,请运行下表中的相应命令以配置正确的端点:

多区域 端点替换
欧盟 $ export CLOUD_SPEECH_ENDPOINT=https://eu-speech.googleapis.com
美国 $ export CLOUD_SPEECH_ENDPOINT=https://us-speech.googleapis.com

当您发送 recognize 请求(如下所示)时,所有数据都将限于指定的区域。


$ curl   -H "Content-Type: application/json"  \
         -H  "Authorization: Bearer "$(gcloud auth application-default print-access-token)   \
          ${CLOUD_SPEECH_ENDPOINT}/v1/speech:recognize \
         --data "{
        'config': {
            'encoding': 'LINEAR16',
            'languageCode': 'en-US'
        },
        'audio': {
            'uri':'gs://speech-samples-00/commercial_mono.wav'
        }
    }"

上面的示例使用通过 Google Cloud Cloud SDK 为项目设置的服务帐号的访问令牌。如需了解有关安装 Cloud SDK、建立项目和服务帐号以及获取访问令牌的说明,请参阅快速入门

如需详细了解如何配置请求正文,请参阅 RecognitionConfig 参考文档。

请求正文中提供的音频内容采用 base64 编码。如需详细了解如何对音频执行 base64 编码,请参阅 Base64 编码音频内容。如需详细了解 content 字段,请参阅 RecognitionAudio

gcloud

如需使用区域级端点执行语音识别,请运行下表中的相应命令以配置正确的端点:

多区域 端点替换
欧盟 gcloud config set api_endpoint_overrides/speech https://eu-speech.googleapis.com/
美国 gcloud config set api_endpoint_overrides/speech https://us-speech.googleapis.com/

当您发送 recognize 请求(如下所示)时,所有数据都将限于指定的区域。

$ gcloud ml speech recognize gs://cloud-samples-tests/speech/brooklyn.flac \
    --language-code=en-US --log-http

Python


# Imports the Google Cloud client library
from google.cloud import speech
from google.api_core import client_options

# Instantiates a client

# Pass an additional argument, ClientOptions, to specify the new endpoint.
client_options = client_options.ClientOptions(
    api_endpoint="eu-speech.googleapis.com"
)

client = speech.SpeechClient(client_options=client_options)

# The name of the audio file to transcribe
gcs_uri = "gs://cloud-samples-data/speech/brooklyn_bridge.raw"

audio = speech.RecognitionAudio(uri=gcs_uri)

config = speech.RecognitionConfig(
    encoding=speech.RecognitionConfig.AudioEncoding.LINEAR16,
    sample_rate_hertz=16000,
    language_code="en-US",
)

# Detects speech in the audio file
response = client.recognize(config=config, audio=audio)

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