你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
使用 Docker 的语音转文本容器
语音转文本容器会听录实时语音或批量音频录制,并生成中间结果。 本文介绍如何下载、安装以及运行语音转文本容器。
有关先决条件、验证容器是否正在运行、在同一主机上运行多个容器以及运行断开连接的容器的详细信息,请参阅使用 Docker 安装和运行语音容器。
容器映像
可在 Microsoft 容器注册表 (MCR) 联合中找到所有受支持版本和区域设置的语音转文本容器映像。 该映像驻留在 azure-cognitive-services/speechservices/
存储库中,名为 speech-to-text
。
完全限定的容器映像名称为 mcr.microsoft.com/azure-cognitive-services/speechservices/speech-to-text
。 追加特定版本或追加 :latest
以获取最新版本。
版本 | 路径 |
---|---|
最晚 | mcr.microsoft.com/azure-cognitive-services/speechservices/speech-to-text:latest latest 标记会拉取 en-US 区域设置的最新映像。 |
4.10.0 | mcr.microsoft.com/azure-cognitive-services/speechservices/speech-to-text:4.10.0-amd64-mr-in |
除 latest
以外的所有标记均采用以下格式并区分大小写:
<major>.<minor>.<patch>-<platform>-<locale>-<prerelease>
为方便起见,这些标记也以 JSON 格式提供。 正文包括容器路径和标记列表。 标记不按版本排序,但 "latest"
始终包含在列表末尾,如以下代码片段所示:
{
"name": "azure-cognitive-services/speechservices/speech-to-text",
"tags": [
<--redacted for brevity-->
"4.10.0-amd64-sw-tz",
"4.10.0-amd64-ta-in",
"4.10.0-amd64-th-th",
"4.10.0-amd64-tr-tr",
"4.10.0-amd64-vi-vn",
"4.10.0-amd64-wuu-cn",
"4.10.0-amd64-yue-cn",
"4.10.0-amd64-zh-cn",
"4.10.0-amd64-zh-cn-sichuan",
"4.10.0-amd64-zh-hk",
"4.10.0-amd64-zh-tw",
"4.10.0-amd64-zu-za",
"latest"
]
}
使用 docker pull 获取容器映像
需要满足先决条件,包括所需的硬件。 另请参阅为每个语音容器建议的资源分配。
使用 docker pull 命令从 Microsoft Container Registry 下载容器映像:
docker pull mcr.microsoft.com/azure-cognitive-services/speechservices/speech-to-text:latest
重要
latest
标记会拉取 en-US
区域设置的最新映像。 有关其他版本和区域设置,请参阅语音转文本容器映像。
通过 docker run 运行容器
使用 docker run 命令运行容器。
下表列出了各个 docker run
参数及其对应的说明:
参数 | 说明 |
---|---|
{ENDPOINT_URI} |
必须使用该终结点进行计量和计费。 有关详细信息,请参阅计费参数。 |
{API_KEY} |
API 密钥是必需的。 有关详细信息,请参阅计费参数。 |
运行语音转文本容器时,请根据语音转文本容器的要求和建议配置端口、内存和 CPU。
下面是一个示例 docker run
命令以及占位符值。 必须指定 ENDPOINT_URI
和 API_KEY
的值:
docker run --rm -it -p 5000:5000 --memory 8g --cpus 4 \
mcr.microsoft.com/azure-cognitive-services/speechservices/speech-to-text \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}
此命令:
- 从容器映像运行
speech-to-text
容器。 - 分配 4 个 CPU 核心和 8 GB 内存。
- 公开 TCP 端口 5000,并为容器分配伪 TTY。
- 退出后自动删除容器。 容器映像在主计算机上仍然可用。
有关 docker run
和语音容器的详细信息,请参阅使用 Docker 安装和运行语音容器。
使用容器
语音容器提供通过语音 SDK 和语音 CLI 访问的基于 Websocket 的查询终结点 API。 默认情况下,语音 SDK 和语音 CLI 使用公共语音服务。 若要使用该容器,需要更改初始化方法。
重要
将语音服务与容器一起使用时,请务必使用主机身份验证。 如果配置密钥和区域,请求将发送到公共语音服务。 语音服务的结果可能不符合预期。 来自断开连接的容器的请求将失败。
不使用此 Azure 云初始化配置:
var config = SpeechConfig.FromSubscription(...);
将此配置用于容器主机:
var config = SpeechConfig.FromHost(
new Uri("ws://localhost:5000"));
不使用此 Azure 云初始化配置:
auto speechConfig = SpeechConfig::FromSubscription(...);
将此配置用于容器主机:
auto speechConfig = SpeechConfig::FromHost("ws://localhost:5000");
不使用此 Azure 云初始化配置:
speechConfig, err := speech.NewSpeechConfigFromSubscription(...)
将此配置用于容器主机:
speechConfig, err := speech.NewSpeechConfigFromHost("ws://localhost:5000")
不使用此 Azure 云初始化配置:
SpeechConfig speechConfig = SpeechConfig.fromSubscription(...);
将此配置用于容器主机:
SpeechConfig speechConfig = SpeechConfig.fromHost("ws://localhost:5000");
不使用此 Azure 云初始化配置:
const speechConfig = sdk.SpeechConfig.fromSubscription(...);
将此配置用于容器主机:
const speechConfig = sdk.SpeechConfig.fromHost("ws://localhost:5000");
不使用此 Azure 云初始化配置:
SPXSpeechConfiguration *speechConfig = [[SPXSpeechConfiguration alloc] initWithSubscription:...];
将此配置用于容器主机:
SPXSpeechConfiguration *speechConfig = [[SPXSpeechConfiguration alloc] initWithHost:"ws://localhost:5000"];
不使用此 Azure 云初始化配置:
let speechConfig = SPXSpeechConfiguration(subscription: "", region: "");
将此配置用于容器主机:
let speechConfig = SPXSpeechConfiguration(host: "ws://localhost:5000");
不使用此 Azure 云初始化配置:
speech_config = speechsdk.SpeechConfig(
subscription=speech_key, region=service_region)
将此配置用于容器终结点:
speech_config = speechsdk.SpeechConfig(
host="ws://localhost:5000")
在容器中使用语音 CLI 时,请包含 --host ws://localhost:5000/
选项。 还必须指定 --key none
以确保 CLI 不会尝试使用语音密钥进行身份验证。 有关如何配置语音 CLI 的信息,请参阅 Azure AI 语音 CLI 入门。
尝试语音转文本快速入门,它使用主机身份验证而不是密钥和区域。
后续步骤
- 请参阅语音容器概述
- 查看配置容器了解配置设置。
- 使用更多 Azure AI 容器