[译][AI OpenAI-doc] 文字转语音

简介: 学习如何将文字转换为栩栩如生的口头语音。音频 API 提供基于我们的 TTS(文本到语音)模型的语音端点,支持实时音频流传输。

学习如何将文字转换为栩栩如生的口头语音

介绍

音频 API 提供基于我们的 TTS(文本到语音)模型的语音端点。它配备了 6 种内置语音,并可用于:

  • 叙述书面博客文章
  • 生成多种语言的口头语音
  • 使用流式传输提供实时音频输出

以下是alloy语音的示例:

...

请注意,我们的使用政策要求您向最终用户提供明确的披露,说明他们听到的 TTS 语音是由 AI 生成的,而不是人类的声音。

快速开始

语音端点接受三个关键输入:模型、应转换为音频的文本以及用于音频生成的语音。一个简单的请求如下所示:

python
from pathlib import Path
from openai import OpenAI
client = OpenAI()

speech_file_path = Path(__file__).parent / "speech.mp3"
response = client.audio.speech.create(
  model="tts-1",
  voice="alloy",
  input="今天是一个建设人们喜爱的东西的美好日子!"
)

response.stream_to_file(speech_file_path)

默认情况下,端点将输出口头语音的 MP3 文件,但也可以配置为输出我们支持的任何格式。

音频质量

对于实时应用程序,标准的 tts-1 模型提供了最低的延迟,但质量低于 tts-1-hd 模型。由于音频生成的方式不同,tts-1 在某些情况下可能会产生比 tts-1-hd 更多静态噪音的内容。在某些情况下,根据您的听音设备和个人而言,音频可能没有明显的差异。

语音选项

尝试使用不同的语音(alloy, echo, fable, onyx, nova, 和 shimmer)来找到与您期望的语气和受众相匹配的语音。当前的语音都针对英语进行了优化。

  • Alloy ...
  • Echo ...
  • Fable ...
  • Onyx ...
  • Nova ...
  • Shimmer ...

支持的输出格式

默认的响应格式是 "mp3",但其他格式如 "opus"、"aac"、"flac" 和 "pcm" 也可用。

  • Opus:适用于互联网流媒体和通信,低延迟。
  • AAC:用于数字音频压缩,YouTube、Android、iOS 首选。
  • FLAC:用于无损音频压缩,音频爱好者偏爱用于存档。
  • WAV:无压缩的 WAV 音频,适用于低延迟应用以避免解码开销。
  • PCM:类似于 WAV,但包含 24kHz(16位有符号,低字节序)的原始样本,没有头部。

支持的语言

TTS 模型通常在语言支持方面遵循 Whisper 模型。尽管当前的语音优化为英语,Whisper 支持以下语言并表现良好:

南非荷兰语、阿拉伯语、亚美尼亚语、阿塞拜疆语、白俄罗斯语、波斯尼亚语、保加利亚语、加泰罗尼亚语、中文、克罗地亚语、捷克语、丹麦语、荷兰语、英语、爱沙尼亚语、芬兰语、法语、加利西亚语、德语、希腊语、希伯来语、印地语、匈牙利语、冰岛语、印度尼西亚语、意大利语、日语、卡纳达语、哈萨克语、韩语、拉脱维亚语、立陶宛语、马其顿语、马来语、马拉地语、毛利语、尼泊尔语、挪威语、波斯语、波兰语、葡萄牙语、罗马尼亚语、俄语、塞尔维亚语、斯洛伐克语、斯洛文尼亚语、西班牙语、斯瓦希里语、瑞典语、塔加洛语、泰米尔语、泰语、土耳其语、乌克兰语、乌尔都语、越南语和威尔士语。

您可以通过提供所选语言的输入文本来生成这些语言的口头语音。

实时音频流传输

语音 API 提供了使用分块传输编码进行实时音频流传输的支持。这意味着在完整文件生成并可访问之前,音频就可以播放了。

from openai import OpenAI

client = OpenAI()

response = client.audio.speech.create(
    model="tts-1",
    voice="alloy",
    input="Hello world! This is a streaming test.",
)

response.stream_to_file("output.mp3")

常见问题解答

我如何控制生成的音频的情感范围?

