SoundGee est une application gratuite de soundboard pour Windows : elle permet de jouer des extraits sonores (memes, réactions, effets) pendant une partie ou une discussion Discord, avec un simple raccourci clavier, même quand la fenêtre n’est pas au premier plan. Sa vraie force : les amis en vocal entendent aussi les sons, grâce à une configuration audio entièrement automatisée qui mélange le micro et les sons. Je l’ai créée pour ne plus payer ce type d’outil, en visant des joueurs qui veulent animer leurs parties sans se battre avec des réglages techniques.

L’application est construite avec Electron, React et TypeScript. Le processus principal (fichiers, raccourcis globaux, zone de notification) et l’interface communiquent par un pont IPC typé, avec isolation de contexte. Un même son est diffusé simultanément vers plusieurs sorties grâce à setSinkId() : les haut-parleurs de l’utilisateur et un périphérique virtuel. Plutôt que d’imposer une configuration manuelle, SoundGee détecte, télécharge et configure Voicemeeter Banana tout seul, en pilotant son API officielle par des liaisons FFI (koffi). Des profils permettent aussi de n’activer certains packs de sons que dans un jeu précis, détecté à partir de la fenêtre au premier plan.

Fonctionnalités

  • Packs de sons, import depuis un fichier ou une URL
  • Raccourcis clavier globaux, compatibles AZERTY et QWERTY
  • Profils par application et raccourci pour tout couper d’un coup
  • Configuration audio automatique pour être entendu en vocal
  • Export et import de packs en .zip pour les partager
  • Interface bilingue français / anglais
  • Mises à jour automatiques via GitHub Releases

Défis techniques

Les raccourcis étaient faux sur les claviers AZERTY, parce que le code lisait la position physique des touches ; il utilise maintenant le caractère réellement produit. L’intégration à Voicemeeter a révélé plusieurs bugs en conditions réelles (sessions non refermées, mauvaise sortie sélectionnée) : je les ai corrigés un par un, à partir de la documentation officielle du constructeur. J’ai aussi exploré puis écarté la création d’un micro virtuel propre à l’application, qui aurait exigé un pilote noyau signé.