セキュリティこねこね

セキュリティ関連技術やCTFなどのアウトプット

Windowsのフリーソフトだけ使ってVTuberのような姿でZoom会議に参加する

f:id:nekose9:20200418183707p:plain

先日上記画像のような格好でZoom会議に参加し、問題なく動作したのでやり方をまとめておきます。有償ツールやスマホアプリを使う解説記事は見かけるものの、Windowsフリーソフトで実現する方法をまとめている記事はあまり無さそうだったので、同じようなことをやってみたい方はご参考まで。

カメラを一切使わずに済ませることや、ボイスチェンジャーを併用することについても紹介します。

キャラクターモデルの表示

まずはなんと言ってもバーチャルキャラクターの3Dモデルを表示して動かす部分です。これには以下のソフトを使用しました。

f:id:nekose9:20200418170621p:plain

顔認識でカメラ映像に連動してモデルを動かすこともできるのですが、表情やモーションにショートカットキーが設定できるので、それを使えばカメラ不要でキャラクターにある程度動きをつけることができます。また、リップシンク機能により、音声にあわせて口を動かすことができます

ノートPCなどでカメラが内蔵されている場合でも、この方法ならばカメラはマスキングテープで塞いでおくことで、うっかりカメラの映像が映ってしまう可能性をゼロにできます。ちなみに、遮光性の高いマスキングテープとしては以下がオススメです。

3teneのFREE版をインストールしたらオンラインヘルプを確認しつつ以下の設定をしておきます。

  • アバターを選択する
  • 右ドラッグ(移動)とマウスホイール(ズーム)でカメラアングルを調整して保存する
  • 背景を選択する
  • 表情のショートカットキーを設定する
  • モーションのショートカットキーを設定する
  • リップシンクを有効化する
  • アバターの調整」で「カメラ目線」を有効化する
  • 「設定」で「メニューバーを自動的に隠す」を有効化する

仮想カメラのセットアップ

続いて、3teneのウィンドウ内容を仮想カメラに流し込むために以下のソフトとプラグインを使用します。ウィンドウのタイトル部分を除く中身の部分(クライアント領域)だけをリアルタイムにカメラ映像として使用することができるようになります。

f:id:nekose9:20200418171206p:plain

設定手順は以下のとおりです。

  • OBSを配信機能を使用しない設定でセットアップする
  • OBSを一旦終了してVirtualCamプラグインをインストールする
  • 3teneのウィンドウを開いている状態でOBSを起動する
  • 「ソース」欄の「+」アイコンから「ウィンドウキャプチャ」を選択する
    • 「ウィンドウ」で3teneのウィンドウを選択する
    • 「キャプチャ方法」で「Windows Graphics Capture」を選択する
  • ウィンドウがOBSの画面領域に合うように枠をドラッグしてサイズを調整する
  • 「ツール」→「VirtualCam」を選択する
    • 「Start」をクリックし、ダイアログは「X」ボタンで閉じる

ボイスチェンジャーの使用

あとは任意ですが、音声も変えたい場合はボイスチェンジャーを使用することができます。こちらの記事を参考にいくつか試したところ、以下で動作が確認できました。

f:id:nekose9:20200418180907p:plain

残念ながら性能はいまいちで、裏声など高い声で話さないと自然な音声にはなりません。使い方のコツはこちらのYouTube動画(※音量注意)などで紹介されています。私は自然な音声は諦めてピッチを上限に設定しました。

  • 「入力デバイス」でマイクを選択
  • 「出力デバイス」でNETDUETTOを選択※後述
  • 「声の高さ」を150%に設定
  • 「Start」をクリックする

「ループバック」を有効化してスピーカーを選択すると、仮想マイクに流し込みつつ自分でも変換後の音声を聞くことができます。ただ、会議中は自分の変換後の音声が聞こえると大変喋りづらくなるので無効化したほうがよいでしょう。

仮想マイクのセットアップ

ボイスチェンジャーの出力を仮想マイクに流し込むために以下のソフトを使用します。このソフトの本来の用途はよく知りませんが、仮想マイクとして動作することを確認しました。

インストールすればボイスチェンジャーの「出力デバイス」でNETDUETTOを選べるようになります。

Zoom会議に参加するときの手順

Zoomを起動したら、サインインして以下の設定を行います。

  • 「設定」→「ビデオ」→「カメラ」で「OBS-Camera」を選択する
    • ※設定画面上で映像が左右反転して見えていても、相手には本来の表示になるようです
  • 「設定」→「オーディオ」→「マイク」で「NETDUETTO」を選択する

以上で準備は完了です。美少女になって会議をお楽しみください。Zoom以外のテレビ会議システムでも、同様に仮想カメラと仮想マイクを指定して使用できるはずです。なお、ショートカットキーでキャラクターを操作する際は3teneのウィンドウにフォーカスする必要があるのでご注意ください。