オンライン学会や研究会のタイムキーパーをする方法を模索

昨今の状況下でさまざまな学会、研究会や会議がオンライン開催になっているところかと思います。そのとき、座長として発表のタイムキーピングをするのが難しくないでしょうか? プレゼンターが画面共有していると、残り時間を見せたりベルを鳴らしたりすることがままならず、進行がぐだぐだになってしまいます。こうした悩みを解決したいと思ってあれこれ試してみたので以下に共有します。

やりたいこと

1. Zoomでほかの参加者が画面共有しているあいだにタイマーを見せたい
2. 加えて、ベルの音も流したい

Zoomを使う前提で書きますが、他のオンライン会議・通話プラットフォームでもほとんど同様に利用できます。

なお、本記事はMac環境を前提としています。Windowsでは確認していませんが、参考までに関連するWindows用ソフトウェアなどを紹介します。

映像編

タイマーが表示できるように設定していきます。それほどややこしくないので以下の要約図だけで十分かもしれません。

画像3

タイマーをブラウザに表示
まずはタイマーを表示しないとはじまりません。ブラウザで簡単に利用でき、見やすく、無償で、学会に必要な機能がちょうどよく揃っていて、かついい感じのベル音を自動で鳴らしてくれるHTML5で学会タイマーを使わせてもらいます。制限時間を適宜設定して、一鈴二鈴三鈴が鳴ることを確認します。ここではそもそも発表時間が何分かわかるように下部のメッセージに入れてありますが、これはお好みで設定してください。

画像1

OBS Studioでウインドウキャプチャ・合成
次に、このブラウザの画面をキャプチャしてやります。ゲーム実況配信などでよく使われるOBS Studioというソフトウェアのウインドウキャプチャ機能を使います。詳しいインストール方法や使い方はいろいろなサイトで解説されているのでそちらに譲ります。たとえばこちら。
https://www.ecc.kumagaku.ac.jp/technology_information/video/obs
https://w.atwiki.jp/live2ch/pages/491.html
(音声と録画・配信についての記述は今回は関係ありません)

設定の要点だけ以下に示します。

1. あらかじめブラウザのウインドウをZoomの画面の縦横比にだいたい合うようにリサイズしておく。
2. OBS Studioでソースを追加。Window Captureでタイマーを表示しているブラウザのウインドウを選択([Google Chrome]Time Keeperといったウインドウ名になっているはず)。
3. 自分の顔も同時に写したければ、もう一つソースを追加。Video Device Captureでカメラから取り込む。
4. レイアウトを適宜調整して見えやすくする。なお、Zoomは映像の上下をやや切り落とすので、上下端は避ける。

だいたい以下のようになればうまくいっています。ウインドウをcropする機能もあるので見た目に凝りたい場合は試してみてください。

画像2

Virtual Camera Pluginで出力
このままでは配信サービスにつなぐことはできても、Zoomなどの会議ソフトに合成した映像を出力することはできません。そこで必要なのが、ソフトウェアからの映像出力をカメラ入力のように見せかけるVirtual Cameraです。Virtual Camera PluginをOBS Studioにインストールします。Mac版はこちら。使い方はOBS StudioのメニューからTools→Start Virtual Cameraを選択するだけです。WindowsでもOBS Studioは利用でき、Windows版のVirtual Camera Pluginも提供されています。

Zoomで映像設定
ここまでできたらあとは簡単。Zoom上でカメラとしてOBS Virual Cameraを使うだけです。設定してもOBSのロゴしか出ない場合はOBSを再起動してTools→Start Virtual Cameraをもう一度実行してみてください。なお、Zoom上では自分には映像が鏡像反転して見えますが、これは仕様です。スマートフォン・タブレットなどなんでもいいので他のデバイスから参加すれば反転していないことが確認できます。Zoomの設定で"Mirror my video"を切れば手元でも反転しなくなりますが、気持ち悪い動きになるので個人的には好きではありません。

