关于语音 SDK

语音软件开发工具包 (SDK) 公开了许多语音服务功能,这使得你能够开发支持语音的应用程序。 语音 SDK 可以在许多编程语言中和所有平台中使用。

编程语言 平台 SDK 参考
C# 1 Windows、Linux、macOS、Mono、Xamarin.iOS、Xamarin.Mac、Xamarin.Android、UWP、Unity .NET SDK
C++ Windows、Linux、macOS C++ SDK
Java 2 Android、Windows、Linux、macOS Java SDK
Javascript Browser、Node.js JavaScript SDK
Objective-C/Swift iOS、macOS Objective-C SDK
Python Windows、Linux、macOS Python SDK

1 .NET 语音 SDK 基于 .NET Standard 2.0,因此它支持很多平台。有关详细信息,请参阅 .NET 实现支持

2 Java 语音 SDK 也作为语音设备 SDK 的一部分提供。

方案功能

语音 SDK 公开了语音服务中的许多功能,但未公开全部功能。 语音 SDK 的功能通常与方案相关联。 语音 SDK 同时适用于实时和非实时方案,使用本地设备、文件、Azure Blob 存储甚至输入和输出流。 如果无法通过语音 SDK 实现某个方案,请寻求使用 REST API 替代方法。

语音转文本

语音转文本(也称为“语音识别”)可将音频流听录为应用程序、工具或设备可以使用或显示的文本。 结合语言理解 (LUIS) 使用语音转文本可以从听录的语音中派生用户意向,以及处理语音命令。 使用语音翻译通过单个调用将语音输入翻译为另一种语言。 有关详细信息,请参阅语音转文本基础知识

可在以下平台上使用语音识别 (SR)、短语列表、意向、翻译和本地容器:

  • C++/Windows 和 Linux 和 macOS
  • C#(Framework 和 .NET Core)/Windows 和 UWP 和 Unity 和 Xamarin 和 Linux 和 macOS
  • Java(Jre 和 Android)
  • JavaScript(浏览器和 NodeJS)
  • Python
  • Swift
  • Objective-C
  • Go(仅 SR)

文本转语音

文本转语音(也称为“语音合成”)将文本转换为类似人类语言的合成语音。 输入文本是字符串文字或使用语音合成标记语言 (SSML)。 有关标准语音或神经语音的详细信息,请参阅文本转语音语言和语音支持

可在以下平台上使用文本转语音 (TTS):

  • C++/Windows 和 Linux
  • C#/Windows 和 UWP 和 Unity
  • Java(Jre 和 Android)
  • Python
  • Swift
  • Objective-C
  • TTS REST API 可以在所有其他情况下使用。

语音助手

语音助理使用语音 SDK,让你可为你的应用程序和体验创建自然的、类似于人类的对话界面。 语音 SDK 提供快速、可靠的交互,其中包括单一连接上的语音转文本、文本转语音和对话数据。 你的实现可以使用 Bot Framework 的 Direct Line Speech 通道或集成的“自定义命令”服务来完成任务。

以下平台上提供了“语音助理”支持:

  • C++/Windows 和 Linux 和 macOS
  • C#/Windows
  • Java/Windows 和 Linux 和 macOS 和 Android(语音设备 SDK)
  • Go

编解码器压缩的音频输入

一些语音 SDK 编程语言支持编解码器压缩的音频输入流。 有关详细信息,请参阅使用压缩的音频输入格式

可在以下平台上使用编解码器压缩的音频输入:

  • C++/Linux
  • C#/Linux
  • Java/Linux、Android 和 iOS

REST API

虽然语音 SDK 涵盖了语音服务的许多功能,但对于某些方案,你可能需要使用 REST API。

批量听录

使用批量听录能够以异步方式对大量的数据进行语音转文本听录。 只能通过 REST API 使用批量听录。 除了将语音音频转换为文本,批量语音转文本还允许进行分割聚类和情感分析。

自定义

语音服务在语音转文本、文本转语音和语音翻译方面提供了强大的功能和默认模型。 有时,你可能希望提高基线性能,以便更好地处理你的独特用例。 语音服务有各种各样的无代码自定义工具,这些工具使上述事项变得简单,并使你能够使用基于你自己的数据的自定义模型获得竞争优势。 这些模型将仅供你和你的组织使用。

自定义语音转文本

