CrossVoice について
私は Mordhau や Hunt: Showdown のようなゲームが大好きで、Mordhau のボイスラインの仕組みが昔から気に入っていました。Chivalry 2 のものも同様です。あるとき、同じ仕組みを Hunt: Showdown で、さらに言えばボイスチャットのある他のどんなゲームでも使えないだろうか、と考えるようになりました。
そのアイデアは、仮想オーディオデバイスを介して動作する Python の最初のプロトタイプになりました。コンセプトはうまくいきましたが、さまざまな理由から、プロジェクトは数年間棚上げになっていました。
その後、Soundpad のようなサウンドボードに出会い、マイクを通じてサウンドを再生することで何ができるのかを知りました。しかし、私が見つけたサウンドボードはどれも同じ仕組みでした。キーひとつに、サウンドひとつ。それがきっかけでプロジェクトを再開し、最初のプロトタイプよりもはるかに先へ進めることにしました。C++ で実験を始め、サウンドの処理と送信を本当の意味で制御できるネイティブのオーディオソリューションを作りました。
そこからアプリケーションの残りの部分を C# で作りました。最初に手がけたのは、プロファイルを管理し、ボイスコマンドを設定するためのインターフェースです。やがて、サウンドを再生するのは問題の一部にすぎないと気づきました。プッシュトゥトークを使うゲームも含め、すべてが各ゲームのボイスチャットとうまく連携しなければなりません。そこでオーディオのルーティングと低レベルのキーボード処理に踏み込み、そうしたキー入力を確実に扱えるようにしました。

開発が進むにつれて、CrossVoice は成長していきました。プロファイルは、コマンドをページで整理し、キーと修飾キー、音声のバリアント、音量、ピッチ、再生速度などの設定を備えたものへと進化しました。さらに、試合中にゲームを離れることなくアプリを使い、操作できるよう、常駐するオーバーレイも追加しました。
私の目標は一貫して、CrossVoice が特定のゲームに依存しないことです。プロファイルは自分のやり方で設定し、ゲームを問わず使えます。ゲーム固有の連携は不要で、アプリがあなたのプレイしているゲームを知る必要もありません。
そこまで来ると、これだけの成果を自分のプロファイルの中だけに留めておくのはあまり意味がありませんでした。プレイヤーが自分のプロファイルを共有し、コミュニティが生み出すものを楽しめるようにしたらどうだろう?こうして CrossVoice のコミュニティ機能が形になりました。
こうして CrossVoice は Python のプロトタイプから、現在のプロジェクトへと成長しました。Mordhau と Hunt: Showdown をプレイしながら生まれたアイデアは、はるかに野心的なプロジェクトとなり、私はアプリケーションのほぼすべての部分を自ら作り、拡張してきました。
— Raúl Mateo