Gradio全解10——Streaming:流式传输的音频应用(7)——ElevenLabs:高级智能语音技术

Gradio全解10——Streaming:流式传输的音频应用(7)——ElevenLabs:高级智能语音技术

    • 10.7 ElevenLabs:高级智能语音技术
      • 10.7.1 核心功能与可用模型
        • 1. 核心功能与产品
        • 2. 三类语音模型
      • 10.7.2 文本转语音API
        • 1. 完整操作步骤
        • 2. Stream处理方式:流式播放或手动处理
      • 10.7.3 语音转文本API
      • 10.7.4 音乐API
        • 1. Eleven Music生成音乐音轨
        • 2. 生成作曲方案并转为音频

本章目录如下:

  1. 《Gradio全解10——Streaming:流式传输的音频应用(1)——自动语音识别技术(ASR)》
  2. 《Gradio全解10——Streaming:流式传输的音频应用(2)——使用本地部署的Mini-Omni模型构建对话式聊天机器人》
  3. 《Gradio全解10——Streaming:流式传输的音频应用(3)——HF Inference:在推理客户端运行推理服务》
  4. 《Gradio全解10——Streaming:流式传输的音频应用(4)——Spaces ZeroGPU:为Spaces提供动态GPU分配方案》
  5. 《Gradio全解10——Streaming:流式传输的音频应用(5)——Mistral-7B实现流式传输音频:魔力8号球》
  6. 《Gradio全解10——Streaming:流式传输的音频应用(6)——基于Groq的带自动语音检测功能的Gradio应用》
  7. 《Gradio全解10——Streaming:流式传输的音频应用(7)——ElevenLabs:高级智能语音技术》

10.7 ElevenLabs:高级智能语音技术

本节引入ElevenLabs智能语音技术,作为更专业的语音、音频和音乐工具,后边视频应用中将用到它。它不仅能无缝替换之前的语音转换工具,还能实现更丰富复杂的语音功能;它不仅能拓展开发者的工具库,还能产生更逼真的语音甚至优美的音乐。

本节内容包括ElevenLabs的核心功能与产品讲解,其旗下Eleven系列语音大模型的介绍,以及文本转语音API、语音转文本API及音乐API的使用。更多ElevenLabs内容请参阅:🖇️链接10-39。

10.7.1 核心功能与可用模型

ElevenLabs是一家专注于人工智能语音技术的公司,提供先进的文本转语音和语音克隆(Voice Cloning)功能和众多语音产品,同时提供三类语音模型,下边逐一介绍。

1. 核心功能与产品

ElevenLabs AI模型能够生成高度自然、富有表现力的人声,适用于有声书、视频配音、虚拟助手、游戏角色对话等场景。ElevenLabs的核心功能包括:

  • ①文本转语音(TTS),支持多种语言和声音风格(如自然、激昂、柔和等),可调节语速、语调、停顿等参数。
  • ②语音克隆(Voice Cloning),上传少量样本音频即可克隆特定人声(需遵守伦理政策)。
  • ③多语言支持(Multi-Language),包括英语、中文、西班牙语、法语、德语等20+语言。
  • ④实时语音生成(Streaming),低延迟,适合交互式应用(如聊天机器人)。

实现相关功能的ElevenLabs产品众多,包括涵盖了从帐户创建到高级语音克隆、语音合成技术、配音和专家配音的所有内容。大致分类如下:

  • 游乐场(Playground):Text to Speech、Speech To Text to、Voice Changer、Sound Effects等。
  • 产品(Product):Studio、Music、Dubbing Studio、Transcripts、Subtitles等。
  • 语音(Voice):Voice cloning、Voice library、Voice design、Payouts等。
  • 音频工具(Audio Tool):Audio Native、Voiceover Studio、Voice Isolator、AI speech Classifier。
  • 管理(Administration):Account、Consolidated Billing、Data Residency、Usage Analytics、Workspaces、Webhooks等。

还有用于部署定制的对话式语音代理的平台Conversational AI。更多关于ElevenLabs产品的信息请参阅:PRODUCT GUIDES🖇️链接10-40。

2. 三类语音模型