発表者からタイマーが見えるようにする
せっかくこうやって時間を表示しても、発表者から見えないと意味がありません。発表者が共有中にも他の一人以上の映像を見るように設定している必要があり(デフォルトではそうなっています)、ここばかりは発表者に切り替えてもらうほかありません。

その上で、タイマー画面が発表者から見えるようにするには、タイマーを表示しているあなたが参加者の一番上に来る必要があります。正確には、全員自分自身が一番上になるので二番目、自分以外で一番上となる必要があります。ホストであれば上に来ますし、カメラとマイクをオンにしていればオフにしている人より上になるはずですが、念のために"Spotlight Video"を使っておきましょう。他の人がホストならその人にお願いしてください。質疑応答の際には質問者の顔が見えるよう適宜spotlightを解除すべきかもしれません。

画像8

音声編

画像9

上述の通り、ブラウザで開いたこのタイマーは音も鳴らしてくれるので、そのままZoomに入力したいところです。そのためにはステレオミキサーの設定をする必要があります。概略は上図の通りです。

Background MusicとBlackHoleで仮想マイク・スピーカーを二組作る
Virtual Camera Pluginと同等の働きを音声でするBackground MusicおよびBlackHoleをインストールします。こちらはプラグインではなく独立しています。Background Musicのメニュー(メニューバーにアイコンがなければlauncherから起動してください)で出力先と出力音量を設定できますが、ここでは使わないので音量をゼロにしておいてください。

なお、このあたりの情報を検索するとSoundflowerを使う記事が多くヒットしますが、こちらは現在はあまりアップデートされていません。しばらく試してみましたが、少なくとも私の環境では挙動が不安定で思ったように入出力が得られませんでした。

Windowsでのステレオミキサーの設定はこちらが参考になるかと思います https://w.atwiki.jp/live2ch/pages/151.html

LadioCastで入出力をコントロールする
ここが本丸。音声入出力には内蔵マイクと3.5mm端子につないだヘッドホンを使う前提で書いていますが、異なるデバイスを使う場合はそれに合わせて変更してください。

まずLadioCastというステレオミキサーをインストールします。そのうえで、LadioCast、Mac本体、Zoomの三つの設定を適切に行う必要があります。順に見ていきましょう。

1) LadioCastの設定は以下の通りです。ここで、Aux1はモニタリング用です。ベルの音と自分の声の音量のバランスを確認するためにできれば両方の入力からAux1に出力したいところですが、マイクから拾った音声を出力するとハウリングしてしまうので必要に応じてこちらはオフにします。あとそもそも自分の声を聞くのはだいぶきびしいという問題もありますね。

Input1: Built-in Microphone
 (MainとAux1を赤色のオン状態に切り替える
  ただしハウリングする場合はAux1はオフ)
Input2 Background Music
 (MainとAux1を赤色のオン状態に切り替える)
Main Output: BlackHole 16ch
 (メインの出力で、これをZoomの入力につなげる)
Aux Output1:  Built-in Output
 (モニタリング用の出力)

画像9

2) Mac本体の設定で、スピーカー(音声出力)としてBackground Musicを使うようにします。こうすることで、ブラウザを含め実行中のソフトウェア上で再生された音声がLadioCastの入力に流し込まれ、マイクからの入力とミックスされます。

3) Zoomの設定で、マイクとしてBlackHole (16ch)を使うようにします。これによって、ミックスされた音声が通話相手に送られるようになります。また、スピーカーとしては「システムと同じ」ではなく実際に出力しようとしているスピーカーを選んでください。そうしないと相手方から来た音声がLadioCastが拾うBackground Musicに流れ、すると再び相手方に戻ってしまいます。

Sound Effectsで他の音も流す(Optional)
拍手などの効果音をクリック一発で流したい(演劇の業界では「ポン出し」という用語があるようです)場合にはどうしたらいいでしょうか?

この用途に使えるソフトウェアは色々あるようですが、手軽で効果音が同梱されているものは案外ありません。その名もSound Effectsというものがその条件を満たしているので使ってみましょう。

