SoulX-Podcast 本地部署与WebUI体验教程(支持方言播客生成)

SoulX-Podcast 本地部署与WebUI体验教程(支持方言播客生成)

关键词:SoulX-Podcast、AI播客生成、TTS、多说话人对话、方言支持、Gradio WebUI

一、项目简介

SoulX-Podcast 是 Soul AI Lab 团队开源的一个高保真播客生成推理代码库,专为从文本生成逼真的长篇播客设计。它支持多轮多说话人对话式语音生成,同时在传统单人 TTS 任务上也表现出色。

核心亮点:

  • 支持长达90分钟以上的连续对话生成,声音稳定、切换自然。
  • 支持旁白语言控制(笑声、叹气、呼吸等),极大提升真实感。
  • 支持中英双语+中文方言(四川话、河南话、粤语)。
  • 零样本跨方言声音克隆:用普通话参考音频即可生成对应方言的克隆声音。
  • 基于 Qwen3-1.7B 大模型,参数量约1.7B。

官方仓库:https://github.com/Soul-AILab/SoulX-Podcast
在线Demo:https://soul-ailab.github.io/soulx-podcast/
模型下载:Hugging Face 或 ModelScope

本文基于用户实际部署经验,详细介绍本地部署 + Gradio WebUI 启动的全过程,尤其适合在云服务器(如云GPU平台)上运行,并实现公网访问。

二、环境准备

推荐使用 Python 3.10 或 3.11 环境。项目依赖较多,建议使用虚拟环境。

https://modelscope.cn/my/mynotebook/preset

1. 克隆仓库

gitclone https://github.com/Soul-AILab/SoulX-PodcastcdSoulX-Podcast

2. 创建虚拟环境(推荐)

# 如果系统没有 Python 3.10,可先安装sudoaptupdatesudoaptinstall-y python3.10 python3.10-venv# 创建并激活虚拟环境python3.10 -m venv .venvsource.venv/bin/activate

3. 安装依赖

pipinstall-r requirements.txt

注意:如果网络慢或在国内,可添加国内镜像:

pipinstall-r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com

三、模型下载

项目提供两个模型:

  • 基础模型:SoulX-Podcast-1.7B(支持中英)
  • 方言模型:SoulX-Podcast-1.7B-dialect(额外支持四川话、河南话、粤语)

方法一:使用 ModelScope(国内更快)

frommodelscopeimportsnapshot_download# 基础模型snapshot_download("Soul-AILab/SoulX-Podcast-1.7B",local_dir="pretrained_models/SoulX-Podcast-1.7B")# 方言模型(推荐用于播客体验)snapshot_download("Soul-AILab/SoulX-Podcast-1.7B-dialect",local_dir="pretrained_models/SoulX-Podcast-1.7B-dialect")

方法二:使用 Hugging Face CLI(官方推荐)

pipinstall-U huggingface_hub huggingface-cli download --resume-download Soul-AILab/SoulX-Podcast-1.7B --local-dir pretrained_models/SoulX-Podcast-1.7B huggingface-cli download --resume-download Soul-AILab/SoulX-Podcast-1.7B-dialect --local-dir pretrained_models/SoulX-Podcast-1.7B-dialect

模型较大(约10GB+),建议在良好网络环境下下载,支持断点续传。

四、启动 Gradio WebUI

项目内置webui.py使用 Gradio 实现可视化界面,非常方便。

基本启动(本地访问)

# 使用方言模型(推荐)python webui.py --model_path pretrained_models/SoulX-Podcast-1.7B-dialect

默认会在 http://127.0.0.1:7860 启动。

云服务器公网访问配置

如果在云服务器(如 RunPod、AutoDL、Vast.ai 等)部署,需要对外开放端口并支持分享链接。

步骤1:修改 webui.py 中的 launch 参数

打开webui.py,找到类似以下代码行:

page.launch(share=False,server_name="0.0.0.0",server_port=args.port)

修改为:

page.launch(share=True,server_name="0.0.0.0",server_port=7860)# 或你指定的端口
  • server_name="0.0.0.0":监听所有IP,实现外网访问。
  • share=True:生成 Gradio 公网链接(需联网)。
步骤2:frpc 内网穿透(可选,更稳定)

如果平台不支持直接公网端口,可使用 frpc。

# 下载 frpc(Linux amd64)wgethttps://cdn-media.huggingface.co/frpc-gradio-0.3/frpc_linux_amd64# 复制到 Gradio 缓存目录mkdir-p /root/.cache/huggingface/gradio/frpc/cpfrpc_linux_amd64 /root/.cache/huggingface/gradio/frpc/frpc_linux_amd64_v0.3