ElevenLabs的可用模型包括三类Text to Speech、Speech to Text和Music。
其中Text to Speech类模型典型代表有:

  • Eleven v3(alpha):最新且最先进的语音合成模型,能生成自然逼真的语音,具有丰富的情感表现力,并支持跨70多种语言的上下文理解,适用于角色对话、有声书制作和情感化对话。
  • Eleven Multilingual v2(eleven_multilingual_v2):在稳定性、语言多样性和口音准确性方面表现卓越,支持29种语言,推荐作为多数场景的首选方案。
  • Eleven Flash v2.5(eleven_flash_v2_5):超低延迟,支持32种语言,响应速度更快,字符单价降低50%。
  • Eleven Turbo v2.5 (eleven_turbo_v2_5):质量与延迟的最佳平衡,特别适合对实时性要求高的开发场景,支持32种语言。

Speech to Text类模型有:

  • Scribe v1(scribe_v1):先进的语音识别模型,提供带词级时间戳的精准转录、多说话人音频的说话人分离技术、增强上下文理解的动态音频标记等高级功能,支持99种语言。适用于转录服务、会议记录、内容分析和多语言识别。

Music类模型有:

  • Eleven Music(music_v1):是一款文本生成音乐模型,可通过自然语言提示词生成任意风格的专业级音乐。该模型能理解创作意图,并根据目标生成具有上下文感知的完整音频。支持自然语言与专业音乐术语输入,提供以下尖端特性:①对流派、风格与结构的完整控制。②人声演唱或纯乐器演奏版本。③多语言支持(包括英语、西班牙语、德语、日语等)。④可编辑整曲或特定段落的音效与歌词。

此外,还有人性化、富有表现力的语音设计模型eleven_ttv_v3(Text to Voice),最先进的多语言语音转换器模型eleven_multilingual_sts_v2(Speech to Speech),仅限英语的语音转换模型eleven_english_sts_v2,以及具有实验功能并减少沉默时幻觉的scribe_v1_experimental,请根据需要选择。更多Eleven系列大模型信息请参考:🖇️链接10-41。

10.7.2 文本转语音API

ElevenLabs API提供简洁接口,可访问最先进的音频模型与功能。从低延迟会话代理到用于配音和有声读物的领先AI语音生成器,它只需几行代码,就能为创作者和开发人员带来最引人注目、最丰富、最逼真的声音。下面分别以使用文本转语音API、语音转文本API及音乐API为例讲解ElevenLabs API用法,首先从文本转语音API开始。

1. 完整操作步骤

本节以Python为例,讲述使用文本转语音API的完整操作步骤:
第一步,在控制面板创建API密钥:ELEVENLABS_API_KEY🖇️链接10-42。该密钥将用于安全访问API服务并控制信用额度使用。建议将密钥存储为托管密钥,并通过.env文件或应用配置传入SDK:

ELEVENLABS_API_KEY=<your_api_key_here>

第二步,安装SDK。除了elevenlabs,还将使用dotenv库从环境变量加载API密钥,安装命令如下所示:

pip install elevenlabs python-dotenv

若需通过扬声器播放音频,系统可能会提示安装MPV(🖇️链接10-43)或ffmpeg。

第三步,发起首个请求,代码如下所示:

from dotenv import load_dotenv
from elevenlabs.client import ElevenLabs
from elevenlabs import play
import os
load_dotenv()
client = ElevenLabs(api_key=os.getenv("ELEVENLABS_API_KEY"),
)
audio = client.text_to_speech.convert(text="The first move is what sets everything in motion.",voice_id="JBFqnCBsd6RMkjVDRZzb",model_id="eleven_multilingual_v2",output_format="mp3_44100_128",
)
play(audio)

运行代码后,可从扬声器听到转换后的音频。通过方法client.voices.search()列出所有符合条件的声音,或通过调用client.voices.settings.get("your-voice-id")获取voice_id对应语音的设置。使用自定义设置可以构建个性化语音,有关输出的语音结构信息及更多功能函数示例,请参阅:List voices🖇️链接10-44。

另外可以访问ElevenLabs语音实验室🖇️链接10-45,尝试不同的语音、语言和音频设置。

