実験配信について〜遠隔B2B

※すみません、気付いたんですが図や細かい部分に間違いがあるので訂正しています。やることや設定自体は間違ってません。(2020.05.03 23:24)

はじめに 〜この記事の目的〜

こんばんは、今日も元気にnoteを書き続け、なかなか人の前で正直にならない樋口円香に思いを馳せています。サンセットスカイパッセージの衣装コメントで「これからよろしくね!」じゃないんだよ、かわいいね。「#鴨川で踊るか」所属の浮遊です。

さて、昨日かんちゅさんのチャンネルで実験配信をゲリラ的に開催しました。遠隔でB2Bをするという内容でしたが見ていただけましたか?あまりにもテストからそのまま配信に行って突然すぎたのでほのめかすことすらできなかった……。ほかの配信も多数被ってたようで本当に見てもらえたのか……?一応アーカイブが残ってる(ミュート食らってる部分もあるみたいですが)ので、気になる方はどうぞ。

この記事では実施の背景と機材構成、実際にB2Bをやるには何をすればいいのか、反省点まで説明します。ただでさえ対面でも疲れるB2Bが遠隔になるので、終わった後しばらく放心するくらい疲れますが楽しいですよ。ちゃんと聴けるレベルの配信も可能なのでぜひこれを読んでやってみてください。

実施に至る背景

そもそもの発端は氾濫する配信コンテンツに対して、鴨川クルーなら何ができるのかという部分を考えていたところに始まります。かんちゅさんは知りませんが私はすごく考えていました。「#家で踊るか」Vol.1ではDiscordで疑似鴨川デルタを構築し、至らぬ点もありながらちょっと成功したという感じです。何より楽しかった。

Vol.1のあと、配信方法についてちょくちょく話をしてました。あのときは配信アカウントのストリームキーを共有して配信していたので、チャンネルは変わらないけどいちいち配信が止まるという状況でした。

そういうのもあり、チャンネルを移動することなくスムーズにかつ高音質で配信するということが主眼となっていたように思います。Mixlrを私は提示したり、MixcloudのLive機能がリリースされたりもしました。

しばらく経ってから、かんちゅさんが持ってきたとある記事がありました。それが以下の記事です。

Yamahaのオンラインセッション用のサービスに関してのインタビュー記事です。本来はギターなどの楽器でセッションするためのサービスで以前より開発が進んでいたみたいです。

これなら上記条件を満たせるということだったんですが、これを見て私は「B2B、結構現実的では」と思ったんですよね。たぶんそれも込でこの記事を持ってきたんだとは思いますが、B2Bは実質セッションなのでこのサービスでなんとかB2Bできないかと。

それを2週間弱テストし続けて、一番のボトルネックだった我が家の回線速度の問題が解決してある程度形になったので、後継のSYNCROOMリリース前にNETDUETTOで実験配信した次第です。

NETDUETTOの一番のいいところは高音質低遅延でやりとりができるところです。配信するにあたってある程度は音質がよくないとねって感じですし。

確実に必要となるのは高速インターネット回線です。サンプルとして両者のGoogleのスピードテストの結果を掲載します。

(かんちゅさん側の速度、バカ速いけど何……)

(私側のスピード。これもまあまあ出てるなって感じですね。実は上りの速度が400倍くらいになった。)

機材構成: 配信側(かんちゅ)

配信している構造を私はちゃんと理解していなかったのですが、確認を取ったので以下では説明していきたいと思います。まずはかんちゅさんの機材構成からです。

・デスクトップPC (音の送受信、配信用)
・ノートPC (DJ用)
・DJミキサー

きっちりパワポで送られてきて笑っちゃいました。最低限のものに関しては上図のような構成です。ここにチャット用PC、Twitch確認用にiPadが投入されていました。ポイントはNETDUETTO経由の私の音がかんちゅさんのDJ用ミキサーに入力されていること。これにより擬似的なB2B環境ができます。

