Over CrossVoice
Ik ben dol op games als Mordhau en Hunt: Showdown, en ik vond het voicelinesysteem van Mordhau, en ook dat van Chivalry 2, altijd al leuk. Op een gegeven moment vroeg ik me af hoe ik diezelfde mechaniek in Hunt: Showdown kon gebruiken, en waarom niet, in elke andere game met voicechat.
Dat idee werd een eerste prototype in Python dat met virtuele audioapparaten werkte. Het concept werkte, maar om verschillende redenen bleef het project een aantal jaren op de plank liggen.
Later kwam ik soundboards als Soundpad tegen en zag ik wat ze konden door geluiden via de microfoon af te spelen. Maar elk soundboard dat ik vond, werkte op dezelfde manier: één toets, één geluid. Dat zette me ertoe aan het project weer op te pakken en het veel verder te brengen dan het oorspronkelijke prototype. Ik begon te experimenteren met C++ om een native audio-oplossing te bouwen die me echte controle gaf over hoe geluid wordt verwerkt en verzonden.
Van daaruit bouwde ik de rest van de applicatie in C#, te beginnen met een interface om profielen te beheren en spraakcommando’s in te stellen. Al snel besefte ik dat geluiden afspelen maar een deel van het probleem was: alles moest ook werken met de voicechat van elke game, ook in games die met Drukken om te praten werken. Dat bracht me bij audiorouting en toetsenbordafhandeling op laag niveau, zodat die toetsaanslagen betrouwbaar konden worden beheerd.

Naarmate de ontwikkeling vorderde, groeide CrossVoice. Profielen evolueerden om commando’s in pagina’s te ordenen, met toetsen en modifiers, audiovarianten en instellingen zoals volume, toonhoogte en afspeelsnelheid. Ik voegde ook een permanente overlay toe, zodat je de app tijdens een match kunt gebruiken en bedienen zonder de game te verlaten.
Mijn doel is altijd geweest dat CrossVoice van geen enkele specifieke game afhankelijk is. Je stelt je profielen in zoals jij wilt en gebruikt ze in verschillende games, zonder game-specifieke integraties en zonder dat de app hoeft te weten wat je speelt.
Op dat punt had het weinig zin dat al dat werk alleen in mijn eigen profielen bleef. Waarom spelers niet hun eigen profielen laten delen en laten genieten van wat de community maakt? Zo kreeg het Community-gedeelte van CrossVoice vorm.
Zo groeide CrossVoice van een Python-prototype uit tot het project dat het nu is. Wat begon als een idee tijdens het spelen van Mordhau en Hunt: Showdown, werd een veel ambitieuzer project, waarin ik vrijwel elk onderdeel van de applicatie heb gebouwd en uitgebreid.
— Raúl Mateo