2. Stream处理方式:流式播放或手动处理

ElevenLabs API支持特定端点的实时音频流式传输。通过HTTP分块(Chunk)传输编码直接返回原始音频字节(如MP3数据),使得客户端能够在音频生成时逐步处理或播放,官方Python库和Node库均包含简化处理连续音频流的实用工具。

文本转语音API、语音转换(Voice Changer)API及音频分离(Audio Isolation)API等均支持流式传输。以Python为例,文本转语音API请求的音频流有两种处理方式:流式播放或手动处理音频字节,对应代码如下所示:

from elevenlabs import stream
from elevenlabs.client import ElevenLabs
client = ElevenLabs()
audio_stream = client.text_to_speech.stream(text="This is a test",voice_id="JBFqnCBsd6RMkjVDRZzb",model_id="eleven_multilingual_v2"
)
# option 1: play the streamed audio locally
stream(audio_stream)
# option 2: process the audio bytes manually
for chunk in audio_stream:if isinstance(chunk, bytes):print(chunk)

10.7.3 语音转文本API

本节将展示如何使用语音转文本API将语音音频转换为文本。代码如下所示:

import requests
from elevenlabs.client import ElevenLabs
client = ElevenLabs()
audio_url = ("https://storage.googleapis.com/eleven-public-cdn/audio/marketing/nicole.mp3"
)
response = requests.get(audio_url)
audio_data = BytesIO(response.content)transcription = client.speech_to_text.convert(file=audio_data,model_id="scribe_v1", # Model to use, for now only "scribe_v1" is supportedtag_audio_events=True, # Tag audio events like laughter, applause, etc.language_code="eng", # Language of the audio file. If set to None, the model will detect the language automatically.diarize=True, # Whether to annotate who is speaking
)
print(transcription)

应该可以看到打印到控制台的音频文件的转录内容。

10.7.4 音乐API

本节学习使用模型Eleven Music生成音乐,目前仅支持付费用户。

1. Eleven Music生成音乐音轨

下面代码将展示如何使用模型Eleven Music生成音乐的音轨并播放:

from elevenlabs.client import ElevenLabs
from elevenlabs import play
elevenlabs = ElevenLabs()
track = elevenlabs.music.compose(prompt="Create an intense, fast-paced electronic track for a high-adrenaline video game scene. Use driving synth arpeggios, punchy drums, distorted bass, glitch effects, and aggressive rhythmic textures. The tempo should be fast, 130–150 bpm, with rising tension, quick transitions, and dynamic energy bursts.",music_length_ms=10000)
play(track)
2. 生成作曲方案并转为音频

作曲方案是JSON形式的音乐生成描述框架,可通过更精细的参数控制生成指定音乐,随后可配合Eleven Music实现音乐生成。

我们即可直接生成音乐,也可选择作曲方案简介生成。但通过作曲方案,可以对每个生成段落进行更细粒度控制,实现复杂音乐结构的创作。生成作曲方案代码如下所示:

from elevenlabs.client import ElevenLabs
from elevenlabs import play
elevenlabs = ElevenLabs()
composition_plan = elevenlabs.music.composition_plan.create(prompt="Create an intense, fast-paced electronic track for a high-adrenaline video game scene. Use driving synth arpeggios, punchy drums, distorted bass, glitch effects, and aggressive rhythmic textures. The tempo should be fast, 130–150 bpm, with rising tension, quick transitions, and dynamic energy bursts.",music_length_ms=10000)
print(composition_plan)

上述操作将生成类似以下结构的作曲方案:

{"positiveGlobalStyles": ["electronic","fast-paced","driving synth arpeggios","punchy drums","distorted bass","glitch effects","aggressive rhythmic textures","high adrenaline"],"negativeGlobalStyles": ["acoustic", "slow", "minimalist", "ambient", "lo-fi"],"sections": [{"sectionName": "Intro","positiveLocalStyles": ["rising synth arpeggio","glitch fx","filtered noise sweep","soft punchy kick building tension"],"negativeLocalStyles": ["soft pads", "melodic vocals", "ambient textures"],"durationMs": 3000,"lines": []},...]
}