使用语音转文本在独特的环境中进行识别和听录时,可以创建并训练自定义的声学、语言和发音模型,以解决环境干扰或行业特定的词汇的问题。 可通过自定义语音识别门户来创建和管理无代码自定义语音识别模型。 自定义语音识别模型在发布后可以由语音 SDK 使用。

获取语音 SDK

语音 SDK 支持 Windows 10 和 Windows Server 2016 或更高版本。 以前的版本不受官方支持 。 部分语音 SDK 可以在早期版本的 Windows 中使用,但不建议这样做。


Windows

系统要求

Windows 版语音 SDK 要求系统上安装有 Microsoft Visual C++ Redistributable for Visual Studio 2019

C#

.NET 语音 SDK 以 NuGet 包的形式提供并实现了 .NET Standard 2.0。有关详细信息,请参阅 Microsoft.CognitiveServices.Speech


C#

C# NuGet 包

可以使用以下 dotnet add 命令从 .NET Core CLI 安装 .NET 语音 SDK。

dotnet add package Microsoft.CognitiveServices.Speech

可以使用以下 Install-Package 命令从包管理器 安装 .NET 语音 SDK。

Install-Package Microsoft.CognitiveServices.Speech

其他资源

对于麦克风输入,必须安装媒体基础库。 这些库包含在 Windows 10 和 Windows Server 2016 中。 只要未将麦克风用作音频输入设备,则可在没有这些库的情况下使用语音 SDK。

所需语音 SDK 文件可部署在与应用程序相同的目录中。 这样,应用程序便可直接访问库。 请确保选择与应用程序匹配的正确版本 (x86/x64)。

名称 函数
Microsoft.CognitiveServices.Speech.core.dll 核心 SDK,对于本机和托管部署是必需的
Microsoft.CognitiveServices.Speech.csharp.dll 对于托管部署是必需的

备注

从版本 1.3.0 开始,不再需要 Microsoft.CognitiveServices.Speech.csharp.bindings.dll 文件(在以前的版本中提供)。 此功能现在集成到核心 SDK 中。

重要

对于 Windows 窗体应用 (.NET Framework) C# 项目,请确保项目的部署设置中包含这些库。 你可以在 Properties -> Publish Section 下查看此内容。 单击 Application Files 按钮并从向下滚动列表中查找相应的库。 请确保将值设置为 Included。 Visual Studio 将在发布/部署项目时包含该文件。

C++

C++ 语音 SDK 在 Windows、Linux 和 macOS 上可用。 有关详细信息,请参阅 Microsoft.CognitiveServices.Speech


C++

C++ NuGet 包

可以使用以下 Install-Package 命令从包管理器 安装 C++ 语音 SDK。

Install-Package Microsoft.CognitiveServices.Speech

其他资源

Python

Python 语音 SDK 以 Python 包索引 (PyPI) 模块的形式提供。有关详细信息,请参阅 azure-cognitiveservices-speech 。 Python 语音 SDK 与 Windows、Linux 和 macOS 兼容。


Python
pip install azure-cognitiveservices-speech

提示

如果在 macOS 上操作,可能需要运行以下命令才能让上述 pip 命令生效:

python3 -m pip install --upgrade pip

其他资源

Java

Java SDK for Android 打包为 AAR(Android 库),其中包括必要的库以及所需的 Android 权限。 它作为包 com.microsoft.cognitiveservices.speech:client-sdk:1.17.0 托管在 https://csspeechstorage.blob.core.windows.net/maven/ 的 Maven 存储库中。 (通过搜索 GitHub 存储库,确保 1.17.0 是最新版本。)


Java

若要从你的 Android Studio 项目中使用该包,请进行以下更改:

  1. 在项目级 build.gradle 文件中,向 repositories 部分添加以下内容:
maven { url 'https://csspeechstorage.blob.core.windows.net/maven/' }
  1. 在模块级 build.gradle 文件中,向 dependencies 部分添加以下内容:
implementation 'com.microsoft.cognitiveservices.speech:client-sdk:1.17.0'

Java SDK 也是语音设备 SDK 的一部分。

其他资源

重要

下载任何 Azure 认知服务语音 SDK,即表示你已确认接受其许可条款。 有关详细信息,请参阅:

示例源代码

语音 SDK 团队在一个开源存储库中积极维护大量的示例。 有关示例源代码存储库,请访问 GitHub 上的 Microsoft 认知服务语音 SDK。 其中有适用于 C#、C++、Java、Python、Objective-C、Swift、JavaScript、UWP、Unity 和 Xamarin 的示例。


GitHub

后续步骤