Aller au contenu
Ilyas Zahaf Kradra
Tous les projets

xm4-control

Une application Windows 11 pour piloter un casque Sony WH-1000XM4 depuis son PC, sans l'application mobile de Sony.

Plateforme
Windows 11
Stack
C#, .NET 10, WinUI 3
Licence
Open source, MIT
Fenêtre principale de xm4-control : mode actuel, casque en 3D et réglages rapides

Pourquoi ce projet

Sony ne propose son application Headphones Connect, devenue Sound Connect, que sur téléphone. Sur un PC Windows, impossible de changer de mode ou de régler l'égaliseur.

Et dès qu'une visio ouvre le micro, Windows bascule le casque en mode mains libres et le son se dégrade. xm4-control règle les deux problèmes avec une vraie application de bureau.

Ce que fait l'application

Panneau de xm4-control au-dessus de l'horloge de Windows : mode, batterie, réduction de bruit et son ambiant

Le son reste en stéréo pendant les appels

Un interrupteur Micro désactive le profil mains libres de Windows : le casque garde un son stéréo quand Teams, Discord ou Zoom ouvrent le micro.

Tout depuis la barre des tâches

Un panneau natif au-dessus de l'horloge affiche le mode et la batterie, et donne accès à la réduction de bruit, au son ambiant et à l'égaliseur. Le raccourci Ctrl + Alt + N fait défiler les modes.

Tous les réglages du casque

Égaliseur cinq bandes et presets Sony, Clear Bass, NC Optimizer, Speak-to-Chat, DSEE Extreme, pause quand on retire le casque, alerte de batterie à 20 %.

Une ligne de commande pour les scripts

L'outil xm4 pilote le casque depuis un terminal.

xm4 ncxm4 eq BassBoostxm4 mic off

Sous le capot

Architecture
C# sur .NET 10, en trois projets : un cœur partagé, l'application WinUI 3 et l'outil en ligne de commande, avec leurs tests.
Interface
Le panneau de la barre des tâches est natif en WinUI 3. La fenêtre principale est en HTML et CSS dans WebView2, avec un modèle 3D du casque rendu par three.js. Elle existe en français et en anglais, selon la langue de Windows.
Bluetooth
La communication passe par des sockets RFCOMM de Win32. J'ai documenté dans le README le protocole que Sony utilise pour piloter le casque.
Livraison
GitHub Actions compile et teste le projet, puis publie les deux exécutables à chaque nouvelle version.

Sortir de ma stack

Au quotidien, je code en Java et en TypeScript. C#, .NET et WinUI 3 ne font pas partie de ma stack, et je ne prétends pas les maîtriser.

Je me suis appuyé sur Claude Code pour prendre en main cet écosystème au fil du projet, en gardant la main sur l'architecture et les choix techniques. C'est comme ça que j'utilise l'IA : pas pour coder à ma place, mais pour m'attaquer à un sujet nouveau sans attendre de tout connaître.

L'essayer

Téléchargez Xm4Control.exe dans les Releases GitHub et lancez-le : .NET est inclus, il n'y a rien d'autre à installer.

Tous les projets