使用作曲方案。通过将作曲方案传递至compose方法进行作曲,可生成该作曲方案的音频,代码如下所示:

composition = elevenlabs.music.compose(composition_plan=composition_plan,
)
play(composition)

更多详情请参阅Github仓库:elevenlabs/levenlabs-python🖇️链接10-46。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/95937.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/95937.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【桃子同学笔记4】PCIE训练状态机(LTSSM)基础

首先&#xff0c;所谓LTSSM&#xff0c;即&#xff1a;Link Training and Status State Machine&#xff08;链路训练及状态机&#xff09; 下图为 LTSSM 的状态机及训练过程&#xff1a; LTSSM 包含 11 个顶层状态&#xff1a;Detect、Polling、Configuration、Recovery、L0、…

STM32传感器模块编程实践(十五)DIY语音对话控制+满溢检测智能垃圾桶模型

文章目录 一.概要二.实验模型原理1.硬件连接原理框图2.控制原理 三.实验模型控制流程四.语音控制垃圾桶模型程序五.实验效果视频六.小结 一.概要 以前介绍的智能垃圾桶模型都是通过超声波模块感知控制&#xff0c;这次介绍一款新的智能垃圾桶&#xff0c;直接使用语音交互模块…

[bat-cli] docs | 控制器

链接&#xff1a;https://github.com/sharkdp/bat 前文传送&#xff1a; 【探索Linux命令行】从基础指令到高级管道操作的介绍与实践【Linux命令行】从时间管理-&#xff1e;文件查找压缩的指令详解【Linux】1w详解如何实现一个简单的shell docs&#xff1a;bat bat 是一个*…

无线自动信道调整

通过信道调整功能&#xff0c;可以保证每个AP 能够分配到最优的信道&#xff0c;尽可能地 减少和避免相邻信道干扰&#xff0c;而且通过实时信道检测&#xff0c;使AP 实时避开雷达&#xff0c;微波炉等干扰源。 动态信道调整能够实现通信的持续进行&#xff0c;为网络的可靠传…

ios面试八股文

​​Swift 语言特性​​&#xff1a;请解释一下 struct和 class的主要区别。特性​​​​struct (值类型)​​​​class (引用类型)​​​​类型本质​​值类型 (复制时创建独立副本)引用类型 (复制时共享同一实例)​​内存分配​​通常在栈上 (更快速)在堆上 (需要ARC管理)​​…

IntelliJ IDEA 2023更新git凭据

背景&#xff1a;已知原来从远程仓库获取的项目&#xff0c;需要更新git用户和密码&#xff0c;但是又不想删除本地项目环境&#xff08;不想重新获取新建项目&#xff09;。报错&#xff1a;remote: HTTP Basic: Access denied. The provided password or token is incorrect …

Docker 容器 OOM:从资源监控到JVM调优的实战记录

人们眼中的天才之所以卓越非凡&#xff0c;并非天资超人一等而是付出了持续不断的努力。1万小时的锤炼是任何人从平凡变成超凡的必要条件。———— 马尔科姆格拉德威尔 &#x1f31f; Hello&#xff0c;我是Xxtaoaooo&#xff01; &#x1f308; “代码是逻辑的诗篇&#xff…

【开题答辩全过程】以 基于微信小程序的宠物领养系统为例,包含答辩的问题和答案

个人简介一名14年经验的资深毕设内行人&#xff0c;语言擅长Java、php、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。感谢大家的…

【可信数据空间-连接器状态监控-Java代码集成】

可信数据空间-连接器状态监控-Java代码集成一、 核心概念1. Micrometer2. Micrometer Registry Prometheus3.Prometheus二、 依赖配置 (Maven)三、 集成步骤与代码示例场景一&#xff1a;在 Spring Boot 应用中集成&#xff08;最简单&#xff09;1. 添加依赖&#xff08;如上所…

反编译分析C#闭包