然后再次运行:

python webui.py --model_path pretrained_models/SoulX-Podcast-1.7B-dialect

启动成功后,会输出类似:

Running on local URL: http://0.0.0.0:7860 Running on public URL: https://xxxx.gradio.live

五、使用说明

进入 WebUI 后:

  1. 上传参考音频(用于声音克隆)。
  2. 输入对话脚本(支持多说话人格式,如 Speaker1: xxx)。
  3. 选择语言/方言、添加旁白标签(如<|laughter|>)。
  4. 点击生成,即可得到高质量播客音频。

提示

  • 方言生成必须使用-dialect模型。
  • 长对话建议分段生成,避免显存溢出。
  • 支持零样本克隆:只需几秒参考音频。

六、常见问题排查

  • 显存不足:1.7B 模型在 24GB GPU 上可流畅运行,长对话可降低 batch。
  • 依赖报错:确保在虚拟环境中安装 requirements。
  • 无声音输出:检查模型路径是否正确。
  • Gradio 分享失败:检查网络,或使用 frpc。

七、总结

SoulX-Podcast 是目前开源领域最强的多说话人长篇播客生成模型之一,尤其在方言和情感表达上领先。通过上述步骤,你可以在本地或云端快速搭建属于自己的 AI 播客生成器,轻松制作双人/多人对话节目。

感兴趣的朋友快去试试吧!欢迎在评论区分享你的生成效果~

参考资料

  • 官方 GitHub:https://github.com/Soul-AILab/SoulX-Podcast
  • Demo 页面:https://soul-ailab.github.io/soulx-podcast/
  • 论文:https://arxiv.org/abs/2510.23541

(完)

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

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

相关文章

亲测好用!9款AI论文平台测评:研究生毕业论文必备

亲测好用&#xff01;9款AI论文平台测评&#xff1a;研究生毕业论文必备 2026年AI论文平台测评&#xff1a;为何值得一看 在当前学术研究日益数字化的背景下&#xff0c;研究生群体对高效、可靠的论文辅助工具需求愈发迫切。无论是选题构思、文献检索&#xff0c;还是内容撰写与…

04.深入闭包和js函数的this指向跟规则

闭包的内存泄漏测试 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title> </…

04.深入闭包和js函数的this指向跟规则

闭包的内存泄漏测试 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title> </…

大模型面试 请分别说说你对 DeepSeek -V3和 DeepSeek -R1的理解,它们在架构或训练策略上有何关键差异?

1.请分别说说你对 DeepSeek -V3和 DeepSeek -R1的理解&#xff0c;它们在架构或训练策略上有何关键差异&#xff1f; 已思考 12s 下面按“我怎么理解它是什么 / 关键技术点 / 与另一者的差异”来分别讲 DeepSeek-V3 和 DeepSeek-R1&#xff0c;并总结它们在架构与训练策略上的…

java BIO、NIO、AIO用法样例

1. BIO (Blocking I/O) - 同步阻塞 I/O BIO 是传统的网络编程模型&#xff0c;每个连接对应一个线程&#xff0c;当线程执行读/写操作时会被阻塞&#xff0c;直到数据就绪。 示例&#xff1a;BIO 服务器 import java.net.*; import java.io.*;public class BioServer {publi…

java垃圾收集 minorgc majargc fullgc

核心概念总览 这三种 GC 类型的本质区别在于回收的堆内存区域和触发原因。GC 类型别名回收区域触发原因特点Minor GCYoung GC只回收年轻代 (Eden Survivor)Eden 区空间不足非常频繁&#xff0c;速度通常很快&#xff0c;使用复制算法Major GCOld GC只回收老年代老年代空间不足…

基于RK3399Pro与RK3568的车载防撞方案:为货车泥头车安全护航

rk3399pro&#xff0c;rk3568&#xff0c;车载方案设计&#xff0c;4路AHD-1080P摄像头输入&#xff0c;防撞识别&#xff0c;助力货车泥头车安全运输&#xff01;在货运行业中&#xff0c;货车与泥头车的安全运输至关重要。今天咱就聊聊基于RK3399Pro和RK3568芯片的车载方案设…

超详细逻辑回归解说

逻辑回归是用来做“分类”的模型&#xff08;比如判断“是不是垃圾邮件”“病人有没有患病”“用户会不会点击广告”&#xff09;&#xff0c;而非回归。它的核心是&#xff1a;用“概率”的方式&#xff0c;把线性回归的输出&#xff08;连续值&#xff09;转化为“是/否”的分…

超声波传感器(HC-SR04)与Arduino Uno及Mixly使用