使い方は非常に簡単。効果音が並んでいるパネルから再生したいもののタイトルをクリックするだけです。初期状態ではタブ1にしか効果音がありませんが、各効果音の右上部分をドラッグ&ドロップしてタブ2以降に動かせます。たくさんあるととっさに見つけるのが難しいので使いそうなものだけを選り分けておきましょう。"Audience", "Drum Roll", "Game Buzzer", "Whistle"あたりがとりあえず使いやすいでしょう。手持ちの音声ファイルを取り込むこともできます。

画像5

Windowsで同様の用途に適したソフトウェアもご存知の方はぜひ教えてください。

Zoomの設定で環境音のフィルタリングを解除する
ここまでで音を流すことはできますが、実際にやってみると相手方にはほとんど聞こえません。これはZoomが環境音をフィルタしてしまうためです。対策として、Preferences→Audio→Advancedから"Suppress Intermittent Background Noise"(日本語版では「断続的な背景雑音の抑制」)を無効にします。

画像8

当然ですが、この設定変更をすると周囲の物音や呼吸音を拾ってしまうようになります。別途ノイズ除去を行いたい場合にはDiscordにも組み込まれているkrispあたりがおなじみです。GeForce RTXのグラフィックカードを積んでいる環境でならNVIDIA RTX Voiceも強力という話です。私の環境ではそこまで気にならなかったので今回は試していませんが、もし気になる場合は使ってみると良いかもしれません。

なお、同じく設定画面からアクセスできる"Show in-meeting option to 'Enable Original Sound' from microphone"を使うと通話画面で環境音フィルタのオンオフを切り替えられるようになるので一見便利なのですが、こちらは断続的なノイズだけでなく定常的なノイズのフィルタまで同時に切り替えてしまいます。私の環境ではホワイトノイズがひどくなって使い物になりませんでした。ノイズの少ない高品質なマイクをお持ちでしたら使える設定かもしれません。

音声編追補

上ではLadioCastでステレオミキシングをする場合を解説しました。よりシンプルな構成にしたい場合、BlackHoleとLadioCastは省略可能です。この場合効果音を流すのとマイクから喋るのは二者択一になってしまいます。本当はBackground Musicだけで効果音とマイクからの音声のミキシングもできそうな雰囲気もあるのですが、いまのところできていません。ご存知の方がいらっしゃいましたら教えていただければ幸いです。

1. Background Musicをインストールし、OSの音声出力先とする。
2. 上述の場合とは異なり、Background Musicからの出力音量は適宜上げて再生している音を確認できるようにする。
3. Zoomのマイクとして、ベルや効果音を流したいときはBackground Musicを使い、しゃべりたいときは通常のマイクに切り替える。
4. 音量は他の運営メンバーや参加者に確認してもらう。

トラブルシューティング

ZoomでカメラとしてOBS Virtual Cameraが選択できない
Zoomのバージョン5以降、5.04未満ではVirtual Cameraの利用が許可されなくなり、たとえばSnap Cameraが使えなくなりました。現在のバージョンのZoomではVirtual Cameraは再び使えるようになっています。しかし私の環境だけかもしれませんが、最新版(5.0.5)でもOBS Virtual CameraはZoomのカメラ一覧に現れませんでした。以前のバージョンのZoomに関して書かれている記事を参考に以下のコマンドを実行したところ使えるようになりました。

sudo codesign -f -s - /Applications/zoom.us.app

みなさんの環境でこれを実行する必要があるかはわかりません。不要ならやらないほうがベターなので、あらかじめ確かめてから実行するようにしてください。この点に関してどうだったかコメントをいただけると助かります。

タイマーのカウントダウンが停止する
タイマーを表示しているブラウザウインドウが完全に隠れてしまうと表示のリフレッシュがされなくなりカウントが進まなくなります。たとえキャプチャ中であっても、リフレッシュをするには直接画面上で見えている必要があります。一部だけでもいいので、完全に隠さないようにしましょう。

