Ismail Ben Alla

JointVC

Disentangled Voice Conversion, Trained in One Run

Audio · Oct 2026 · In progress

Teaching one network what is said and another who says it, at the same time, without letting them mix.

Built withPyTorchONNXHugging Face Transformerstorchaudio

JointVC — overview

Overview

JointVC is the research I am working on now, and I am still discovering it. It is a tiny streaming any-to-any voice converter in the StreamVC family: a content encoder hears what is said, a speaker encoder hears who says it, and a decoder rebuilds the speech in any voice, 20 ms at a time.

The concept at its heart is disentanglement: the content must carry the words but no trace of the speaker, and the speaker embedding must carry the voice but not the words. StreamVC gets there by training in stages. My idea is to train all three networks together, in one run, with no target audio, keep them apart with explicit leakage defences, and measure the leak instead of claiming it is gone.

This project is private for now: I am still exploring it and see potential in it, so the code stays closed until the open questions are answered.

The question

Can a voice converter learn what is said and who says it in one joint training run, with no target audio, and still keep the two apart?

Key features

Tech stack

What I learned

Limitations

Related projects