My plot.

イントロクイズの話とか、プログラム関係の備忘録だったり。書きたいことを気が向いたときに書きます。

オンラインイントロクイズ出題環境の構築方法についての提案

[2021/7/19追記] 現在はDiscord Audio Stream botを使用する方法が簡単で音質等も良いため主流となっています.こちらのページもご参考になさってください.

pgdora56.hateblo.jp


自分自身への備忘録も兼ねて、オンラインクイズの出題環境構築方法を記載しておきます。Windows環境を想定しています。

全体的に他のサイトに頼りがちです。ごめんなさい。おいおい修正してここだけで完結できるようにします。

オンラインでイントロクイズをしていると、時折解答側の声が返ってきてしまっていることがあると思います。 と、言うのも、私自身自分の声がとても嫌いです。なのでこの現象には割と悩まされていたりします。

そこで、物理的にそれが起こらないような構築をどのように行うか、というのをつらつらと書き記したいと思います。

今回の記事を書くに辺り、学生のJPopイントロ界隈では知らない人はいないであろう、TQCのCGくんに実際にこの環境構築を行っていただきました。その結果、声が返ってくる現象がゼロになり、さらに音質の飛躍的な向上も見受けられました。 ご協力ありがとうございました。

構築方法は少し下からです。「そもそも何故声が返ってくるのか」「提案」の項は適宜すっ飛ばしてください。


目次


そもそも何故声が返ってくるのか

そのような出題者さんは「出題者サイドのヘッドホンに入る音すべて」をDiscordに流しています。つまり、Discordから出る解答者側の声もすべて流してしまっているのです。 軽減させることは勿論可能なので、実質的にほぼ入らずに出題することは可能ですし、現にそのように出題されている方もいらっしゃいます。

ですが、あまり機械が得意でない方はその辺りの微調整ができずに解答者側の声を跳ね返す状態で出題してしまっているのだと思います。ならば、端からそんなことが起きないように出題すればよくね?というのが私の提案です。

図にするとこんな感じで音を流しています。

f:id:pgDora56:20191103011709p:plain
従来の音の流れ

提案

考え方は至って単純で、「出題者サイドのヘッドホンに入る音すべて」を流すからダメなのであって、「音楽だけを流す」ようにすればいいのです。

ただ、このためには追加で設定が必要です。といっても、それによって良い効果が得られる、という面を考えればそこまで重い手間ではありません。

図にするとこういう感じです。

f:id:pgDora56:20191103015027p:plain
提案する音の流れ

無駄な音をカットするので、純粋に音楽だけ聴こえる利点は想像以上に大きかったです(CGくんとやった感じ)。


必要なソフトウェア

この設定には以下のソフトウェアが必要です。

foobar2000

出題のためのメディアプレーヤー。出力先を細かく設定できるメディアプレーヤーであれば大丈夫ですが、foobar2000の軽快さと多くの機能を追加できる点は他のメディアプレーヤーの追随を許さないところがありますので、特段の理由がなければイントロクイズを行う際にこれを使わない手はないと思います。

オンライン出題においては特にSonyのMedia CenterやAppleiTunesなどの重いメディアプレーヤーは途中でのトラブルの原因となりかねません。

アマミキ!

ステレオミキサー。自分の声と音源を混ぜて、それをDiscordに流すためのソフトです。PCに標準搭載でステレオミキサーが入っている場合もありますので、それで代用も可能です。

Yamaha NETDUETTO

一番の目的としては何のソフトなんですかね、いまいち分かってないです。遠くの人とセッションしたりするときに使えるソフトっぽいですが、ここではその機能は使いません。

私は仮想オーディオデバイスの部分だけ使ってるんだと思ってるんですが、どうなんでしょう。有識の方教えてください。この子にはアマミキとDiscordの中継をしてもらいます。

VB-CABLE

仮想オーディオデバイスです。foobar2000とアマミキの中継をしてもらいます。金を払えば3つまで増やせるので、NETDUETTOなしにできるかも?確信はないですが。

環境を作っていく

実際に作っていきましょう。

標準の再生デバイスと録音デバイスの確認

すべての設定を始める前に、再生デバイスと録音デバイスを確認していきましょう。

再生デバイスはPCから再生するデバイス、すなわち「ヘッドホン」であったり「スピーカー」であったりです。 録音デバイスはPCから録音するデバイス、つまり周りから音を集めるわけですので、「マイク」がこれにあたります。

普段自分が使っているものが何なのか、必要になる箇所が多いです、把握できている方は問題ありませんが、出来ていない方は確認ください。

Windowsメニュー(左下)→Windowsアクセサリ→コントロールパネル→ハードウェアとサウンドサウンド

