前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[AI OpenAI-doc] 文字转语音

[AI OpenAI-doc] 文字转语音

作者头像
从零开始学AI
发布2024-04-23 11:18:00
1910
发布2024-04-23 11:18:00
举报
文章被收录于专栏:AIAI

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

介绍

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

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

以下是alloy语音的示例:

...

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

快速开始

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

代码语言:python
复制
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 提供了使用分块传输编码进行实时音频流传输的支持。这意味着在完整文件生成并可访问之前,音频就可以播放了。

代码语言:python
复制
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 生成的音频,而不是真人与他们交谈。


本文系外文翻译,前往查看

如有侵权,请联系?cloudcommunity@tencent.com?删除。

本文系外文翻译前往查看

如有侵权,请联系?cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
  • 快速开始
  • 音频质量
  • 语音选项
  • 支持的输出格式
  • 支持的语言
  • 实时音频流传输
  • 常见问题解答
    • 我如何控制生成的音频的情感范围?
      • 我能否创建自己声音的自定义副本?
        • 我拥有输出的音频文件吗?
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
        http://www.vxiaotou.com