如何使用OpenAI将文本转换为语音

OpenAI 最近推出了音频 API,其中包括基于其 TTS(文本到语音)技术的文本到语音功能 – speech。该功能提供六种内置语音,分别为 AlloyEchoFableOnyxNovaShimmer

如何使用OpenAI将文本转换为语音

这些声音对于叙述博客文章、创建各种语言的口语音频、为视频教程添加画外音或提供实时口语反馈等任务非常有用。根据我的经验,输出的声音非常自然,令人印象深刻。如果您没有使用任何文本到语音工具,那么 OpenAI 的这款产品值得您考虑尝试。

在本文中,我们将探讨如何设置 OpenAI 的 TTS 并创建第一个文本到语音应用程序。在本演示中,我们将使用以下设置:

  • 操作系统 – macOS
  • 应用程序 – 终端
  • 编程语言 – cURL

本指南同样适用于 Windows 用户。必要时,我会提及与 macOS 上使用的工具和命令不同的工具和命令。

步骤 1 – 设置 cURL

许多操作系统都预装了 cURL。如果没有,我们将首先安装 MacOS 的软件包管理器 Homebrew,然后使用它来安装 cURL。

检查 cURL 是否已安装

要检查系统中是否已安装 cURL,请确保已连接互联网,然后在终端中键入以下命令:

Windows 用户:使用命令提示符或 Windows PowerShell

curl https://platform.openai.com

如果 cURL 设置正确且已连接互联网,它将发送 HTTP 请求以检索 platform.openai.com 的内容,你应该会看到与此截图类似的输出:

检查 cURL 是否已安装

如何安装 cURL

如果遇到提示未安装 cURL 的错误,可以按照提供的步骤进行安装。

Windows 用户:如何在 Windows 上安装 cURL

打开一个新的终端窗口,输入以下命令首先安装 Homebrew:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

安装 Homebrew 后,使用以下命令安装 cURL:

brew install curl

最后,运行下面的命令将自制版本的 cURL 设置为 shell 中的默认版本:

echo 'export PATH="$(brew --prefix)/opt/curl/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

步骤 2:从 OpenAI 获取 API 密钥

要获取 API 密钥,请先登录 openai.com,然后点击侧边栏上的 “API keys“。

从 OpenAI 获取 API 密钥

在 API 密钥页面,点击 “+ Create new secret key“,为其命名,然后点击 “Create secret key“。

创建 OpenAI 私钥

之后,您将收到一个新的密匙。请务必复制并妥善保管,因为我们稍后会用到它。

将密匙存储在安全且可访问的位置。您将无法通过 OpenAI 账户再次查看它。如果丢失了密匙,您必须创建一个新密匙。

将密匙存储在安全且可访问的位置

步骤 3 – 创建首个文本到语音版本

Now it’s time to create your first text-to-speech. Refer to the code below, and replace YOUR_API_KEY_HERE with your actual API key.

现在是创建第一个文本到语音的时候了。请参考下面的代码,并将此处的 YOUR_API_KEY_HERE 替换为您的实际 API 密钥。

curl https://api.openai.com/v1/audio/speech \
  -H "Authorization: Bearer YOUR_API_KEY_HERE" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "tts-1",
    "input": "hello world",
    "voice": "alloy"
  }' \
  --output example.mp3

示例:

curl https://api.openai.com/v1/audio/speech \
  -H "Authorization: Bearer sk-IfClJS63a7Ny3v6yKncIT3XXXXXXXXXXXXXX" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "tts-1",
    "input": "hello world",
    "voice": "alloy"
  }' \
  --output example.mp3

复制整段代码,粘贴到终端(Windows 用户可以使用 Command Prompt 或 PowerShell),然后按 Enter。

就是这样!此操作将创建一个名为 example.mp3 的音频文件,文件名为 “hello world”。

您可以进行的其他更改

现在,您已经熟悉了使用 OpenAI 音频 API 将文本转换为逼真的口语音频,让我们深入了解一下您可以进行的其他调整,这些调整将影响 TTS 输出的质量和风格。

基本上,您可以修改以下内容:

1. 使用的模型

默认模型为 tts-1 ,响应速度快,但质量稍差。您可以切换到 tts-1-hd 型号,以获得更高清晰度的音频输出。

"model": "tts-1-hd"

2. 输出的文章

任何用双引号括起来的文本都将转换成语音。示例:

"input": "hello there, how are you doing today?"

3. 选择的声音

目前有六种不同的声音可供选择: alloyechofableonyxnova, 和 shimmer。示例:

"voice": "nova"

4. 输出文件

默认情况下,输出为 .mp3 格式。不过,您可以更改文件名或选择其他支持的音频格式。目前支持的格式包括

  • Opus .opus:适用于低延迟的互联网流媒体和通信。
  • AAC .aac:用于数字音频压缩,YouTube 等平台以及 Android 和 iOS 等设备首选。
  • FLAC .flac:提供无损音频压缩,深受发烧友青睐,可用于存档。

示例:

--output myspeech.aac

常见问题

在哪里可以找到创建的音频文件?

输出文件位于执行 cURL 脚本的同一文件夹或路径中。要查找终端(Windows 用户:PowerShell 或 Command Prompt)的当前目录,请使用以下命令:

  • macOS 终端 – pwd
  • Windows PowerShell – pwd
  • Windows 命令提示符 – cd

能否创建和使用我的语音的自定义副本?

OpenAI 目前不支持此功能。

其他语音选项听起来如何?

您可以使用不同的语音参数生成音频,听一听其他语音的声音,也可以访问此页面聆听样本。

它支持其他语言吗?

是的,它支持多种语言。我已经用日语、中文(普通话)、越南语和西班牙语进行了测试,它们听起来都很合理。

评论留言