【结合AI智能体学习记录】一、&#xff08;HC-SR04&#xff09;超声波传感器工作原理&#xff1a;超声波传感器和蝙蝠的定位原理一致&#xff0c;核心是通过计算超声波往返时间来换算距离&#xff1a;1. 触发发射&#xff1a;模块的Trig引脚接收到高电平信号后&#xff0c;会自…

学霸同款2026TOP10AI论文网站:本科生毕业论文神器测评

学霸同款2026TOP10AI论文网站&#xff1a;本科生毕业论文神器测评 2026年学术写作工具测评&#xff1a;为何需要这份榜单&#xff1f; 随着人工智能技术的不断进步&#xff0c;AI论文网站逐渐成为高校学生和研究人员的重要辅助工具。然而&#xff0c;面对市场上琳琅满目的选择&…

react组件内添加一个全局点击时间,点击函数能区分是否是某个特定的id的dom触发的

在 React 组件内添加一个全局点击事件&#xff0c;并判断是否是某个特定 id 的 DOM 触发&#xff0c;可以这样实现&#xff1a; 实现思路 在组件 mount 时&#xff08;useEffect&#xff09;&#xff0c;用 document.addEventListener 注册全局点击事件。回调函数中通过 event.…

.NET 某RFID标签打印客户端 崩溃分析

崩溃分析1. 为什么会崩溃双击打开dump&#xff0c;windbg会自动定位到崩溃的上下文&#xff0c;这一点我比较喜欢&#xff0c;有的时候也省去了用 !analyze -v 无趣的等待&#xff0c;参考输出如下&#xff1a;This dump file has an exception of interest stored in it. The …

游戏打不开、程序闪退怎么办?有效的DLL修复工具推荐,一键拯救你的电脑

“由于找不到MSVCP140.dll&#xff0c;无法继续执行代码。”“应用程序无法正常启动(0xc000007b)。”相信许多电脑用户都遇到过类似的弹窗警告&#xff0c;尤其是在运行新安装的游戏或专业软件时。这些令人头疼的问题&#xff0c;十有八九都指向同一个“元凶”——C运行库的缺失…

风光柴储多目标联合调度问题探索

风光柴储多目标联合调度问题 联合调度分析各部分消纳比例&#xff0c;目标各部分成本最小和排放最小。 约束各部荷电状态&#xff0c;功率平衡等等在当今能源转型的大背景下&#xff0c;风光柴储多目标联合调度成为了热门话题。这种联合调度旨在实现能源的高效利用&#xff0c;…

实体门店新纪元:从“单点AI尝试”到“系统智能体”的转型之路

近两年来&#xff0c;实体经营领域普遍感受到一种“矛盾现象”&#xff1a;技术在不断升级&#xff0c;设备在持续更新&#xff0c;AI话题也频繁出现在各类讨论中&#xff0c;然而&#xff0c;许多门店的经营压力并未因此减轻&#xff0c;反而呈现出更加复杂的挑战。客流获取成…

Oracle 高风险锁等待快速诊断手册

一、手册使用说明1.1 适用场景生产库出现会话阻塞、业务卡顿、事务超时监控工具&#xff08;如OEM、Zabbix&#xff09;告警“锁等待次数突增”“Concurrency等待占比超20%”出现高风险锁事件&#xff08;如enq: CI - contention、enq: TX - allocate ITL entry&#xff09;1.2…

从“经验驱动”到“系统智能”:实体门店经营的结构性升级

当前实体经营领域&#xff0c;普遍存在一个深层挑战&#xff1a;许多门店尽管在工具、设备乃至营销手段上不断更新&#xff0c;但其核心经营逻辑仍停留在较为传统的模式。获客依赖广告与促销&#xff0c;服务依靠人员经验与话术&#xff0c;客户离店后关系难以持续&#xff0c;…

UVM-phase中的object机制

在class uvm_phase extends uvm_object中1. 类的作用和结构这个类是 uvm_phase&#xff0c;它管理测试平台中阶段的 objection 机制。UVM 使用 objection 机制来控制仿真的执行时间&#xff0c;防止测试提前结束。核心成员&#xff1a;systemveriloguvm_objection phase_done; …

AI+IoT双轮驱动:构建风电设备预测性维护数字孪生体的全栈技术实践

凌晨三点&#xff0c;内蒙古某大型风电场运维主管王工接到SCADA系统告警&#xff1a;“#23风机异常停机”。他迅速调取振动频谱图&#xff0c;却发现数据杂乱无章——是主轴承即将失效&#xff1f;还是传感器松动导致误报&#xff1f;抑或只是电网波动引发的瞬时保护动作&#…