擬似的というのは、ミキサーを触るのはかんちゅさんで私は選曲と拍合わせしかしないので再生は100%音量を出してるしEQも触ってません。マスターテンポ外してナイトコアにしたときにちょっと低音押し出すとかはしましたけど。

機材構成: B2B相手 (私)

・ノートPC (DJとチャットする用)
・デスクトップPC (NETDUETTO用)
・ノートPC2 (NETDUETTOの音をモニターする用)

さっきの図の私とNETDUETTOのところを切り取って詳細を示すとこうなります。

私はDJ用と音を渡す用を分けていますが、ここは十分なスペックのPCなら別に分ける必要はないと思います。単純に普段DJするのがMacbookでネットワークにIPv6で有線接続できるのがデスクトップだっただけです。

NETDUETTO自体にもモニター機能があるようですが、めんどくさいのでもう1個PCを用意しました。雑に買ったRedmibookがこんなところでも活きるとは……。Thx for Xiaomi……。

具体的なMIX手順

NETDUETTO自体の使い方や必要なこと、後継サービスはこちらで見てもらうとして……。以下の私の側のNETDUETTOの状態を見てください。

(パスワード出ちゃってるけど気にしない。ここ以外では使ってないパスです。)

ルームにはチャンネルが3つ立っています。「かんちゅ1」の音質は「低」に設定されていますが別に低くなくても大丈夫です。自分も音を楽しみたい場合やちゃんと聞こえないと音がわからないみたいな人は高音質でロスレスでいいと思います。ネットワークが耐えるなら全く問題ない。

設定のコツは音を混線させないこと。バッファサイズの違う音が入り乱れるとどれを聴いてるかわからなくなるので、モニターPCにはイヤホン、DJ機器のモニターにはヘッドフォン、出力には音量を下げたスピーカーというようにするといいと思います。

さて、バッファがあるのにどうやって繋いでるの?という本題なんですが、非常に原始的です。前述のとおりMIXはすべてかんちゅさんがします。なのでだいたい拍を合わせれば微調整は向こうでしてもらえるし、音を出してても向こうのミキサーで切っていれば配信に音が乗らないというのがまず前提です。その上で下図をご覧ください。

(合わせたいのは「かんちゅ1」の赤とネットを通して聴く「浮遊」を示す黄緑の矢印の開始地点ですが、「浮遊mi」で「かんちゅ1」の音を聴いて再生すると上段の状態になります。なんとか調整して下段の状態にしたい。)

かんちゅさん側が「浮遊」の音をミキサーに入力する際のバッファサイズも確認が必要になります。これを書いてて脳内の仮説が間違ってるのに気付いたので、確認してなかったし間違った調整をしてたっぽいけど、ズレてた分を自然とかんちゅさんが調整してたんじゃないかな。普通にやるよりはズレがマシな方法ではあったので……本当にすみません。

かんちゅさんのPC上で「浮遊」のNETDUETTOのバッファが8msであれば、私の再生した音が8ms遅れてかんちゅさんのミキサーに送られます。かんちゅハウスから聴こえてくる音が6ms遅れてるとすると、私の手元で「かんちゅ1」より楽曲を14ms分早く再生する必要があるわけです。その14msを再現するのに使っていないDECK2を使います。

このようにDECK2にはループをかけたクリックを用意しています。お好みで4小節のとかを用意するといいと思います。アニソンとかやるなら2小節がちょうどよかったりするかも。

準備としてはかんちゅさんがミキサーに送ってる分のバッファサイズとこっちがかんちゅさんの音を聴く分のバッファサイズの和を「浮遊」に設定しておきます。今だと14msということになりますね。

まずかんちゅさんのDJミキサーで私のフェーダーが下がってることを確認します。これはミックスしてるときに「かんちゅ1」だけをモニターしてれば「今音切ったな」とわかります。正確には6ms前ですが。

