Retour au Blog
music||8 min de lecture

J'ai Execute un Reseau Neuronal dans un Onglet de Navigateur pour Separer une Chanson en Stems

AR
Aral Roca

Créateur de Kitmul

Une console de mixage dans un studio d'enregistrement avec un eclairage chaleureux
Une console de mixage dans un studio d'enregistrement avec un eclairage chaleureux

La semaine derniere, un ami m'a envoye un memo vocal. "J'ai trouve une ligne de basse incroyable dans un vieux morceau soul," a-t-il dit, "mais je ne peux pas l'isoler sans payer 30 dollars par mois pour un service cloud qui veut mon email, ma carte de credit et probablement mon premier-ne."

Il n'a pas tort. Le paysage de la separation de stems audio en 2026 est un bazar de murs d'abonnement et d'envois vers le cloud. La plupart des outils envoient votre audio vers un GPU distant, le traitent et renvoient les stems. Vous obtenez des resultats en minutes, certes, mais votre idee de remix inedite vit desormais sur le serveur de quelqu'un d'autre.

Je voulais voir si tout le pipeline pouvait tourner localement, dans un onglet de navigateur, avec zero requetes reseau apres le chargement initial de la page.

Il s'avere que oui.

Ce qu'est reellement la separation de stems

Pour ceux qui ne connaissent pas : la separation de sources (aussi appelee demixing ou unmixing) est le processus de decomposition d'un signal audio mixe en ses sources constitutives. Un morceau pop typique est la somme des voix, de la batterie, de la basse et de tout le reste (guitares, synthetiseurs, claviers, cordes). Le travail de l'IA est d'inverser cette somme.

L'etat de l'art remonte a Demucs de Meta, un modele hybride qui opere simultanement dans le domaine temporel et frequentiel. Il a ete entraine sur des milliers d'enregistrements multipistes ou les stems individuels sont connus, apprenant ainsi les empreintes spectrales qui distinguent une grosse caisse d'une basse d'une voix humaine.

Le point interessant est que Demucs v4 (htdemucs) utilise une architecture transformer fusionnee avec un U-Net convolutionnel. Le transformer gere les dependances a longue distance (comme une note vocale soutenue pendant un fill de batterie), tandis que le U-Net capture les motifs spectraux locaux. Le resultat est significativement moins de "saignement" entre les stems compare aux approches precedentes.

L'executer dans le navigateur avec ONNX + WebAssembly

Le Audio Stem Splitter sur Kitmul charge une version ONNX exportee du modele Demucs et execute l'inference entierement via ONNX Runtime Web supporte par WebAssembly. Pas de serveur. Pas d'envoi. Les octets audio ne quittent jamais votre machine.

L'interface du Audio Stem Splitter de Kitmul montrant la zone d'upload et le panneau de stems generes
L'interface du Audio Stem Splitter de Kitmul montrant la zone d'upload et le panneau de stems generes

Voici ce qui se passe quand vous deposez un fichier audio :

  1. Le fichier est decode en PCM brut via decodeAudioData de la Web Audio API
  2. Si le taux d'echantillonnage n'est pas 44100 Hz, il est reechantillonne via un OfflineAudioContext
  3. L'audio est fragmente et alimente au modele ONNX dans un Web Worker pour ne pas bloquer le fil de l'UI
  4. Le modele produit quatre masques spectraux (voix, batterie, basse, autre)
  5. Chaque masque est applique au spectrogramme original pour produire des stems isoles
  6. Les stems sont encodes en WAV pour telechargement

Tout le pipeline est embarrassingly parallel en theorie, mais en pratique vous etes limite par le fil unique WASM et la RAM disponible. Un morceau de 4 minutes prend environ 3-5 minutes sur un laptop moderne. Pas rapide, mais pas mal pour executer un reseau neuronal dans un onglet de navigateur.

L'argument de confidentialite que personne ne souleve

Chaque fois que vous envoyez un morceau a LALAL.AI, Moises ou Stem Roller, vous transmettez un audio potentiellement protege par le droit d'auteur (ou votre propre travail inedit) a un serveur tiers. Leurs politiques de confidentialite disent generalement qu'ils "ne stockent pas vos fichiers de maniere permanente," mais le mot operatif est "permanente."

Avec le traitement cote client, la question de la retention des donnees est sans objet. Il n'y a rien a retenir. Votre navigateur telecharge les poids du modele une fois (mis en cache pour les visites futures), execute les calculs localement et produit des fichiers de sortie qui n'existent que dans la memoire de votre appareil jusqu'a ce que vous les sauvegardiez explicitement.

Cela importe particulierement pour :

  • Les producteurs travaillant avec du materiel inedit
  • Les DJs preparant des sets avec des pistes protegees
  • Les professeurs de musique creant des pistes de pratique pour les etudiants
  • Les analystes audio judiciaire travaillant avec des enregistrements sensibles

