À propos de CrossVoice
J’adore les jeux comme Mordhau et Hunt: Showdown, et j’ai toujours aimé le système de répliques vocales de Mordhau, et aussi celui de Chivalry 2. À un moment, je me suis demandé comment utiliser cette même mécanique dans Hunt: Showdown et, pourquoi pas, dans n’importe quel autre jeu doté d’un chat vocal.
Cette idée est devenue un premier prototype en Python qui fonctionnait avec des périphériques audio virtuels. Le concept marchait, mais pour diverses raisons le projet est resté au placard pendant plusieurs années.
Plus tard, j’ai découvert des soundboards comme Soundpad et ce qu’elles permettaient en diffusant des sons par le micro. Mais toutes celles que j’ai trouvées fonctionnaient de la même façon : une touche, un son. C’est ce qui m’a poussé à reprendre le projet et à l’emmener bien plus loin que le prototype d’origine. J’ai commencé à expérimenter en C++ pour créer une solution audio native qui me donnait un vrai contrôle sur la façon dont le son est traité et transmis.
À partir de là, j’ai développé le reste de l’application en C#, en commençant par une interface pour gérer les profils et configurer les commandes vocales. J’ai vite compris que lire des sons n’était qu’une partie du problème : tout devait aussi fonctionner avec le chat vocal de chaque jeu, y compris ceux qui utilisent une touche pour parler. Cela m’a mené au routage audio et à la gestion bas niveau du clavier, afin que ces pressions de touches soient gérées de manière fiable.

Au fil du développement, CrossVoice a grandi. Les profils ont évolué pour organiser les commandes en pages, avec des touches et des modificateurs, des variantes audio et des réglages comme le volume, la hauteur et la vitesse de lecture. J’ai aussi ajouté une superposition persistante pour que vous puissiez utiliser et contrôler l’appli pendant une partie, sans quitter le jeu.
Mon objectif a toujours été que CrossVoice ne dépende d’aucun jeu en particulier. Vous configurez vos profils à votre façon et les utilisez d’un jeu à l’autre, sans intégration propre à un jeu et sans que l’appli ait besoin de savoir à quoi vous jouez.
À ce stade, il n’était plus très logique que tout ce travail reste cantonné à mes propres profils. Pourquoi ne pas laisser les joueurs partager les leurs et profiter de ce que crée la communauté ? C’est ainsi qu’a pris forme la partie Communauté de CrossVoice.
Voilà comment CrossVoice est passé d’un prototype en Python au projet qu’il est aujourd’hui. Ce qui a commencé comme une idée en jouant à Mordhau et à Hunt: Showdown est devenu un projet bien plus ambitieux, dans lequel j’ai construit et étendu pratiquement chaque partie de l’application.
— Raúl Mateo