の中に、「再生」と「録音」というタブがあると思います。ここで「既定のデバイス」となって緑色のチェックマークがついているものが普段使っているものと考えて問題ないです。

f:id:pgDora56:20200408233127p:plain
サウンドの確認部分

この例では「マイク 3-UAB-80」が既定のデバイスになります。再生と録音、それぞれ確認ください。

foobar2000のインストール

www.foobar2000.org

とりあえず最低限このサイトのDownloadから手順に沿ってインストールすればOKです。

ただ、自分好みにめちゃめちゃカスタマイズできるソフトなので、多少いじってあげたほうが使いやすいと思います。 個人的には最低限Columns UIというのを入れると幸せになれると思います。

foobar2000でColumns UIを使う手順 | ハウツーIT

やりたい方はこちらから。

さらに、イントロ向けのパネルとしてg2さんや私が配布しているものを使うと幸せになれそうな気がします。また別の機会に。

NET DUETTOのインストール

https://www.netduetto.net/download/

こちらから各々のPCに合うものをインストール。ウィジェットの流れに沿っていくだけです。

インストールさえしてしまえば大丈夫なので、ソフトウェア自体は全く使いません。

syncroom.yamaha.com

NETDUETTOの配信が終了したようです。後継であるSYNCROOMでもほぼ同様という情報を頂きましたので取り急ぎお知らせします。

後日改めて確認の上、更新します。

アマミキ!のインストール

そもそもアマミキは動画配信の「アマレコ」についてる付属品みたいなやつなんですが、それが割と有用なので配信に活用している人が多いんですよね。

www.amarectv.com

こちらから「【デスクトップ&ビデオキャプチャ】 旧版 アマレコTV Live アマミキ!」というところのダウンロードページに進み、適当なフォルダにダウンロードします。

ダウンロードしたら、解凍まで行ってください。最近のWindowsであれば解凍はエクスプローラ上で簡単にできるはずです。

解凍後まず「live_setup300.exe」を実行してください(名前は変わっている可能性がありますが、「live_setup***.exe」という名前かと思います)。案内に沿っていくとアマレコがインストールされます。これでアマミキの使用準備ができました(アマレコは使いません)。

VB-CABLEのインスト―ル

こちらを参考にお願いします。

仮想オーディオデバイス「VB-CABLE」インストール方法。再生と録音デバイスを無料で追加できる | ARUTORA

VB-CABLEは無料でシンプルなサウンドバイスが手に入るという点において非常に優れたソフトウェアではあるのですが、インストール後に自動で既定のデバイスVB-CABLEに変更されてしまいます。これでは普段何かPCによって音を聞いたり、マイクで発言したりすることがすべてできなくなってしまいますので、修正が必要です。

この際、以下のサイトなどを参考に既定のデバイスを元に戻してください。

qa.elecom.co.jp

つないでいく

先程の図のように接続していきます。再掲。

f:id:pgDora56:20191103015027p:plain
接続図

接続前に、適宜再起動するとよいかと思います。各ソフトウェアのインストール時に「再起動してくれよ~」ということを(英語かもしれませんが)言われていると思いますので。

やるべきことは、

  • アマミキの設定を行う(一回きり)
  • foobarの音を「VB-CABLE」に送ってあげる(出題の度)
  • Discord側で「ライン」から受けてあげる(出題の度)

です。

アマミキの設定

アマミキをDLして展開したフォルダに戻ると、「AmaMix.exe」というアプリケーションがあります。これが「アマミキ」本体です。その他のアプリケーションは使用しませんので、全く使いません。

これを起動すると、まず設定画面に行くと思います。上のタブを見てもらって「全般」「録音デバイス」「再生デバイス」の3箇所を設定していきます。

全般

f:id:pgDora56:20200408234052p:plain
全般の設定

これは正直どうであろうがアマミキの動作には関係ないんですが、「最小化してトレイに収納」がデフォルトでOnになっているので、起動しているはずなのに起動していないように見えてしまいがちです。ここのチェックを外しておくと良いかと思います……多重起動でわけのわからないエラーを吐く、という混乱に陥りがちです。

アイコンの色等その他は自由に設定してください。

録音デバイス

f:id:pgDora56:20200408235521p:plain

録音デバイスは4箇所ありますが、2箇所しか使いません。foobarからの音を受けるところ(VB-CABLEからの音)と、マイクからの音を受ければOKです。それぞれここでは「CABLE」「マイク」として設定しています。

マイクの「録音デバイス」は各々が普段使っている録音デバイスに設定、ほかは上記の通り設定ください。

ただし、ここでCABLEのHzはPC側と設定を一致させる必要があります。コントロールパネルのサウンドの設定*1から、「CABLE Input→プロパティ→詳細→既定の形式」で、「48000Hz」が選ばれていることを確認してください。おそらく「DVDの音質」と書かれていると思います。