それがわかったら「かんちゅ1」の音(つまりかんちゅさんがかけてる曲)に合わせてメトロノームを鳴らし、Deck2のフェーダーを上げてNETDUETTOに入力して「浮遊」の音もモニター用PCで聴きます。フェーダーは切られているので「かんちゅ1」、つまり配信にはメトロノームの音は入っていません。

普通に「かんちゅ1」の音に合わせて再生すれば、「浮遊」から出てるメトロノームの音と「かんちゅ1」から出てる音とズレます(図の上段の状態)。それは今だとこちらで再生した音が14ms遅れて「浮遊mi」にかえってくるからです。このズレがなくなるようにこちらでメトロノームを微調整してあげます。

そうすれば「かんちゅ1」より14ms速いCUEがDECK2にできてるのと同じことになり、向こうの曲と合うように再生するタイミングがDJ用PCに再現されるので、それに合わせてDeck1のかけたい曲をよきところでフェーダーマックスで再生。こうすることでかんちゅさんはある程度タイミングのあったCUEが聞こえてきてMIXを始められるという感じです。

実験配信中はスクショの通りの設定だったので、対面でのB2Bに例えると「かんちゅさんのPC上で設定されたバッファサイズ分遅く再生ボタンを押して全く調整をしない」人間と同値になってたと思います。それでもズレは何もしないよりだいぶマシになるのでなんとかMIXできてたんじゃないでしょうか。

MIXする側は常時耳で合わせなきゃいけないし、インターネットの向こうにいる人間からくるCUEも聞く必要があるので慌ただしくて大変ですが、これならB2Bは可能ということになります。

あとこれはやってる途中で会得したコツなんですが、歌モノだとバイナルスピードアジャストを調整しておいてMIXが終わりそうなタイミングで再生を停止するとぶつ切り感のない気持ちいい繋ぎが完了することが多いです。

反省点

・連絡はチャットではなく音声通話でやるべきだったかも
チャットよりも音声通話の方が互いに伝わりやすいので、余裕があるなら音声通話の方がいいのかなと思います。BPM変えるときとか頭から聴かせたいときとかは伝えなきゃいけないので。何度かミックスポイントにたどり着いてしまい、通りませんでした。
また、NETDUETTO自体にチャット機能があるのでそれでやってもいいかもしれません。いずれにしろ、リアルタイムで情報を交換する方法は必要です。

・仮説を立てるときは図を描いて確認した方がいい
構造が複雑すぎて勘違いを起こしていました。図は描いたほうがいいですね。

・事前にプレイする内容の打ち合わせはすべき
2人とも常套手段はあれど主なプレイジャンルが特にない人なので次の予測が立たないし、対面じゃないから流れてきて初めて「そういう展開〜!?」ってなり慌てて曲を変えるみたいなことが多発しました。打ち合わせはしましょう。

おわりに

ということで奇しくも初の鴨川クルーB2Bはインターネット上と相成りました。誰も呼んでくれないから勝手にやっちゃったよ。そして選曲してただけなのにあの人から何が飛んでくるかわからなくて疲れる。何でも飛んでくるから対面でやらせてほしい。

ここまでしてB2Bやる必要あるんかって感じですけど、どれだけ「イベントが配信で開催だよ〜」ってなっていても家からだと個人のDJ配信のぶつ切りになってしまう現状に、1個案が提示できるという意味で有意義だったんじゃないかなって思います。

さて、考えられる今後の展望としてはVJさんとの共同配信ですかね。NETDUETTO経由でOBSに音声を入力して配信しているということを考えれば、VJさんにもルームに入ってもらってMIXされた音声を入力としてVJしてもらえれば遅延なしで映像が見せられるんじゃないかな。負荷が大きすぎて厳しいかもしれないけど、どうだろう。

-------------------------------------

ここまで見てお気付きかもしれませんが、我々は電源があるとなった瞬間にリソースを使い切る集団となっています。パソコン何台動いてるんだって感じ。なので川でやってる我々にUPSなどのちゃんとした電源を与えてはいけません。あればあるだけ使ってしまうので。

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