Bluecast Proモードを使って高音質配信する

[Bluecast](https://www.bluecast.app/)はすでに皆様はご存じですね？現在人気沸騰中の[Bluesky](https://bsky.app/)と連携した音声配信サービスです。こちらは[月額500円課金](https://www.bluecast.app/store)することで、Proモードを利用することができるようなり、高品質なステレオ配信などが可能となります。ここではProモードの利用を前提とした高音質配信のためのノウハウを紹介します。

# 3つの自動整音機能をオフにする

Proモードの場合、以下の3つのオプションをオフにすることができます。この3つのオプションをまずオフにすることが高音質配信の一歩となりますが、逆に不便になる点もあり注意が必要です。

##### エコー・キャンセレーション

スピーカからでた音を再度マイクで拾ってしまわないようにする設定です。スピーカでBGMや通知音などをモニタしている場合には有効ですが、雑音の原因にもなります。ヘッドホンでモニタされる場合はオフにすることをおすすめします。

##### ノイズ・サプレッション

人間の声に特化して、それ以外の音を消す設定です。楽器演奏の音などは楽器の音も雑音として扱われるので、音が聞き取りにくくなります。人間の声もまれに聞こえづらくなる場合があるので、特に雑音の多くない環境で配信される場合はオフにすることをおすすめします。楽器演奏や自前のシステムでBGMをミックスする場合はオフにすることが必須となります。屋外での配信でも臨場感がなくなってしまうため、常にオフされるほうが良いと思います。

##### オート・ゲイン・コントロール

ゲイン(音量)のコントロールを自動で行います。こちらがオンの場合はゲインを調整する必要がなくなりますが、BGMなどで想定しない音量変化を生むことがあります。オフにするとその心配はなくなりますが、自分でゲインを設定する必要があります。

# レベル調整

### レベル調整の目安

オートゲインコントロールをオフにした場合、自分で入力のゲインを調整する必要があります。Bluecastにはレベルメータがついており、これをオンにすることで、ある程度のレベルの目安をみつけることができます。「設定 > レベルメーターを使用する」にチェックが入っている状態で配信を開始すると、配信中画面の ... からレベルメータを参照することができます。喋っていてときどき赤くなる程度が最適な音量となります。

### 入力のゲイン

入力のゲインは入力の音量になります。配信 > サウンド > 入力のゲイン は 1 でユニティーゲイン(入力と出力が同じ)となります。

他のミキサーと組み合わせる場合、または、オートゲインコントロールを有効にする場合は、こちらは1のままにしておく必要があります。

直接マイクを利用する場合で、かつオートゲインコントロールが無効な場合のみこちらを調整します。こちらの値はおそらく倍率とおもわれますので、dB値に変更すると、以下の通りになります。

値 | dB
---|---
1 | 0dB
2 | +6dB
4 | +12db
8 | +18dB
10 | +20dB

参考資料

* https://tonejs.github.io/docs/14.9.17/classes/Gain.html
* https://developer.mozilla.org/ja/docs/Web/API/GainNode

# 配信

### 配信ブラウザ・端末

PCの場合近年のモダンなブラウザではほとんど問題なく配信できます。その中でもGoogle Chromeがもっとも動作確認がとれていますので、こちらを利用されることをおすすめします。OSはWindows, macOS, Linuxともに問題なく配信できます。

iOSではブラウザ問題で、オーディオデバイスを選択してもそのオーディオデバイスを正しく選択することができません(WebKitのバグ)。また、Androidの場合はオーディオデバイスを列挙できません。そのため、iOSやAndroidでは外部オーディオインターフェイスを利用したステレオ配信などを行うことができません。

### 配信音声をモニタリングする

配信中は自分のアカウントで自分の配信を聞くことができます。こちらで聞けるものは放送されているものそのものですので、これを確認するのが確実となります。ただし、若干の遅延が発生しますので、こちらをモニタしながらのトークは難しいかと思われます。配信している端末の場合は音声のルーティングで別の問題を起こす場合があるので、ヘッドホンなどを用意して、別のパソコンやスマホなどで確認されることをおすすめします。

また、テストモードを有効にすることで、開始時にBlueskyへの自動ポスト、通知、配信リストの掲載が行われなくなるため、テストがやりやすくなります。この場合再生はマイページ( www.bluecast.app/user/@Bluecastユーザ名 )に表示される再生することができます。(リスト制限などを行っていない場合は、テストモードでもこのリンクを発見されると誰でも聞くことができます。)

### 「入力をモニタ」は一体何につかうのか？

配信中画面の ... を押したときに現れる「入力をモニタ」は、配信される自分の声（入力された音）をモニタリングすることができます。リバーブやディレイの具合をモニタリングすることができます。若干の遅延が発生するため、人によってはこちらを聴きながらのトークは難しいと感じる方もいるかもしれません。
このモニタ機能は実際に放送される直前の音声を聞くことが出来ます。放送されている音声とは若干異なっていることに注意してください。

### 配信品質の設定

Bluecastは2024年8月現在、Bluecastは配信システムとしてAgoraを利用しています。そのため配信品質はそちらのプリセットとなります。


| タイプ | サンプリング周波数 | ビットレート | モノ・ステレオ | 特徴 |
|---|---|---|---|---|
| speech_low_quality | 16kHz | 24kbps | モノラル | 非推薦 |
| speech_standard | 32kHz | 24kbps | モノラル | 低帯域 |
| music_standard | 48kHz | 32kbps | モノラル | 標準 |
| standard_stereo | 48kHz | 64kbps | ステレオ | ステレオの標準品質 |
| high_quality | 48kHz | 128kbps | モノラル | モノラルの最高品質 |
| high_quality_stereo | 48kHz | 192kbps | ステレオ | ステレオの最高品質 |

参考資料

* https://api-ref.agora.io/en/video-sdk/web/4.x/globals.html

ケース別に最適なタイプを指定しますと

* 一般的なトーク番組 music_standard
* スマホお散歩配信 speech_standard (低帯域なため上りが遅いスマホから安定して配信できる)
* ステレオを活用した番組 standard_stereo
* 音質にこだわったステレオ音楽番組 high_quality_stereo

といった感じになるかと思います。

#### 入力選択

配信開始前画面の「デフォルト音声入力」ボタンから、音声を入力するオーディオインターフェイスを選択することができます。

Bluecastでは配信直前にオーディオデバイスを選択する必要があります。この選択は記憶されず、都度選択する必要があります。配信開始時に忘れがちなので注意してください。なお、iOS,Androidでは想定通りに動作しないことがありますので、これらのデバイスの場合は充分に確認してください。

「ステレオ変換を強制」は私自身まだ未検証ですが、1ch入力のマイクをステレオで接続した場合にLchのみにならないように、LchとRchにルーティングしてくれる機能で「ステレオにする機能」ではなく「モノミックス」にしてくれる機能です。BGMやカラオケなどのオケはステレオで、マイクはモノラルで、かつオーディオインターフェイスに直結している場合に便利です。

# ループバックインターフェイス

Bluecastに入力できるオーディオは、「オーディオインターフェイスからの入力」になります。そのため、別途用意したソフトウェアミキサには直接接続できません。ループバックが可能な仮想オーディオインターフェイスを用意して接続する必要があります。macOSであれば[Rogue Amoeba Loopback ($109)](https://rogueamoeba.com/loopback/)、Windowsであれば[VB-Audio VoiceMeeter Banana(ドネーション:$30程度)](https://vb-audio.com/Voicemeeter/banana.htm) がおすすめです。Rougue Amoeba Loopbackが導入出来た場合、配信のルーティングの柔軟度・安定度は圧倒的にmacOSが高くなります。VoiceMeeter Bananaは無料で使えますが、設定に慣れが必要です。

これらのloopbackインターフェイスを使えば単一のマシンでミキシングが可能となりますが、Bluecast自体パソコンやオーディオインターフェイスの安定度が求められます。そのため、より高品質で安定した配信を行いたい場合はBluecast配信専用のマシンを用意することを考慮してください。その際はオーディオインターフェイスのサンプリング周波数は 48kHz　にしておくのが最適かとおもわれます。