この点から、そもそもZoomの設定として、「参加者が画面を共有した場合、全画面に移行」と「参加者が画面を共有した場合、Zoomウインドウを最大化」を共にオフにしておくことも必要です。

画像9

プレゼンターの側でタイマーが見えない
1. 相手がタブレットでプレゼンしている場合はプレゼンしながら他の人の映像を見ることができません。使い勝手の都合でタブレットからプレゼンする場合でも、別途閲覧専用にPCからもログインしてもらいましょう。
2. 相手がPC・Macにも関わらずだれの映像も見えないのであればそれは相手の表示の仕方の問題です。通常右上に出るZoomのポップアップウインドウを最小以外にすればだれかの映像は見えるはずです。
3. 相手方に見えているのが他の人である場合はspotlightをやりなおしましょう。なお、どういうわけか参加者の一覧(映像がなく名前だけのリスト)からは自分自身をspotlightすることはできないようです。代わりに、自分の映像が出ているサムネイルの右上「…」から行う必要があります。

音声が流れない
全般的には、「音量が小さいだけのことがあるので各所で大きくしてみる」「それでもだめなら再起動」が鉄則ですが、一応細かく書くと以下の通りです。

1. LadioCastの入力ゲージは動いていますか? 動いていない場合、OSの音声出力が"Background Music"になっていることを確認してください。また、OSに最初から入っているAudio MIDI Setupを起動してBackground Musicを選択し、Configure Speakers→Testとたどってテスト音を流し込んでみてください。それでも動いていなければLadioCastあるいはMacごと再起動するなど試してみてください。

2. LadioCastには入力できているのに、LadioCastの操作板上でBlackHoleへの出力ゲージが振れない場合は、一旦入力と出力をN/Aにして戻してみる、入出力間の接続もオンオフしてみる、LadioCastを再起動するなどを試してみてください。

3. LadioCastからBlackHoleに出力できているはずなのにZoomの側では何も入ってこない場合は、Zoom上で設定の再確認、いったんほかのマイクに切り替えてから戻す、それでもだめなら再起動してください。また、上述の手順でAudio MIDI Setupを用いてBlackHoleにテスト音を流してみてください。

4. それでもうまくいかないなら、音声でややこしいことをするのはあきらめて手元で物理でベルを鳴らすのも手です。

音声が乱れる
たまに数秒間乱れる症状はコンピュータへの過負荷が原因と思われます。負荷がかかるとLadioCastの動作に問題が生じ音声が乱れがちになります。OBS Studioはわりと負荷が高いという問題もあります。モニタリング用の音声出力は乱れず、相手方だけにノイズが入るので実際に通話してみて確認するようにしてください。必要ないプログラムを終了するなど負荷軽減を図ってもまだダメな場合は、ベルを鳴らす瞬間以外はZoom側でマイクをミュートにするしかないかもしれません。ほか、ラップトップであれば電源に接続する、冷却を改善するなどで若干改善するかもしれません。

音声がハウリングしている場合は、a)言うまでもありませんが、イヤホンに出力するようにして物理的にスピーカーからの音をマイクが拾わないようにする、b)LadioCast、Background MusicおよびOSの設定で音声が周回する経路を作らないようにする。作ってしまったら一旦LadioCastを終了して周回している音声を取り除くことで対処できると思われます。メニューバーに表示されるBackground MusicのアイコンをクリックするとBackground Musicからの出力デバイスを選択できますが、この出力は使わないので、どれを選ぶにせよ上部にある音量のスライダを0にしておいてください。

まとめ

以上、映像と音声の設定を見てきました。これで設定完了です。うまく動作しているか確認しづらいので、他のデバイスとのビデオ通話をして実際に相手方から見て意図した通りになっているか確認するのが重要です。

まだまだ模索中なので、ぜひみなさんの知見をコメントいただけるとうれしいです。それでは楽しいオンライン学会ライフを!



この記事が気に入ったらサポートをしてみませんか?