没有直接的机制来控制音频输出的情感。某些因素可能会影响输出音频,如大小写或语法,但我们对这些因素进行的内部测试结果参差不齐。

我能否创建自己声音的自定义副本?

不,这不是我们支持的功能。

我拥有输出的音频文件吗?

是的,与我们 API 的所有输出一样,创建它们的人拥有输出。您仍然需要告知最终用户,他们听到的是由 AI 生成的音频,而不是真人与他们交谈。


相关文章
|
1天前
|
人工智能 JSON 机器人
[译][AI OpenAI-doc] 延迟优化
本指南涵盖了一系列核心原则,您可以应用这些原则来改善在各种LLM相关用例中的延迟。这些技术来自于与广泛的客户和开发人员在生产应用程序上的合作,因此无论您正在构建什么——从细粒度的工作流程到端到端的聊天机器人,都应该适用!
[译][AI OpenAI-doc] 延迟优化
|
2天前
|
人工智能 监控 安全
[译][AI OpenAI-doc] 安全最佳实践
这篇文章总结了安全最佳实践,涵盖了使用免费 Moderation API 减少不安全内容频率的建议,对抗性测试的重要性,人在环路中审查输出的必要性,以及限制用户输入输出标记和允许用户报告问题的方法。文章强调了理解和沟通模型的限制的重要性,并提供了关于最终用户 ID 的建议。
|
3天前
|
存储 人工智能 缓存
[译][AI OpenAI-doc] 生产最佳实践
本指南提供了一套全面的最佳实践,以帮助您从原型转向生产。无论您是经验丰富的机器学习工程师还是最近的爱好者,本指南都应为您提供成功将平台投入生产环境所需的工具:从确保访问我们的API到设计能够处理高流量的稳健架构。使用本指南帮助制定尽可能平稳有效地部署应用程序的计划。
|
5天前
|
XML 存储 人工智能
[译][AI OpenAI-doc] Prompt工程
这个指南分享了从大型语言模型(有时称为GPT模型)如GPT-4 中获得更好结果的策略和技巧。这里描述的方法有时可以结合使用以达到更好的效果。我们鼓励进行实验,找到最适合您的方法。
[译][AI OpenAI-doc] Prompt工程
|
6天前
|
存储 人工智能 JSON
[译][AI OpenAI-doc] v2 有什么新功能?Beta
2024年4月,我们宣布了一系列新功能和改进的助手API,并将我们的Beta版移至一个新的API版本,OpenAI-Beta: assistants=v2。了解更多详情,请查看我们的迁移指南。
|
7天前
|
存储 人工智能 API
[译][AI OpenAI-doc] 迁移指南 Beta
我们已经改变了助手 API 在 beta 的 v1 版本和 v2 版本之间工具和文件的工作方式。今天,通过 API,两个 beta 版本仍然可以访问,但我们建议尽快迁移到我们 API 的最新版本。我们将在 2024 年底之前废弃 beta 的 v1 版本。
[译][AI OpenAI-doc] 迁移指南 Beta
|
8天前
|
人工智能 API 开发工具
[译][AI OpenAI-doc] 函数调用 Beta
类似于聊天完成 API,助手 API 支持函数调用。函数调用允许您描述函数给助手 API,并让它智能地返回需要调用的函数及其参数。
|
11天前
|
XML 人工智能 JSON
[译][AI OpenAI-doc] 代码解释器 Beta
代码解释器允许助手在受限执行环境中编写和运行 Python 代码。该工具可以处理具有不同数据和格式的文件,并生成带有数据和图形图像的文件。
55 17
|
12天前
|
存储 人工智能 前端开发
[译][AI OpenAI-doc] 文件搜索 Beta
文件搜索通过从其模型外部获取的知识增强了助手的功能,例如专有产品信息或用户提供的文档。通过向量存储库,您可以管理文件的解析、分块、嵌入和存储,以进行关键字和语义搜索。确保向量存储库准备就绪,以确保所有数据可搜索,并利用到期策略管理成本。
|
13天前
|
存储 人工智能 数据可视化
[译][AI OpenAI-doc] 助手如何工作(Beta)
助手 API 旨在帮助开发人员构建功能强大的 AI 助手,能够执行各种任务。
[译][AI OpenAI-doc] 助手如何工作(Beta)