Ismail Ben Alla

PairVC

Conversion de voix en temps réel apprise sur des paires

Audio · oct. 2026 · En cours

Votre voix vers une voix cible, en direct : un petit réseau causal entraîné sur les paires d’un gros enseignant.

Construit avecPyTorchONNXStreamlitJavaScriptKaggle

PairVC — vue d’ensemble

Présentation

PairVC transforme votre voix en l’une de plusieurs voix cibles pendant que vous parlez. C’est un réseau entièrement causal, de forme d’onde à forme d’onde, qui convertit l’audio 20 ms à la fois sur un seul cœur de CPU.

Il est entraîné sur des paires : chaque extrait source est accompagné de la même parole déjà convertie dans chaque voix cible par un gros enseignant lent, hors ligne. PairVC apprend à reproduire la sortie de l’enseignant et obtient ainsi ses voix pour une fraction du coût.

Il prolonge le travail de conversion de voix en temps réel commencé pendant mon mémoire de master (NatVC).

La question

Un petit réseau en streaming peut-il apprendre les voix d’un gros convertisseur lent assez bien pour tourner en direct sur un CPU ?

Fonctionnalités clés

Comment ça marche

  1. Des paires produites par un enseignant

    Un gros convertisseur hors ligne transforme chaque extrait source dans chaque voix cible ; ces paires forment le jeu d’entraînement.

  2. Un petit réseau causal

    Un encodeur convolutif causal compresse l’audio 320 fois en trames de 64 dimensions (une toutes les 20 ms), et un décodeur symétrique reconstruit la forme d’onde dans la voix cible, conditionné par FiLM.

  3. Conversion en direct

    Exporté en ONNX, le modèle traite le micro par blocs de 20 ms, en Python ou directement dans le navigateur.

Exemples

L’extrait de validation à chaque évaluation : la source, PairVC à cette étape, l’enseignant et la perte de validation.
Spectrogrammes log-mel sur un locuteur jamais vu à l’entraînement : avant et après l’entraînement, et l’enseignant, pour les deux voix cibles.
Spectrogrammes log-mel sur un locuteur jamais vu à l’entraînement : avant et après l’entraînement, et l’enseignant, pour les deux voix cibles.
L’application Streamlit qui convertit un micro en direct, 20 ms à la fois, avec sa latence mesurée.
L’application Streamlit qui convertit un micro en direct, 20 ms à la fois, avec sa latence mesurée.

Stack technique

Ce que j’ai appris

Limites

Projets liés