My plot.

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

ステレオでオンラインイントロ出題環境を整える

update: 2023-03-31

イントロクイズの出題でよく用いられている「Discord Audio Stream Bot」についてのご紹介をざっくりとする記事になります。

ざっくりなので、一部省略されているところはあるかもしれませんが…………

github.com

ソフト自体はこちらで配布されています。

既存の方法に比べた利点として、

  • 導入が(以前より)簡単
  • ステレオでのイントロ出題が可能
  • 音質が格段に向上する

といったところがあります。

欠点としては

  • 一人一つサーバにボットを持つことになってしまう

というところくらいでしょうか。これといった欠点がないです。

※過去のバージョンを利用されている方はサーバの管理者しか使えないようになっている場合があります。最新版ではBotのオーナーであれば使えるようになっていますので、最新版を利用してください。

必要なもの

  • foobar2000
  • YAMAHA SYNCROOM
    • 仮想オーディオデバイス部分のみ使います。NETDUETTOで代用可能です。
  • Discord Bot
    • Discordで音を流す元になるBot
  • Discord Audio Stream Bot
    • Discord Botに音を流すためのツール

後ろ2項目を中心に解説します。

SYNCROOMのインストール

syncroom.yamaha.com

これは以前の環境と同じです。NETDUETTOが入っている方はそちらで大丈夫です。

「今すぐダウンロード」から流れに沿ってインストールまで行ってください。

Discord Botの登録&導入

一度登録したことがある方は、Bot Tokenさえあれば同じBotを使い回すことが可能ですので、実質スキップできます。Bot TokenはDeveloper Portalから確認できます。

discord.com

こちらのDiscord Developer Portalから、Discordで音を流す元になるBotユーザを登録していきます。上のリンクから既に登録しているDiscordのアカウントでログインしてください。

ログイン後

こんな画面になると思います。既にBotを作ったことがある人はそれが表示されているかもしれません。

右上のNew Applicationから新しいBotを作っていきます。Nameには好きな名前をつけてください。例では Amana として進めます。

こんな感じになるはずです。ICONはBotの判別に使ったりしますので何かいい感じの画像を設定しておくことをオススメします。その他General Informationはお好きに変えたり変えなかったりしてみてください。

左側のパズルピースのような Bot というところに移ります。

Add Bot をクリックしてください。

こうなればOKです。そうしたら、TOKEN の下に青枠である COPY というボタンでトークンをコピーします。後ほどソフト側で使うので、メモ帳あたりに貼り付けておいてください。

IOLeosdfg56MiIw.YgiussaASrw.xRPqsASF5k-N235UsgasdEafo

トークンはこんな雰囲気の文字列のはずです。

このトークンは我々がログインするときに使うメールアドレスとパスワードを一つにまとめたような文字列なので、これさえあればBotに対してなんでもできてしまいます。しっかりと管理するようにしてください。

同じくBotの画面で少し下に行くと SERVER MEMBERS INTENT という項目があります。これにチェックを入れ、Save Changes してください。この設定を忘れがちなので注意です。

以上でBotの設定はOKです。

Discord Audio Stream Bot

いよいよラストです。以下からツールをダウンロードしてください。

github.com

ダウンロードすべきもの

その時点で最も新しい日付の Discord.Audio.Stream.Bot.zip を保存してください。

保存後、解凍すると、

native(フォルダ)
Discord Audio Stream Bot.jar
run win.bat

の3項目があると思います。一番下の run win.bat を起動してください。

ここで上手く起動しない場合、64bitのPCに32bit用のJavaを導入している可能性があります。

こんな画面が出ると思います

javaw.exeが見つかりません などと表示される場合はJavaがインストールされていない可能性があります。こちらのサイトからJavaをインストールしてください。

デカ電源ボタンを押したくなりますが、上の Setting タブからまずは設定を整えていきます。

上の画像で印がついた3箇所を設定してください。

  • Bot token には先程Botの作成中にコピーしたToken
  • Speaking enabled にチェックを入れる
  • Recording device を後ろのほうに SYNCROOM と書いているものを選択(NETDUETTOの方はそちらで)

ここまで設定が終わったら、 Home タブに戻って、デカ電源ボタンを押しましょう。緑色で Connected となればOKです。

すると Maintenance のタブが使えるようになります。このタブに移動して、下側にある Invite bot... をクリックしてください。

ブラウザが開いてこんな画面が出るはずです。使いたいサーバを選択して 認証 から進んでください。 認証しました と出たら、サーバにBotが追加されているはずです。ブラウザは閉じてOKです。

※追加したいサーバが選択肢にない場合は、そのサーバにBotを追加する権限がない可能性があります。その場合は認証画面のURLをコピーして、管理者など権限を持っているひとに送って代わりに追加してもらうことが可能です。管理者にお願いしてみてください。

追加されたサーバで / を打ってみると以下のように上にコマンド一覧が表示されます。

左側のアイコンで自分のBotを選択し、その中から /join を選択してください。自分が入っているチャンネルへBotが入ってくれるはずです。

これで、foobar2000の出力先を ライン (Yamaha SYNCROOM Driver (WDM)) に変更すれば完了です。わからない方は以前の記事を参照ください。

まとめ

これで、Discord Audio Stream Botから音が流せるようになります。出題クオリティが段違いなのでぜひぜひ皆様導入してもらえるといいな~ってなってます。

何か環境等で違いあれば、情報を寄せて頂けると有り難いです。よろしくお願いします。