一、问题描述&#xff1a;比如有这样的代码&#xff1a;它的输出结果是 3&#xff0c;3&#xff0c;3。通过搜索得知这一现象是因为C#闭包导致的.我们借助ILSpy看下IL中间代码&#xff0c;首先它生成了一个名叫DisplayClass的类&#xff0c;类中定义了i的字段主代码&#xff1a…

卷积神经网络(CNN):从图像识别原理到实战应用的深度解析

目录一.CNN的技术必要性&#xff1a;破解传统图像处理的两大核心痛点痛点1&#xff1a;特征依赖人工设计&#xff0c;通用性差痛点2&#xff1a;全连接网络参数爆炸&#xff0c;训练难收敛二.CNN的核心原理&#xff1a;两大机制与分层感知逻辑1.核心机制1&#xff1a;局部连接&…

用 SPL 编写阿里云 FC2.0 函数

前言 在数字化转型持续加速的背景下&#xff0c;企业越来越多地将业务逻辑以服务化方式部署至云端。阿里云函数计算&#xff08;Function Compute&#xff0c;简称FC&#xff09;作为一种无服务器计算平台&#xff0c;屏蔽了底层资源运维的复杂性&#xff0c;使开发者能够专注…

AR 巡检与普通巡检有哪些区别,有哪些优势|阿法龙XR云平台

AR 巡检&#xff08;增强现实巡检&#xff09;与普通巡检&#xff08;传统人工巡检&#xff09;在技术应用、效率、准确性等多个维度存在显著差异&#xff0c;具体区别如下&#xff1a; 1. 巡检方式更智能 普通巡检&#xff1a;依赖人工现场观察&#xff0c;主要通过眼看、手…

Java中的volatile关键字详解

核心作用&#xff1a;解决可见性和有序性问题volatile 的主要作用可以归结为两点&#xff1a;1.保证变量的可见性 和 禁止指令重排序。2.它提供了一种轻量级的同步机制&#xff0c;3.但需要注意的是&#xff0c;它不能保证原子性。保证可见性&#xff1a;什么是可见性问题&…

【Linux】MySQL数据目录迁移步骤(含流程图踩坑经验)

在生产环境中&#xff0c;有时候你会遇到一些看似简单但实际上很棘手的问题。最近我就碰到了一次典型的服务器磁盘空间告急&#xff0c;最后通过迁移 MySQL 数据目录成功解决了问题。本文记录整个过程&#xff0c;包括我的分析思路、迁移步骤、踩坑和经验总结&#xff0c;希望对…

数据驱动下的连锁模式复制:技术科普与方法论深度解析

前言在连锁经营的赛道上&#xff0c;“复制”是核心命题&#xff0c;但绝非简单的“粘贴”。当行业进入数字化深水区&#xff0c;数据驱动正成为连锁模式突破增长瓶颈、实现高效复制的“隐形引擎”。本文将从技术科普与方法论心得两个维度&#xff0c;深度拆解数据如何重塑连锁…

数据库学习MySQL系列2、Windows11系统安装MySQL方法一.msi安装详细教程

方法一.msi安装详细教程 Windows系统下MySQL——.msi安装详细教程&#xff08;默认--只安装服务端“Server only”&#xff09;MySql官网地址&#xff1a;https://www.mysql.com/&#xff1b;快速下载通道请单击→ No thanks, just start my download.ps&#xff1a;其他资源(…

html+css+vue实现增删改查

代码如下&#xff1a;<!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>优化版 Vue.js CRUD 示例&l…

(计算机网络)DNS解析流程及两种途径

在计算机网络中&#xff0c;DNS&#xff08;Domain Name System&#xff09;用于 将域名解析为 IP 地址。一个完整的解析过程涉及 递归查询、迭代查询&#xff0c;以及多个关键角色&#xff08;LDNS、本地域名服务器&#xff1b;根服务器&#xff1b;顶级域名服务器&#xff1b…

数据结构——队列(Java)

一.基本概念 队列用来存储逻辑关系为“一对一”的数据&#xff0c;是一种“特殊”的线性存储结构。 特点&#xff1a; •先进先出&#xff1a;队列中元素的添加&#xff08;入队enqueue&#xff09;和移除&#xff08;出队dequeue&#xff09;遵循先进先出的原 则。 •端点&…