f:id:pgDora56:20200409010014p:plain
サウンドの設定

再生デバイス

f:id:pgDora56:20200408233335p:plain
再生デバイスの設定

基本的にはこの画像の通りで大丈夫なはずです。

左側「再生デバイス」はどんな音が流れているかを視聴するデバイスです。「foobarの音だけをアマミキからヘッドホンに流し直す」というときに流す先のデバイスになります。ですので普段使っているものになればOKです。Bluetooth接続にしたりしたときにも対応できるように、上記の通り規定のデバイスと設定しておくのが丸いかと思います(もちろん、これを理解した上で他のデバイスに変えるのは全然OKです)。

右側「配信デバイス」はアマミキでまとめたマイクとfoobarの音をどこに流すか、という設定です。NETDUETTOでインストールされた「ライン」というデバイスに流します。

アマミキのメイン画面

以上でアマミキの設定は完了です。最後にメイン画面についてです。

f:id:pgDora56:20200701132307p:plain

メイン画面にはこのように音量バーとチェックボックスが2つあると思います。

音量バー(使用できないこともある)はそのまま音量を設定するツールになります。出題の最初に音声チェックの時間を設けて、解答者に声と音のバランスが大丈夫かを聴き、この辺りのバーも使いながら上手いバランスを見つけてください。

ここで主に解説したいのはチェックボックスです。上の例の場合は左がマイク、右がVB-CABLEの音です。基本的には上の通りチェックを入れれば問題ないかと思います。すべての設定が終わった後に実際にチェックを入れたり外したりしてもらえるとわかりやすいのですが、「上段のチェックは再生デバイス=ヘッドホンに送る音」「下段のチェックは配信デバイス=NETDUETTOのラインに流しDiscordから流す音」となります。ですので、マイクは配信さえすればよく、foobarの音を受け取るVB-CABLEはヘッドホンにも送る必要があるわけです。

慣れてきたら出題中にCABLEの配信のチェックを一旦外して、音源が正しいか確かめたりなんかもできます。慣れてきたら、お試しください。

foobar2000の設定<毎回やる>

foobar2000を起動後、上部のメニューから「File→Preferences」と選んでください(foobarの設定は基本ここからやるので、この場所は押さえておくと良いと思います/困ったらここ!くらいのテンションです)。

f:id:pgDora56:20200701130855p:plain
foobar2000の設定

左側の縦に並んだメニューの「Playback→Output」(上図の①)と選び、Device(上図の②)を「スピーカー(VB-Audio Virtual Cable)」に変更してください。これを変えた瞬間にfoobarの音はヘッドホン/スピーカーに流れずにVB-CABLEに流れるようになります。この音をアマミキがもらいます。

出題後は元に戻してください(でないとずっとアマミキを起動しないと聞こえなくなってしまうので…)。普段は「Primary Sound Driver」にしておけば大丈夫かと思います。

Discordの設定<毎回やる>

Discordの左下にあるユーザ名横の歯車ボタンからユーザ設定に入ってください。

f:id:pgDora56:20200701131420p:plain
Discordの設定

ユーザ設定に入ったら「アプリの設定→音声・ビデオ」(上図の①)を選んでいただき、入力デバイス(上図の②)を「CABLE Output(Yamaha NETDUETTO...」というデバイスに変更してください。これでアマミキから流れてくる音が拾えます。

ついでに入力感度についても設定しましょう。入力感度とは、人の声ではないくらい明らかな小さな音しか流れていないときにDiscord側が勝手にマイクの音を流さないようにしてくれる機能です。余計な生活音なんかがこれのおかげで乗りません。

ただ出題時に関してはこの機能がフェードを勝手に消してしまったりするので非常に厄介です。同じ画面の「入力モード→入力感度」(上図の③)から自動調整をオフにし、この感度を下げておきましょう。-90dBは下回らせておいたほうが良い印象があります。特に問題なければ一番左(-100dB)まで振り切らせてしまうと良いかと思います。

こちらについても出題後はそれぞれ元に戻すと良いかと思います。

出題時に毎回やることまとめ

  • アマミキを起動(必要に応じて設定を調整)
  • foobar2000のOutputを変更
  • Discordの入力デバイスを変更

全体を通して私のデバイスでの設定を参考にしているところが多いです。環境による違いなどあるかもしれませんので、何かありましたら情報をお寄せいただけると有難いです。追記致します。

*1:「標準の再生デバイスと録音デバイスの確認」の項で確認したところと同じです。「Windowsメニュー(左下)→Windowsアクセサリ→コントロールパネル→ハードウェアとサウンドサウンド」で入ってください。