Noureddine RAMDI / MeanVC: real-time zero-shot voice conversion with mean flows and diffusion transformers

Created Mon, 04 May 2026 10:23:02 +0000 Modified Sat, 23 May 2026 20:41:27 +0000

ASLP-lab/MeanVC

MeanVC tackles a common pain point in voice conversion: achieving real-time timbre transfer without sacrificing the linguistic content of speech. Unlike many diffusion-based methods that require iterative denoising and thus introduce latency unsuitable for live applications, MeanVC offers a zero-shot voice conversion system capable of single-step inference. This makes it a practical solution for real-time voice conversion scenarios like live microphone input.

Real-time zero-shot voice conversion with mean flows and diffusion transformers

MeanVC is a Python-based system designed for zero-shot voice conversion, meaning it can convert voices without requiring retraining on the target speaker’s data. The core innovation is an architecture that combines a diffusion transformer with chunk-wise autoregressive denoising and mean flows.

Traditional diffusion models generate high-quality outputs by iteratively denoising, which is computationally expensive and adds latency. Mean flows, however, enable the system to perform single-step generation by modeling the mean of the denoising process, reducing inference time drastically.

The system supports two modes: real-time conversion capturing audio from a microphone and offline batch processing for pre-recorded files. It works by extracting mel spectrograms, bottleneck features (representing linguistic content), and speaker embeddings from input audio. These features feed into the diffusion transformer model that performs the timbre transfer while preserving the speech content.

The project is implemented in Python, with dependencies listed in requirements.txt. It leverages pretrained models for voice conversion, vocoding, automatic speech recognition (ASR), and speaker verification. The pre-trained models are downloaded via provided scripts, except for one speaker verification model that must be manually downloaded.

architecture and technical strengths driving real-time performance

What stands out in MeanVC is its use of mean flows combined with chunk-wise autoregressive denoising within a diffusion transformer framework. This design enables single-step inference, which is a significant departure from the usual iterative denoising loops in diffusion models.

The chunk-wise autoregressive approach processes audio in manageable segments, allowing streaming inference that handles continuous audio input without waiting for the entire sequence. This is critical for real-time applications where latency can make or break user experience.

The diffusion transformer architecture under the hood balances model complexity and efficiency. By focusing on mean flows, the method reduces the parameter footprint and inference cost compared to existing diffusion-based voice conversion systems.

The tradeoff here is that while the single-step approach speeds up inference, it may limit the granularity of denoising iterations, potentially impacting the fine detail fidelity compared to multi-step diffusion models. However, for real-time applications, this tradeoff is reasonable and well-justified.

From a code perspective, the repository maintains clear modularity: feature extraction, model inference, and audio I/O are well separated. The real-time script prompts the user to select audio input/output devices, which enhances usability. The codebase also supports offline batch conversion, making it flexible for different workflows.

quick start: running real-time and offline voice conversion

The project provides a straightforward setup process:

# Install dependencies
pip install -r requirements.txt

Next, download the pre-trained models with:

python download_ckpt.py

Note that the speaker verification model (wavlm_large_finetune.pth) must be manually downloaded from a Google Drive link and placed in src/runtime/speaker_verification/ckpt/.

For real-time voice conversion from your microphone:

python src/runtime/run_rt.py --target-path "path/to/target_voice.wav"

Here, --target-path points to a clean audio sample of the target voice. The script will prompt to select your microphone and speaker devices.

For offline batch processing, configure the paths in scripts/infer_ref.sh and run:

bash scripts/infer_ref.sh

This mode allows converting multiple audio files in a directory using a reference voice.

verdict: practical real-time voice conversion with clear tradeoffs

MeanVC is a solid implementation of zero-shot voice conversion with a focus on real-time usability. Its core strength lies in the mean flows approach enabling single-step inference, which significantly reduces latency compared to traditional diffusion-based methods.

The project is well-suited for developers and researchers interested in real-time voice conversion or exploring diffusion transformer architectures applied to audio. The code is fairly accessible, with clear separation of concerns and scripts for both real-time and offline use cases.

However, the dependency on multiple pretrained models and the need to manually download a speaker verification checkpoint add some friction in setup. Also, while the single-step approach speeds up inference, it may not match the audio quality of slower, iterative diffusion models.

Overall, if your use case demands low-latency voice conversion and you are comfortable managing Python dependencies and audio device configuration, MeanVC is worth trying. It solves a real problem in voice conversion by addressing the latency bottleneck through an elegant architectural choice.


→ GitHub Repo: ASLP-lab/MeanVC ⭐ 268 · Python