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
英文地址,請注明出處:http://en.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;遵循先進先出的原 則。 ?端點&…