Un studio de musique avec des instruments et un eclairage ambiant chaleureux
Un studio de musique avec des instruments et un eclairage ambiant chaleureux

Cas d'utilisation pratiques auxquels je ne m'attendais pas

Le cas d'utilisation evident est le karaoke (supprimer les voix, chanter par-dessus). Mais j'ai vu des gens utiliser la separation de stems pour des choses que je n'avais pas envisagees :

Aide a la transcription. Une pianiste de jazz m'a raconte qu'elle separe le stem de piano d'enregistrements classiques pour transcrire les voicings plus precisement. Quand on peut entendre le piano isolement, on capte des details harmoniques qui se perdent dans le mix complet.

Archeologie de samples. Les producteurs hip-hop fouillent dans des rips de vinyle a la recherche de boucles. Isoler le break de batterie d'un morceau funk des annees 70 vous donne un sample propre sans avoir a egaliser les cuivres a la main.

Accessibilite. Quelqu'un malentendant a mentionne que renforcer le stem vocal et attenuer l'instrumental rend le contenu riche en dialogue (podcasts avec lits musicaux, scenes de films) significativement plus clair.

Tests A/B de mixages. Si vous apprenez a mixer, separer un morceau professionnel en stems vous permet de reconstruire le mix a zero dans votre DAW et comparer vos choix avec l'equilibre original.

Les limites du modele (avis honnete)

La separation n'est pas parfaite. Voici ou le modele a du mal :

  • L'audio tres compresse ou a faible debit produit plus d'artefacts. Commencez avec du MP3 320kbps ou du WAV si possible.
  • Les arrangements denses avec de nombreux instruments superposes saignent davantage dans le stem "autre." Une piste guitare-et-voix seule se separe a merveille ; une production wall-of-sound a la Phil Spector, moins.
  • Les enregistrements mono perdent les indices spatiaux qui aident le modele a distinguer les sources. Le stereo est toujours mieux.
  • Les fichiers tres longs (>10 minutes) mettront a l'epreuve la RAM de votre appareil. La limite de 50 Mo est la pour une raison.

Si vous avez besoin de resultats de qualite studio pour une sortie commerciale, vous voudrez probablement iZotope RX ou le CLI complet de Demucs sur un GPU. Mais pour des workflows rapides, l'exploration creative ou les situations ou la confidentialite compte plus que la perfection, la separation dans le navigateur est veritablement utile.

Concept de partition musicale et visualisation de forme d'onde
Concept de partition musicale et visualisation de forme d'onde

Comment il se compare a la concurrence

Caracteristique Kitmul Stem Splitter LALAL.AI Moises Demucs CLI
Traitement 100% local (navigateur) GPU cloud GPU cloud GPU/CPU local
Prix Gratuit $15-30/mois $4-17/mois Gratuit (OSS)
Confidentialite Aucun envoi Envoi requis Envoi requis Aucun envoi
Configuration Zero Compte + paiement Compte + paiement Python + ffmpeg
Qualite Bonne (ONNX htdemucs) Tres bonne Tres bonne La meilleure (modele complet)
Vitesse 3-5 min/morceau ~30 sec ~1 min ~30 sec (GPU)

Le compromis est clair : vous sacrifiez un peu de vitesse et de qualite marginale pour zero configuration, zero cout et une confidentialite totale. Pour la plupart des workflows non professionnels, c'est le bon choix.

La Web Audio API est plus capable que vous ne le pensez

Construire cela a renforce quelque chose que je ne cesse de decouvrir : le stack audio du navigateur est serieusement sous-estime. Entre AudioContext pour le traitement en temps reel, OfflineAudioContext pour le rendu hors-ligne, AudioWorklet pour du DSP personnalise sur un fil dedie, et maintenant ONNX Runtime Web pour executer des reseaux neuronaux, vous pouvez construire des outils de production audio legitimes qui auraient necessite des applications natives il y a cinq ans.

Essayez-le

Le Audio Stem Splitter est gratuit, fonctionne dans tout navigateur moderne et traite tout localement. Deposez un MP3 ou WAV, attendez quelques minutes et telechargez vos pistes isolees de voix, batterie, basse et instruments.

Si la production musicale vous interesse, le Loop Music Creator (DAW dans le navigateur) et le YouTube Loop Mix (outil DJ double platine) se combinent bien avec les stems separes pour des workflows de remix.

Les trois outils fonctionnent dans votre navigateur. Sans comptes. Sans envois. Sans abonnements.

Partager cet article

Newsletter

Recevez des Conseils Productivité et les Nouveaux Outils en Premier

Rejoignez les créateurs et développeurs qui valorisent la confidentialité. Chaque édition : nouveaux outils, astuces productivité et mises à jour — sans spam.

Accès prioritaire aux nouveaux outils
Désabonnez-vous à tout moment, sans questions