🦊

カメラの映像の代わりに絵文字を表示するためのソフトを作った

2024/02/15に公開

作ったもの

Web会議やテレワークで顔出ししたくない人でもリアクションができるように、絵文字やリアクションをWebカメラ代わりに表示するソフトをWindows向けに作りました。

絵文字が自分の声に反応して動き、リアクション絵文字や指定した文字を流す機能があります。
リアクションをWebカメラに大きく表示できることと、自分の顔を出さなくてもいいのが利点です。

有料(590円)のソフトですが、7日間の体験版があります!
https://apps.microsoft.com/detail/9PK6B05VWMWW?hl=ja-jp&gl=JP

本体を最初に開くと使い方ページが自動で開くようになっているので、簡単に使えます。

ん?と思われた方もいるかもしれません。
そうです、catnoseさんの開発された、Emoji Liveにインスパイアされていて、本人の許可も頂いています。(本当にありがとうございます!)

作った理由

知人が「カメラの写りが気になるようになってきた」とこぼしており、必ずしも顔を常に出しておく必要はないと思ったのが大きな理由です。
また、最近Web面接がよくあり、その場で表示できるポートフォリオがあったら威力があるなぁと思ったのと、zennの開発者でもあるcatnoseさんの開発された、Emoji Liveのアイデアを使用する許可をもらったのも非常に大きかったです。

catnoseさんのEmoji Liveに対する新規要素は

  1. このソフトだけでWebカメラに配信ができる
  2. 絵文字がMicrosoft Fluent Emoji
  3. 声に反応して絵文字が動く機能
    などです。

仕組み

初期設定としてソフトの画像配信用のWebカメラを登録する必要がありますが、それが済めばあとは「Webカメラに配信」ボタンを押して、Web会議ソフトから「Emoji Easel Camera」を選択するだけです。

こだわりポイント

絵文字を自由に選べる


Microsoft Fluent Emoji(MIT)にある絵文字なら全て選ぶことができ、一時的に表示したり、アニメーション絵文字を表示したり、よく使う絵文字を自動で挙げてくれる機能もあります。

このソフト単体で仮想Webカメラの登録・配信ができる


このソフトから「仮想カメラを登録する」を押し、管理者権限の使用を許可するだけでこのソフト用の仮想Webカメラが他のソフトから表示できるようになります。

声に反応して絵文字が動く

このように、絵文字が声に反応して動きます。
これはVTuberの配信画面を参考に搭載した機能で、わかりやすさと親しみやすさの両立に役立っています。
(もちろん設定からオフにもできます)

以前使用した背景色・文字色・絵文字を保存しておいてくれる


前回設定した背景色・文字色・絵文字は次回起動時に自動で適用された状態になります。
毎回設定し直さなくともよいので非常に便利です。
(もちろん設定からオフにもできます)

使用した技術

言語は

  1. Python
  2. C++

で、C++はDirectShowを操作や仮想カメラとして登録するdllをビルドできるsoftcamというライブラリを改変・ビルドするのに使いました。

流れとしては、

  1. 設定を取得
  2. 設定からOpenCVを使って画像を作成
  3. 仮想カメラに画像を配信

という流れで配信を実現しています。

絵文字としてMicrosoft Fluent Emojiを使用しています。
これは多くの絵文字はライセンスが怪しいことと、私がもっとも好きな絵文字セットでMITライセンスであることが理由です。

開発期間

基本機能を15時間くらい、各種ライセンス周りの調査+動作の軽量化に25時間くらい、exeに変換+MSIXにコンバート+Microsoft審査に一ヶ月半(!?)くらいです。
Python製のソフトをexeに変換する時点で若干エラーが発生するのは織り込み済みでしたが、MSIXへのコンバート+仮想化の情報があまりなく、めちゃくちゃにハマりました。
この部分に関しては別で記事を出す予定です。


7日間の体験版もあるので、ぜひ使ってみてください!
https://apps.microsoft.com/detail/9PK6B05VWMWW?hl=ja-jp&gl=JP

Discussion