SoulX-Podcast README

The project's README from github.com/Soul-AILab/SoulX-Podcast. As one markdown file: README.md.

SoulX-Podcast

Official inference code for
SoulX-Podcast: Towards Realistic Long-form Podcasts with Dialectal and Paralinguistic Diversity

SoulX-Podcast_Logo

version HF-model technical report HF-demo Apache-2.0

SoulX-Podcast: Towards Realistic Long-form Podcasts with Dialectal and Paralinguistic Diversity

Overview

SoulX-Podcast is designed for podcast-style multi-turn, multi-speaker dialogic speech generation, while also achieving superior performance in the conventional monologue TTS task.

To meet the higher naturalness demands of multi-turn spoken dialogue, SoulX-Podcast integrates a range of paralinguistic controls and supports both Mandarin and English, as well as several Chinese dialects, including Sichuanese, Henanese, and Cantonese, enabling more personalized podcast-style speech generation.

Key Features 🔥


Demo Examples

Zero-Shot Podcast Generation

https://github.com/user-attachments/assets/a9d3da2a-aaff-49d0-a3c7-2bd3c0b6d5eb

Cross-Dialectal Zero-Shot Podcast Generation

🎙️ All prompt audio samples used in the following generations are in Mandarin.

🎙️ 以下音频生成采用的参考音频全部为普通话。

https://github.com/user-attachments/assets/982d799b-9f91-40a3-ab64-9e165166f788

https://github.com/user-attachments/assets/d0a59d7b-27c9-4b47-8242-f7630814c1e9

https://github.com/user-attachments/assets/a53ff35c-1e2b-42d9-9ef4-279164574646

For more examples, see demo page.

🚀 News

Install

Clone and Install

Here are instructions for installing on Linux.

git clone [email protected]:Soul-AILab/SoulX-Podcast.git
cd SoulX-Podcast
conda create -n soulxpodcast -y python=3.11
conda activate soulxpodcast
pip install -r requirements.txt
# If you are in mainland China, you can set the mirror as follows:
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com
cd runtime/vllm
docker build -t soulxpodcast:v1.0 .
# Mounts the host directory at LOCAL_RESOURCE_PATH to CONTAINER_RESOURCE_PATH in the container, enabling file sharing between the host system and container. To access the web application, add -p LOCAL_PORT:CONTAINER_PORT
# example: docker run -it --runtime=nvidia  --name soulxpodcast  -v /mnt/data:/mnt/data -p 7860:7860 soulxpodcast:v1.0
docker run -it --runtime=nvidia  --name soulxpodcast  -v LOCAL_RESOURCE_PATH:CONTAINER_RESOURCE_PATH soulxpodcast:v1.0

Model Download

pip install -U huggingface_hub

# base model
huggingface-cli download --resume-download Soul-AILab/SoulX-Podcast-1.7B --local-dir pretrained_models/SoulX-Podcast-1.7B

# dialectal model
huggingface-cli download --resume-download Soul-AILab/SoulX-Podcast-1.7B-dialect --local-dir pretrained_models/SoulX-Podcast-1.7B-dialect

Download via python:

from huggingface_hub import snapshot_download

# base model
snapshot_download("Soul-AILab/SoulX-Podcast-1.7B", local_dir="pretrained_models/SoulX-Podcast-1.7B") 

# dialectal model
snapshot_download("Soul-AILab/SoulX-Podcast-1.7B-dialect", local_dir="pretrained_models/SoulX-Podcast-1.7B-dialect") 

Download via git clone:

mkdir -p pretrained_models

# Make sure you have git-lfs installed (https://git-lfs.com)
git lfs install

# base model
git clone https://huggingface.co/Soul-AILab/SoulX-Podcast-1.7B pretrained_models/SoulX-Podcast-1.7B

# dialectal model
git clone https://huggingface.co/Soul-AILab/SoulX-Podcast-1.7B-dialect pretrained_models/SoulX-Podcast-1.7B-dialect

Basic Usage

You can simply run the demo with the following commands:

# dialectal inference
bash example/infer_dialogue.sh

WebUI

You can simply run the webui with the following commands:

