MacBook + Loopback + GarageBand + Korg B2でピアノ配信をツイキャスでする設定

しゃべりながらピアノ（電子ピアノ）を弾く配信をしたかったけど、オーディオ I/Oの設定をどうしていいかわからなかったので調べました

ツイキャス以外の配信アプリ、SkypeやZoomなどの通話アプリでも使えるやり方だと思います

オーディオまわりの設定を全くやったことない人でもできるように書いてみます

**注: 電子ピアノにUSB-MIDI出力のポートがない場合は、ここに書いてある手順だけではPCと電子ピアノを接続できません**

# 使ったもの

## ハードウェア

- Korg B2 (USB-MIDIのある電子ピアノ)
- MacBook
- USB-B to USB-C のケーブル

ケーブルはビックカメラで1000円くらい
長さは、使い方にもよりますが、電子ピアノの上にMacBookを置く場合は1.5mでちょうどよかったです

## ソフトウェア

- GarageBand: 電子ピアノの音をPCから出す
- Loopback: オーディオのルーティングをする
- Chrome: ツイキャスを配信する

使用ソフトウェアは全部無料です
ただし、Loopbackは無料プランだと20分以上使ってるとノイズが乗るので、20分経ったら再起動する必要があります

# 手順

ある程度わかってる人は手順の3くらいから読めば大丈夫です

## 0. ソフトウェアのインストール

GarageBand: https://www.apple.com/mac/garageband/
Loopback: https://rogueamoeba.com/loopback/

Loopbackは「Free Download」と書いてあるボタンを押してzipをダウンロードします

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/430849/7919c1ae-d85c-3f04-4b80-01e7758c5a70.png)


## 1. 電子ピアノとPCをつなぐ

電子ピアノのUSB-MIDIポートと、MacBookのUSB-Cポートをケーブルでつなぎます

電子ピアノにUSB-MIDIがない場合は、別途何かかませる必要があるみたいですが、自分はわからないので割愛します

## 2. GarageBandの初期設定をする

まず、GarageBandを立ち上げて、「新規プロジェクト」を作ります
↓の画面が出るので、「空のプロジェクト」をクリックして「選択」ボタンを押します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/430849/fca44963-11fb-dc57-4d5f-1714332d0f7a.png)

次に、「トラック」を作ります（「トラック」が何かは深く考えなくていいです）
「トラックのタイプ」を聞かれるので、「ソフトウェア音源」を選択して「作成」ボタンを押します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/430849/85fd65f9-f014-fe87-9035-9b10d60544ca.png)

こういう画面になればokです
「ミュージックタイピング」と出てる鍵盤のウィンドウはいらないので閉じます
（電子ピアノを叩いて音を出すのでいらない）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/430849/e7246c0d-e98c-8ea4-d023-eb684ae1b7ff.png)

デフォルトだと、ピアノの音が「Classic Electric Piano」というやつになってますが、気に入らなければ左の「サウンド」から変更できます
自分は↓のように「Steinway Grand Piano」に変えてみました

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/430849/d156208a-7213-0eac-89ee-b576f00c2b21.png)

このままだと、まだ電子ピアノの音は電子ピアノから出てる状態なので、次は電子ピアノの音がPCから出るようにします

## 3. 電子ピアノの音をPCから出す

環境設定(⌘,) > オーディオ/MIDIのタブを開きます
設定を↓のように変更します

- 出力デバイス: システム設定
- 入力デバイス: B2 (これは自分の電子ピアノの名前を選ぶ）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/430849/5e9ef91f-3961-8931-d721-58d5a17436cb.png)

ここで、電子ピアノを実際に叩いて、その音がPCから出てるか確認してください

## 4. Loopbackの設定をする

次は、Loopbackを使って、電子ピアノの音とマイクの音の両方が配信できるようにします

まず、Loopbackの画面左下にある「New Virtual Device」をクリックしてVirtual Deviceを作ります
Virtual Deviceは、複数のアプリからの入力を一つの出力にまとめてくれるものです

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/430849/11c7b86b-8d64-3100-b597-7f68ee476212.png)

新しいVirtual Deviceができると、名前が入力できるようになりますが、これはなんでもいいです
自分は「Garageband + mic」にしました

このVirtual Deviceに、GarageBandとマイクの入力を追加したいので、「Sources」の横の「+」アイコンをクリックして、マイクとGarageBandを追加してください
追加できたら、↓のような画面になります

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/430849/f9dde7cb-c9c7-b7ba-e9ce-550306651967.png)

↑の画面になったら、GarageBandの入力の設定をちょっとだけ変更します（でも大事）
Loopbackの画面の中の、GarageBandのとこの「Options」をクリックして、「Mute when capturing」のチェックを外します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/430849/7d2f98da-4360-6975-a1cf-c647d6232260.png)

オプションでは、アプリのボリュームのバランスも調整できますが、これはテスト配信とかで適宜調整してください

これでLoopbackの設定は完了です

## 5. ツイキャスの設定

Chromeでツイキャスを開いて、「Web broadcasting」を選択します
（または、`https://twitcasting.tv/<ユーザー名>/broadcaster` に飛ぶ)

下の方にスクロールすると、いろいろ設定するところがあるので、マイクのところに手順4で作ったLoopbackのVirtual Deviceの名前を選択します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/430849/ffcc21ff-3b60-cbeb-21be-0ff262408886.png)

電子ピアノとマイクの音に反応してればokです
あとはテスト配信などで確認してください

## 6. おわり

おつかれさまでした :tada::tada::tada:

# トラブルシューティング

## マイクの音を拾ってくれない問題

最初にLoopbackを入れたとき、Loopbackではマイクの音を拾ってるのに、ツイキャス側ではマイクの音が出てこないという問題がありました

再起動したら直りました