快速入门:开始使用 Azure AI 语音 CLI

本文介绍如何使用 Azure AI 语音 CLI(也称 SPX)访问语音转文本、文本转语音和语音翻译等语音服务,而无需编写任何代码。 语音 CLI 随时可投入生产,可通过 .bat 或 shell 脚本,用其自动化语音服务中的简单工作流。

本文假定你具备命令提示符窗口、终端或 PowerShell 的相关工作知识。

注意

在 PowerShell 中,停止分析令牌 (--%) 应位于 spx 之后。 例如,运行 spx --% config @region 查看当前区域配置值。

下载并安装

按照以下步骤在 Windows 上安装语音 CLI:

  1. 安装适用于你的平台的 Microsoft Visual C++ Redistributable for Visual Studio 2019。 首次安装此包时,可能需要重启。

  2. 安装 .NET 6

  3. 通过输入以下命令,使用 .NET CLI 安装语音 CLI:

    dotnet tool install --global Microsoft.CognitiveServices.Speech.CLI
    

    若要更新语音 CLI,请输入以下命令:

    dotnet tool update --global Microsoft.CognitiveServices.Speech.CLI
    

若要查看语音 CLI 的帮助,请输入 spxspx help

字体限制

在 Windows 上,语音 CLI 只能显示本地计算机上命令提示符适用的字体。 Windows 终端支持语音 CLI 以交互方式生成的所有字体。

如果输出到文件,文本编辑器(例如记事本)或 web 浏览器(例如 Microsoft Edge)也可以显示所有字体。

创建资源配置

要开始使用,你需要一个语音资源键和区域标识符(例如 chinanorth2chinaeast2)。 在 Azure 门户中创建语音资源。 有关详细信息,请参阅创建 Azure AI 服务资源

若要配置你的资源密钥和区域标识符,请运行以下命令:

spx config @key --set SPEECH-KEY
spx config @region --set SPEECH-REGION

将存储密钥和区域以用于将来的语音 CLI 命令。 若要查看当前配置,请运行以下命令:

spx config @key
spx config @region

根据需要,请包含 clear 选项以删除任一存储值:

spx config @key --clear
spx config @region --clear

基本用法

本部分介绍了一些基本的 SPX 命令,这些命令对于首次测试和试验通常非常有用。 运行以下命令以查看工具内帮助:

spx

可按关键字搜索帮助主题。 例如,要查看语音 CLI 用法示例列表,请运行以下命令:

spx help find --topics "examples"

要查看 recognize 命令的选项,请运行以下命令:

spx help recognize

控制台输出中列出了更多帮助命令。 可输入这些命令以获取有关子命令的详细帮助。

语音转文本(语音识别)

注意

在 Docker 容器中运行语音 CLI 时,不能使用计算机的麦克风。 但你可以在本地装载的目录中读取和保存音频文件。

要使用系统的默认麦克风将语音转换为文本(语音识别),请运行以下命令:

spx recognize --microphone

运行该命令后,SPX 开始在当前活动的输入设备上侦听音频。 当你选择 Enter 时,SPX 将停止侦听。 然后,语音音频将被识别并转换为控制台输出中的文本。

使用语音 CLI,你还可以识别音频文件中的语音。 运行以下命令:

spx recognize --file /path/to/file.wav

提示

若你遇到问题或者想要详细了解语音 CLI 的识别选项,可以运行 spx help recognize

文本转语音(语音合成)

以下命令会将文本作为输入,然后将合成的语音输出到当前活动的输出设备(例如计算机扬声器)。

spx synthesize --text "Testing synthesis using the Speech CLI" --speakers

你还可将合成的输出保存到文件中。 在此示例中,我们可以在运行命令的目录中创建一个名为 my-sample 的文件。

spx synthesize --text "Enjoy using the Speech CLI." --audio output my-sample.wav

这些示例假定你是以英语进行测试的。 但语音服务支持多种语言的语音合成。 你可通过运行以下命令或访问语言支持页面来拉取完整的语音列表。

spx synthesize --voices

以下是使用已发现语音的命令。

spx synthesize --text "Bienvenue chez moi." --voice fr-FR-AlainNeural --speakers

提示

若你遇到问题或者想要详细了解语音 CLI 的识别选项,可以运行 spx help synthesize

语音到文本的转换

借助语音 CLI,你还可以执行语音到文本的转换。 运行以下命令,可从默认的麦克风捕获音频,并以文本形式输出转换。 记住,你需要通过 translate 命令提供 sourcetarget 语言。

spx translate --microphone --source en-US --target ru-RU

将语音翻译成多种语言时,请用分号 (;)分隔语言代码。

spx translate --microphone --source en-US --target 'ru-RU;fr-FR;es-ES'

如果要保存转换的输出,请使用 --output 标志。 在本例中,还可以从文件中进行读取。

spx translate --file /some/file/path/input.wav --source en-US --target ru-RU --output file /some/file/path/russian_translation.txt

提示

若你遇到问题或者想要详细了解语音 CLI 的识别选项,可以运行 spx help translate

后续步骤