# Base Model:
python3 webui.py --model_path pretrained_models/SoulX-Podcast-1.7B

# If you want to experience dialect podcast generation, use the dialectal model:
python3 webui.py --model_path pretrained_models/SoulX-Podcast-1.7B-dialect

TODOs

Citation

@misc{SoulXPodcast,
  title        = {SoulX-Podcast: Towards Realistic Long-form Podcasts with Dialectal and Paralinguistic Diversity},
  author       = {Hanke Xie and Haopeng Lin and Wenxiao Cao and Dake Guo and Wenjie Tian and Jun Wu and Hanlin Wen and Ruixuan Shang and Hongmei Liu and Zhiqi Jiang and Yuepeng Jiang and Wenxi Chen and Ruiqi Yan and Jiale Qian and Yichao Yan and Shunshun Yin and Ming Tao and Xie Chen and Lei Xie and Xinsheng Wang},
  year         = {2025},
  archivePrefix={arXiv},
  url          = {https://arxiv.org/abs/2510.23541}
}

License

We use the Apache 2.0 license. Researchers and developers are free to use the codes and model weights of our SoulX-Podcast. Check the license at LICENSE for more details.

Acknowledge

Usage Disclaimer

This project provides a speech synthesis model for podcast generation capable of zero-shot voice cloning, intended for academic research, educational purposes, and legitimate applications, such as personalized speech synthesis, assistive technologies, and linguistic research.

Please note:

Do not use this model for unauthorized voice cloning, impersonation, fraud, scams, deepfakes, or any illegal activities.

Ensure compliance with local laws and regulations when using this model and uphold ethical standards.

The developers assume no liability for any misuse of this model.

We advocate for the responsible development and use of AI and encourage the community to uphold safety and ethical principles in AI research and applications. If you have any concerns regarding ethics or misuse, please contact us.

Contact Us

If you are interested in leaving a message to our work, feel free to email [email protected] or [email protected] or [email protected] or [email protected]

You’re welcome to join our WeChat group for technical discussions, updates.


WeChat Group QR Code

Star History

Star History Chart

SoulX-Podcast (Soul-AILab/SoulX-Podcast)

Searching Database…

What is this?SoulX-Podcast is an inference codebase that generates realistic, long-form, multi-speaker podcast-style dialogue from text, including paralinguistic effects and several Chinese dialects.
Is this a ready-made app or code I run myself?It is a research codebase, not a packaged app: you clone the repo, download the model checkpoints, and run the provided scripts or a WebUI yourself.
How do I get it running?Clone the repository, install Conda, create the Conda environment, then download the model checkpoints from Hugging Face (via Python script or git clone) before running the demo or WebUI scripts.
What do I need before installing?You need Conda, a Linux machine, and the SoulX-Podcast model checkpoints from Hugging Face; an optional modified build of vLLM 0.10.1 can be used for faster inference.
Any install pitfalls or missing features right now?The install instructions only cover Linux, and streaming inference is still listed as an open TODO rather than something available today.
Who is this meant for?It targets researchers and developers working on podcast-style TTS and voice cloning, with use restricted to academic, educational, and other legitimate applications per the project's disclaimer.
What are the license terms?The code is released under Apache 2.0, but the authors explicitly prohibit misuse such as unauthorized voice cloning, impersonation, fraud, or deepfakes.
What dialects does it support besides Mandarin and English?It supports several Chinese dialects, including Sichuanese, Henanese, and Cantonese, for zero-shot voice cloning and speech generation.
Can it add natural effects like laughter to the speech?Yes, it includes paralinguistic tags for effects such as laughter and sighs to make generated dialogue sound more realistic.
Is there a web interface, or only command-line scripts?There is a WebUI for easy inference in addition to the command-line demo scripts for monologue TTS.
Can inference be accelerated or containerized?Yes, the project ships a modified vLLM 0.10.1 build for acceleration and, as of November 2025, also supports running via Docker with vLLM.
Creator
Soul-AILab
Size
185.2 MB
Stars
3.6K
Updated
CommitDec 11
Age
1y
Commits · 90 Days