跳至主要内容

ElevenLabs API 新手指南:将文本与语音转化为生动的音频体验

掌握 ElevenLabs API(强大的 AI 语音生成器)的功能。学习如何将文本转为语音,并使用这项技术克隆声音。
· 9分钟 阅读

使用 AI 探索

在技术不断创新的时代,语音驱动应用的力量正在改变我们与世界互动的方式。从提升视障人群的可及性,到打造更具动态性与吸引力的用户体验,语音技术的适用范围广泛且影响深远。

ElevenLabs 作为领先的 AI 语音生成平台,提供先进的文本转语音(TTS)与语音转语音(STS)合成功能。

在本指南中,我们将探索这些功能,并演示如何利用它们将书面文本与语音录音转化为栩栩如生的语音。

无论您是希望将语音功能集成到应用中的开发者、寻求制作多语种配音的内容创作者,还是打算通过自动化系统改善客户互动的企业,本文都将为您提供入门所需的核心知识。

什么是文本转语音引擎?

文本转语音(TTS)引擎是一种复杂技术,它接收书面文本作为输入并将其转化为口语音频。这使用户可以“听”而非“读”文本,从而增强数字内容的可访问性与交互性。如果您想进一步了解 TTS 引擎,请参阅这篇最佳文本转语音引擎指南中的详细信息。

ElevenLabs 是什么?

ElevenLabs 是提供文本转语音(TTS)与语音转语音(STS)合成的领先平台之一。该技术利用先进的机器学习模型,从书面文本甚至从一种声音到另一种声音,生成逼真且自然的音频。

其高质量音频生成能力,使其成为开发者、内容创作者与企业通过动态音频体验提升用户参与度的首选。

在本教程中,我们将重点介绍如何在 Python 中使用 ElevenLabs API。我们将涵盖从获取 API 密钥、设置开发环境、初始化库到使用其函数生成语音的全过程。想了解您可以实现什么效果,请试听这段使用其功能生成的音频片段。接下来我们将一步一步学习如何创建类似的内容。

无论您是想为多媒体内容集成配音,还是为视障用户开发无障碍应用,ElevenLabs 都提供了使音频“鲜活起来”的必要工具。读完本指南,您将深入了解如何使用其 API 以出色的清晰度与真实感将文本转化为语音。

在 Python 中使用 ElevenLabs API 进行文本转语音

1. 创建 API 密钥

第一步是注册一个免费的 ElevenLabs 账号。登录后,点击个人资料图标并选择“Profile + API key”。此处系统会为我们生成 API 密钥。请务必保存该密钥,因为后续身份验证请求需要使用它。

2. 安装并导入 ElevenLabs Python 包

要在 Python 中与 ElevenLabs API 交互,我们需要安装其官方包。可以使用 Python 的包管理器 pip 完成安装:

$ pip install elevenlabs

现在,我们可以在新的 Python 文件中从该包导入所需组件。

from elevenlabs.client import ElevenLabs
from elevenlabs import play, save, stream, Voice, VoiceSettings

3. 生成音频

环境设置完成后,我们可以使用 API 密钥创建 ElevenLabs 客户端实例,生成第一个音频片段。

client = ElevenLabs(api_key="YOUR_API_KEY")

然后使用 .generate 方法将文本转换为音频。

audio = client.generate(
   text="Welcome to Datacamp's beginner's guide to the ElevenLabs API",
   voice="Brian"
)

我们可以立即播放生成的音频:

play(audio)

或将其保存为文件:

save(audio, "output.mp3")

4. 自定义声音

ElevenLabs 提供多种自定义选项,可按您的喜好调整声音。我们可以调节稳定性、相似度增强与风格等设置。例如:

audio = client.generate(
   text="Welcome to Datacamp's beginner's guide to the ElevenLabs API.",
   voice=Voice(
       voice_id='nPczCjzI2devNBz1zQrb',
       settings=VoiceSettings(
           stability=0.8, similarity_boost=0.6, style=0.2, use_speaker_boost=True)
   )
)

voice_id 对应 ElevenLabs 提供的特定预设声音;完整列表及其适用场景、口音与描述等详情可在 ElevenLabs 声音页面找到。

5. 多语种语音生成

ElevenLabs 提供两个关键模型:eleven_multilingual_v2,可生成29 种语言的语音;以及 eleven_monolingual_v1,专为英文语音优化。以下示例展示了如何使用多语种模型同时生成多种语言的音频:

audio = client.generate(
   text="Hello! Hola! Hallo 你好! नमस्ते! Bonjour! こんにちは! مرحبا! 안녕하세요! Ciao!",
   voice="Arnold",
   model="eleven_multilingual_v2"
)

流式语音生成

前面介绍的 .generate 方法会在全部文本转换完成后一次性返回完整的语音输出,而 ElevenLabs API 还提供强大的流式功能。对于需要实时生成音频的应用而言,这一功能尤为实用,因为它可以在其余文本仍在处理时几乎立即开始回放音频。

注意:进行音频流式播放需要安装 mpv 媒体播放器。在 mac 上,您可以使用命令 brew install mpv 安装。Linux 与 Windows 可从 mpv 官网安装。

流式工作原理

