Voice Changer VRChat OSC : Routage Micro et Parametres d’Avatar
Les configurations voice changer VRChat OSC sont la ou la presence d’avatar passe de “sonne different” a “repond comme un vrai personnage.” La plupart des guides s’arretent au routage audio — choisir un voice changer, selectionner le micro virtuel dans VRChat, termine. Cela couvre le son. Mais la couche Open Sound Control de VRChat ouvre un second canal ou l’activite de votre micro anime directement les expressions d’avatar, declenche des sequences d’emotes et pilote des blendshapes de parametres qu’aucun tracker facial n’atteint. Ce guide couvre l’image complete : la chaine audio, le chemin de donnees OSC, le mapping des parametres d’avatar pour le Stream Avatar System, l’automatisation des emotes declenchees par la voix et la configuration de script pratique qui lie tout cela ensemble.
TL;DR
- VRChat utilise deux canaux separes pour la voix : l’entree audio WASAPI (le son de votre micro) et les messages OSC UDP (donnees de parametres pour l’animation d’avatar)
- Un voice changer gere le canal audio ; un script de pont OSC gere le canal de donnees — ils fonctionnent en parallele et ne sont pas en conflit
- La specification Stream Avatar System utilise les parametres float
VoiceVolume,VoiceActivityetVoicePitchpour piloter les blendshapes de bouche/expression sans suivi facial - Vous pouvez declencher des emotes avec des parametres Bool envoyes via OSC sur des evenements vocaux ou des pressions de touches de raccourci dans le systeme de macros du voice changer
- Le port OSC par defaut de VRChat est 9000 UDP ; aucune configuration speciale n’est necessaire sauf si le port 9000 est deja pris
- VoxBooster fonctionne comme couche audio dans cette chaine sans configuration supplementaire de son cote
Comment VRChat gere deux canaux separes pour la voix
Pour comprendre pourquoi l’integration OSC fonctionne comme elle le fait, vous devez voir les deux canaux que VRChat utilise pour la voix separement.
Canal 1 — Audio WASAPI. VRChat capture votre voix via l’API de session audio Windows. Il lit depuis le peripherique microphone que vous avez selectionne dans les Parametres de VRChat sous Microphone. C’est le canal qui delivre le son reel que les autres joueurs entendent. Un voice changer comme VoxBooster s’insere ici au niveau de la couche audio du systeme d’exploitation, de sorte que la voix traitee atteint VRChat sans aucune configuration dans le jeu. VRChat voit simplement un microphone, pas un voice changer.
Canal 2 — Messages OSC UDP. VRChat ecoute sur le port UDP 9000 les paquets Open Sound Control. Ceux-ci transportent des donnees structurees : des noms de parametres d’avatar associes a des valeurs Float, Int, Bool ou String. VRChat prend ces valeurs et les ecrit dans le layer Animator de l’avatar actif en temps reel. Ce canal n’a rien a voir avec l’audio — il s’agit uniquement de piloter des parametres d’animation visuels.
La raison pour laquelle c’est puissant : l’audio seul ne pilote que le systeme de viseme integre de VRChat (l’animation basique bouche-ouverte/fermee par seuillage de volume). OSC vous permet de piloter des parametres personnalises arbitraires — ce qui signifie n’importe quelle blendshape, n’importe quelle transition d’etat, n’importe quel comportement que l’animator de votre avatar a cable.
Un script de pont OSC se place entre ces deux canaux et fait un travail : il ecoute l’activite audio (ou les evenements de touches de raccourci) de votre voice changer et traduit cela en paquets de parametres OSC envoyes a VRChat.
La Chaine Audio : Du Voice Changer a l’Entree Micro VRChat
Avant de toucher a OSC, configurer correctement la chaine audio est le prerequis.
Configurer VoxBooster comme source de capture
VoxBooster enregistre un microphone virtuel au niveau de la couche audio Windows via WASAPI. VRChat lit depuis ce micro virtuel de la meme maniere qu’il lit depuis n’importe quel micro physique. La configuration est :
- Installez VoxBooster et lancez-le. Confirmez que le peripherique microphone virtuel apparait dans les Parametres Windows sous Son et Entree.
- Selectionnez votre microphone physique comme source d’entree de VoxBooster dans l’interface utilisateur VoxBooster.
- Choisissez un preset vocal ou configurez des effets (hauteur, formants, modele IA — selon le personnage que vous construisez).
- Dans VRChat, allez dans Parametres et Microphone et confirmez que le bon peripherique est selectionne.
Le comportement de selection de microphone de VRChat a change en 2023 : il affiche maintenant par defaut les peripheriques d’entree physiques et peut masquer les virtuels selon la presentation du pilote. Si le micro virtuel de VoxBooster n’apparait pas dans la liste VRChat, verifiez que le peripherique est liste comme “Pret” dans les Parametres Son Windows (pas “Desactive” ou “Non branche”).
Parametres Vocaux VRChat qui Comptent pour l’Audio Traite
VRChat applique un post-traitement a toute entree micro qu’il recoit. Pour la voix traitee (qui est deja egalisee et decalee en hauteur), quelques-uns de ces parametres necessitent une attention :
| Parametre VRChat | Par defaut | Recommandation pour Voice Changer |
|---|---|---|
| Gate de volume microphone | Actif | Baisser le seuil ou desactiver — l’audio traite peut saturer le gate |
| Portee de decroissance vocale | 25m | Conserver par defaut ; c’est la proximite, pas le traitement |
| Voix spatialisee | Actif | Garder actif ; ajoute la presence VR independamment de l’effet vocal |
| Autoriser le remplacement audio d’avatar | Parametre utilisateur | Pertinent uniquement si vous portez des avatars qui remplacent les parametres micro |
Le gate de volume est le point de defaillance le plus courant. VRChat utilise un seuil de volume en dessous duquel il coupe votre microphone — cela previent le bruit ambiant mais peut aussi couper une sortie voice changer qui a ete trop compressee. Si votre voix continue de se couper dans VRChat, baissez le seuil du gate dans les Parametres Microphone de VRChat ou reduisez la compression dans VoxBooster.
Qu’est-ce que VRChat OSC et que peut-il vraiment faire ?
VRChat Open Sound Control (OSC) est un protocole de messagerie en temps reel que VRChat a introduit comme fonctionnalite native en 2022. Il fonctionne via UDP sur la machine locale (pas de connexion Internet requise, pas de serveur VRChat implique) et permet aux applications externes de lire et d’ecrire des parametres d’avatar VRChat en temps reel.
OSC dans VRChat peut faire ce qui suit :
- Ecrire des valeurs Float, Int, Bool ou String dans n’importe quel parametre d’avatar qui a “Autoriser l’ecriture OSC” active dans le descripteur d’avatar
- Relire les valeurs de parametres d’avatar depuis VRChat (VRChat envoie sur le port 9001)
- Envoyer des messages chatbox de maniere programmee
- Declencher des actions VRChat (activer/desactiver des fonctionnalites d’avatar cablees aux parametres d’action)
- Simuler des controles d’entree (axes de mouvement, pressions de bouton) depuis du materiel ou des logiciels externes
Pour l’integration voice changer, les capacites pertinentes sont l’ecriture de parametres Float et Bool dans les parametres d’avatar en temps reel.
Stream Avatar System : La Spec qui Rend OSC Vocal Utile
Le Stream Avatar System est un standard communautaire pour les avatars VRChat qui definit un ensemble coherent de parametres ecrits par OSC pour les streamers et VTubers qui veulent une animation d’avatar reactive sans materiel de suivi facial. Si votre avatar a ete construit selon la specification Stream Avatar System, il est livre avec un layer Animator pret a recevoir ces parametres :
| Nom du Parametre | Type | Description |
|---|---|---|
VoiceVolume | Float | Amplitude micro actuelle, normalisee sur 0,0-1,0 |
VoiceActivity | Bool | True tant que la voix est au-dessus du seuil de bruit |
VoicePitch | Float | Frequence fondamentale approximative, normalisee sur une plage 0,0-1,0 |
VoiceEmotion | Int | Mappe sur les etats d’expression (0=neutre, 1=heureux, 2=triste, 3=en colere, 4=surpris) |
IsStreaming | Bool | Indicateur optionnel pour activer les overlays mode streaming sur l’avatar |
Quand un script de pont OSC envoie ces valeurs en temps reel, la bouche de l’avatar s’ouvre proportionnellement au volume vocal (remplacant le systeme de viseme grossier de VRChat), les expressions changent selon le contour de hauteur, et l’avatar passe en neutre inactif quand vous arretez de parler.
Emotes Declenchs par la Voix : Cablage des Parametres OSC Bool
L’une des applications les plus divertissantes est le declenchement automatique d’emotes d’avatar depuis l’activite vocale — de sorte que votre avatar salue, applaudit ou reagit physiquement a des moments specifiques de votre discours.
Comment les Emotes Declenchees par Bool Fonctionnent dans VRChat
Les avatars VRChat peuvent avoir des parametres Bool dans leurs layers Animator qui, lorsqu’ils sont mis a True, entrent dans un etat specifique (lecture d’un clip emote) et retournent a False quand le clip se termine. Pour declencher un emote via OSC, vous envoyez un message a VRChat/avatar/parameters/NomDeVotreParametre avec une valeur Bool True.
Le format de message OSC est : /avatar/parameters/EmoteWave True (utilisant le format d’adresse OSC de VRChat).
Deux Facons de Declencher depuis un Voice Changer
Methode 1 — Declencheurs de seuil de volume. Un script de pont surveille la sortie audio du micro virtuel de VoxBooster, detecte quand l’amplitude depasse un seuil pendant plus de N millisecondes, et envoie le Bool OSC.
Methode 2 — Declencheurs bases sur les touches de raccourci. VoxBooster prend en charge les touches de raccourci programmables pour changer les presets, jouer des clips soundboard et declencher des macros. Un script de pont ecoute une touche de raccourci globale et envoie un parametre d’emote OSC quand cette touche est pressee.
L’implementation de script la plus simple pour les deux methodes utilise Python avec la bibliotheque python-osc :
from pythonosc import udp_client
import sounddevice as sd
import numpy as np
VRC_IP = "127.0.0.1"
VRC_PORT = 9000
THRESHOLD = 0.02 # ajuster au plancher de bruit de votre micro
client = udp_client.SimpleUDPClient(VRC_IP, VRC_PORT)
last_state = False
def audio_callback(indata, frames, time, status):
global last_state
volume = float(np.abs(indata).mean())
active = volume > THRESHOLD
if active != last_state:
client.send_message("/avatar/parameters/VoiceActivity", active)
client.send_message("/avatar/parameters/VoiceVolume", min(volume * 10, 1.0))
last_state = active
with sd.InputStream(device="VoxBooster Virtual Mic", # correspondre au nom du peripherique Windows
channels=1, callback=audio_callback, samplerate=48000):
print("OSC bridge running. Press Ctrl+C to stop.")
while True:
sd.sleep(10)
Remplacez "VoxBooster Virtual Mic" par le nom exact du peripherique Windows qui apparait pour la sortie de VoxBooster. Executez python -c "import sounddevice as sd; print(sd.query_devices())" pour lister les peripheriques disponibles.
Les paquets python-osc et sounddevice s’installent via pip : pip install python-osc sounddevice numpy.
Proxy Compatible OSC : Faire Tourner Voice Changer et OSC en Parallele
La configuration de production la plus propre fait tourner VoxBooster et le script de pont OSC comme deux processus independants qui partagent uniquement le peripherique micro virtuel comme intermediaire.
Micro physique
|
v
VoxBooster (traitement audio : hauteur, formants, modele IA)
|
+-- [Sortie WASAPI] -> Entree micro VRChat -> Moteur audio VRChat
|
+-- [Moniteur micro virtuel] -> Script pont OSC -> Port UDP 9000 -> Moteur OSC VRChat
|
v
Parametres d'avatar
(VoiceVolume, VoiceActivity, etc.)
Lancer le Pont au Demarrage
Pour lancer le pont automatiquement au demarrage de Windows :
- Sauvegardez votre script de pont quelque part de persistant, par ex.
C:\Users\VotreNom\vrc-osc-bridge\bridge.py - Creez un fichier
.bat:pythonw C:\Users\VotreNom\vrc-osc-bridge\bridge.py - Appuyez sur Win+R, tapez
shell:startup, et placez un raccourci vers le .bat dans ce dossier
pythonw (sans fenetre console) maintient le pont en fonctionnement silencieux en arriere-plan et utilise une charge CPU negligeable.
Latence de la Chaine Micro : Ce qu’OSC Ajoute et ce qu’il N’Ajoute Pas
La latence du chemin audio est definie par le mode de traitement de VoxBooster. Les effets DSP (hauteur, formants, EQ) fonctionnent en moins de 10ms. L’inference du modele de voix IA en mode Faible-Latence tourne environ 80ms sur un GPU de milieu de gamme.
La latence des parametres OSC est le delai entre l’activite vocale et la reaction d’animation de l’avatar. Le callback audio du script de pont se declenche toutes les ~10ms. En ajoutant la transmission UDP sur localhost (sous la milliseconde) et le cycle de mise a jour de l’Animator de VRChat (~30ms), la latence OSC de bout en bout est de 30-50ms.
Le resultat net : la bouche de l’avatar repond visuellement dans une frame d’animation de l’audio — ce qui est indiscernable du simultanee pour les observateurs.
Comparaison : Approches Voice Changer pour VRChat OSC
| Approche | Qualite Audio | Integration OSC | Latence | Complexite de Configuration |
|---|---|---|---|---|
| VoxBooster + script pont OSC | Haute (modele IA disponible) | Oui, via pont | 80ms IA / <10ms DSP | Moyenne — necessite script Python |
| Voicemod + script pont OSC | Moyenne (DSP uniquement) | Oui, via pont | <10ms | Moyenne — meme approche pont |
| MorphVOX + pont OSC | Faible-Moyenne | Oui, via pont | <15ms | Moyenne |
| Viseme integre VRChat uniquement | N/A (voix non modifiee) | Natif, sans pont | <5ms | Zero |
| Tracker facial (ex. VRCFaceTracking) | N/A (audio separe) | Natif, sans pont | 15-30ms | Haute — materiel requis |
Problemes Courants et Solutions
VRChat ne recoit pas de messages OSC
Verifiez dans cet ordre :
- Confirmez qu’OSC est active dans le menu d’action de VRChat sous Options et OSC et Active
- Confirmez que le port d’ecoute est 9000
- Confirmez qu’aucune regle de pare-feu ne bloque le trafic UDP localhost
- Confirmez que le port cible du script de pont correspond au port d’ecoute de VRChat
- Redemarrez VRChat apres avoir active OSC
Les Parametres d’Avatar ne Repondent Pas
Les ecritures OSC sur des parametres ne fonctionnent que si :
- L’avatar a ces parametres definis dans son descripteur d’avatar VRChat
- Les parametres sont mis sur “Autoriser OSC” dans la liste de parametres du descripteur
- Le layer Animator a des transitions cablees a ces parametres
L’Audio du Voice Changer se Coupe dans VRChat
- Reduisez le seuil du gate microphone de VRChat
- Dans VoxBooster, reduisez le ratio de compression de sortie
- Assurez-vous que le niveau de sortie de VoxBooster est calibre de sorte que la parole normale atteigne environ -12 a -6 dBFS
Le Script de Pont Selectionnez le Mauvais Peripherique Audio
Si sounddevice lit depuis votre microphone physique plutot que depuis la sortie virtuelle de VoxBooster, le nom du peripherique dans le script ne correspond pas a Windows. Utilisez sd.query_devices() pour lister tous les peripheriques.
La Voix OSC VRChat dans le Contexte des Autres Plateformes VR Sociales
VRChat a ete la premiere grande plateforme VR sociale a implementer OSC en tant que fonctionnalite native, mais le concept se repand :
- Resonite utilise un systeme de scripting base sur des graphes de noeuds ou l’entree audio peut piloter des parametres d’avatar avec une expressivite similaire
- ChilloutVR prend en charge l’entree de parametres OSC pour les avatars compatibles et utilise une architecture de routage similaire a celle de VRChat
- Les configurations de streaming generales beneficient de la meme chaine de micro virtuel
Avance : Envoi de VoicePitch via OSC pour le Controle d’Expression
Si le layer Stream Avatar System de votre avatar inclut un parametre Float VoicePitch, vous pouvez etendre le pont pour envoyer des donnees de hauteur approximatives :
def estimate_pitch(audio_chunk, samplerate=48000):
"""Returns normalized pitch 0.0-1.0, where 0.5 is roughly 200 Hz."""
if np.max(np.abs(audio_chunk)) < 0.01:
return 0.0
corr = np.correlate(audio_chunk, audio_chunk, mode='full')
corr = corr[len(corr)//2:]
min_lag = int(samplerate / 800)
max_lag = int(samplerate / 80)
if len(corr) < max_lag:
return 0.0
peak_lag = np.argmax(corr[min_lag:max_lag]) + min_lag
if peak_lag == 0:
return 0.0
f0 = samplerate / peak_lag
import math
normalized = (math.log2(f0) - math.log2(80)) / (math.log2(800) - math.log2(80))
return max(0.0, min(1.0, normalized))
Questions Frequemment Posees
Qu’est-ce que VRChat OSC et comment fonctionne-t-il avec un voice changer ?
VRChat OSC (Open Sound Control) est un protocole integre qui permet aux applications externes d’envoyer des donnees en temps reel a VRChat — y compris les parametres d’avatar, le texte du chatbox et les actions d’entree. Un voice changer integre a OSC peut lire le niveau audio de votre micro ou les evenements de touches et pousser des valeurs de parametres dans VRChat afin que les animations d’avatar reagissent a votre voix en synchronisation.
Puis-je utiliser VRChat OSC pour declencher des emotes d’avatar avec ma voix ?
Oui. Avec un script de pont OSC, vous pouvez activer des parametres Bool ou Float d’avatar chaque fois que votre voice changer detecte un phoneme, un seuil de volume ou une touche de raccourci pressee. VRChat interprete ces parametres et joue l’emote ou la transition d’expression associee.
Un voice changer a-t-il besoin de pilotes speciaux pour fonctionner avec VRChat OSC ?
Non. Le voice changer gere l’audio au niveau WASAPI. La messagerie OSC fonctionne via UDP sur le port 9000. Ce sont des canaux completement separes — aucun pilote special n’est requis pour l’un ou l’autre.
Qu’est-ce que le Stream Avatar System dans VRChat et comment se connecte-t-il au routage micro ?
Le Stream Avatar System est un standard communautaire VRChat qui mappe des parametres float OSC comme VoiceVolume, VoicePitch et VoiceActivity sur des blendshapes de viseme et d’expression. Quand votre pont OSC alimente ces parametres en temps reel, votre avatar reagit continuellement a votre micro en direct.
L’utilisation d’OSC avec un voice changer me fera-t-elle bannir de VRChat ?
Non. VRChat prend explicitement en charge OSC depuis 2022. Ni le traitement du voice changer ni la messagerie OSC ne violent les Conditions d’utilisation de VRChat.
Sur quel port VRChat OSC ecoute-t-il par defaut ?
VRChat recoit OSC sur le port UDP 9000 par defaut, en envoyant depuis le port 9001. Vous pouvez changer le port d’ecoute dans les Parametres OSC du menu d’action.
Quels voice changers prennent en charge l’integration VRChat OSC nativement ?
A partir de mi-2026, aucun voice changer commercial majeur ne livre un pont VRChat OSC integre. L’integration se fait via des scripts de pont legers. La sortie microphone virtuel de VoxBooster est compatible avec tout pont de ce type.
Conclusion
La combinaison d’une configuration voice changer VRChat OSC avec le Stream Avatar System est le plafond pratique de ce a quoi ressemble l’integration vocale VR sociale en ce moment — en dehors du materiel de suivi facial complet. Le canal audio delivre la voix du personnage ; le canal OSC fait reagir l’avatar en consequence.
La configuration est plus complexe qu’une installation de voice changer basique, mais les composants sont petits : un voice changer pour l’audio (VoxBooster), un script de pont Python de 40 lignes pour OSC, et un avatar pret pour OSC.
Telecharger VoxBooster — essai gratuit de 3 jours, sans carte de credit requise.