要使用流式功能,我们需要在 .generate 方法中将 stream 参数设为 True。这会指示 API 在音频分段就绪时立即开始分块传输:

audio_stream = client.generate(
   text="Welcome... I am speaking to you in real-time. Let’s get started!.",
   stream=True
)
stream(audio_stream)

使用动态文本输入进行流式生成

流式并不限于静态文本。它也可处理动态输入,即在文本块就绪时将其送入 API。这对交互式应用尤为有用,例如直播或创建响应式的 AI 驱动对话。以下示例展示了如何流式传输动态文本:

def text_stream():
   yield "Hi! I'm Brian "
   yield "I'm an artificial voice made by ElevenLabs "


audio_stream = client.generate(
   text=text_stream(),
   voice="Brian",
   model="eleven_monolingual_v1",
   stream=True
)


stream(audio_stream)

在此设置中,text_stream() 充当生成器函数,将文本片段依次传给 API。每个片段会被立即处理,有助于保持自然的语音流畅度,避免不自然的停顿或延迟。该功能与先进语音助手和实时翻译设备所展现的对话能力相呼应。

语音转语音生成

ElevenLabs 平台的另一项强大功能是 STS 合成,本质上就是语音克隆。

其流程与我们之前讨论的 TTS 类似,主要区别在于输入类型。我们不再提供文本,而是提供希望克隆之声音的音频文件。

对于即时语音克隆,ElevenLabs 建议使用 60 秒的内容,且数据应无背景噪音与特效;若进行专业语音克隆,建议至少提供 30 分钟的干净音频。

描述并非必填,但在组织与区分多个项目或语音模型时会很有帮助。

以下是一个克隆声音的示例。

voice = client.clone(
   name="Emily",
   description="A young British female voice with a clear, melodic tone, ideal for storytelling or educational content", 
   files=["./sample_1.mp3", "./sample_2.mp3", "./sample_3.mp3"],
)

ElevenLabs API 在 Python 中的应用场景

ElevenLabs API 在语音合成方面提供了一系列强大能力,能够改变组织与个人与其受众互动的方式。通过将文本转为语音或通过语音转语音进行克隆,该技术为各个领域带来创新解决方案。

以下三个关键应用展示了此工具的潜力:

交互式语音应答(IVR)系统

  • 多语言支持:在多语言市场运营的机构可使用该系统以多种语言提供客户支持,而无需配备多语种员工。
  • 客户服务:企业可在客服运营中集成该 API,使自动化电话系统中的交互更贴近人声,通过个性化语音回复提升客户体验。

数字内容的无障碍功能

  • 增强型阅读工具:该 API 可将书面材料制作成有声书,使文学作品对视障人士或阅读障碍人群更易获取。
  • 语音导航:与网站和应用集成的语音导航可帮助需要听觉辅助的用户,提升数字平台的可用性。

内容创作

  • 视频自动配音:数字内容制作者(如 YouTube 创作者与影片制作者)可利用该技术生成多语种、自然流畅的配音,从而显著降低制作成本与时间。
  • 教育教程与在线学习模块:借助 TTS 与 STS,我们可以为教育内容配音,让学习更具互动性与可达性,尤其适合远程学习环境。

结语

ElevenLabs API 是一款稳健而多才多艺的工具,适用于希望在应用中融入先进语音合成的任何人。

无论用于无障碍、内容创作,还是提升客户互动,该 API 都能提供满足多样化需求的解决方案。

其同时提供文本转语音与语音转语音合成功能,有助于打造更具包容性与吸引力的用户体验。

如果您对语音技术的可能性感到兴奋,并希望进一步提升专业能力,欢迎学习 DataCamp 的《Python 口语语言处理》课程。本综合课程涵盖从音频预处理与操作基础,到语音转文本及转写数据分析的完整流程。注册后,您将通过真实应用获得实操经验,掌握构建复杂语音驱动系统的技能,并在这一充满活力的领域中打造创新解决方案。

常见问题解答

使用 ElevenLabs API 是否会产生费用?

ElevenLabs 提供不同的定价层级,其中包括适合基础使用的免费层级,便于试验与小型项目。对于广泛使用,尤其是商业应用,有付费方案可提供更高的使用限额与额外功能。

ElevenLabs API 有哪些限制?

主要限制包括对输入数据(文本或音频)质量的依赖、进行 API 调用所需的网络连接,以及合成语音的细微差别可能无法完美捕捉人类语音的情感变化。

ElevenLabs API 能处理不同口音与方言吗?

是的,ElevenLabs API 在 TTS 与 STS 功能中支持多种口音与方言,适用于全球化应用场景。

我可以将 ElevenLabs API 用于商业目的吗?

可以。ElevenLabs API 适用于个人与商业用途。只要您遵守服务条款及相关许可协议,即可将其集成至产品与服务中。

如何排查 ElevenLabs API 的问题?

ElevenLabs 提供完善的文档与支持。遇到问题时,请查阅其官方文档与常见问题以获取常见问题的解决方案。如需进一步帮助,可通过其官网联系支持团队。

Stanislav Karzhev

作者

Stanislav Karzhev

刚毕业的理学硕士,专攻人工智能

主题