MacOSのシステム音声を利用してTeamsを録音する

# 概要
MacOS環境で、議事録を残さなければならないTeams会議の録音などに利用していました。
もっと良い方法があるかもしれませんが、忘備録として残します。

__開発環境__
> * macOS Monterey 12.6
> * MackBook Pro (13-inch, M1, 2020)

# 仮想オーディオドライバ 「BlackHole」を利用する
スピーカー出力を録音するために [BlackHole](https://github.com/ExistentialAudio/BlackHole "BlackHole") を利用します。

## Blackholeのインストール手順
BlackHoleをインストールする方法は主に二通りあります。ダウンロードはメールアドレスの入力が必要なので、Homebrewからインストールするほうが手軽です。

### 1.公式ページからBlackholeをダウンロード

https://existential.audio/blackhole/

### 2.Homebrewからインストール
Homebrewから２ch、16ch、64chがインストールできます。今回は2chをインストールします。
※Homebrewについては[こちら](https://brew.sh/index_ja "Homebrew")を参照 

```zsh
$ brew install blackhole-2ch
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/549374/9cecd5ec-6e94-44df-2061-0fb5adac5502.png)
BlackHoleのインストールが完了すると、『システム環境設定→サウンド』の入力と出力に BlackHole 2chの仮装デバイスが追加されます。

# 複数出力装置を設定する
複数出力装置を追加して、スピーカーとBlackHoleの両方に音声を出力できるように設定します。
『LaunchPad→その他→Audio MIDI設定』を開きます。

### 1.左下の + を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/549374/50a40107-a5a5-a531-25aa-4a60aa8cf039.png)
### 2.複数出力装置を作成を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/549374/d2def10a-3ae2-776d-3e6a-24d0958c5045.png)
### 3.複数出力装置を設定する。
複数出力装置の選択欄から、BlackHole 2chと音を出力したいスピーカーデバイスを選択して、音ずれ補正にチェックを入れます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/549374/3007f401-0c0b-7bc1-00bc-793a375f0e6a.png)
### ４.『システム環境設定→サウンド→出力』で複数出力装置を選択します。
複数出力装置を選択すると、3で選択したデバイスに音声が出力されるため、スピーカーに音声を出力しながら、BlackHole 2chに音を出力することができます。この状態でBlackHole ２chを録音すると、マイク入力以外のシステム音声が録音されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/549374/2fcb9c71-0807-4050-c2e8-ec5da1e516c4.png)

# LadioCastを利用してマイク入力をBlackHoleに出力する
### 1.LadioCastとは
LadioCastはMacで動作するインターネットラジオ放送ソフトウェアです。LadioCastのミキサー機能を利用して、BlackHoleに音声を入力し、マイクとスピーカーの音声をBlackHoleに入力します。
### ２.LadioCastのインストール
LadioCastはMac App Storeからインストールできます。

https://apps.apple.com/jp/app/ladiocast/id411213048?mt=12

### 3.LadioCastを起動をミキサーを設定します。
入力１にマイク入力に使うデバイスを選択し、出力メインにBlackHoleを選択します。
これによりマイク入力と音声出力をBlackHoleに入力できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/549374/893f310d-1c81-5a99-d3fc-0b4f302bff78.png)

# Teamsのオーディオデバイスを設定する
__1.Teamsのオーディオデバイスの設定を変更します。__
BlackHoleに音声を入力しながらスピーカー出力をしたいため、Teamsのオーディオデバイスの設定を複数出力装置に変更します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/549374/177d6669-9868-44ee-68f1-8813b9797464.png)

# QuickTimePlayerでTeamsやシステムの音声を録音する
QuickTimePlayerでTeamsやシステムの音声を録音して、BlackHoleやLadioCastの設定に問題がないかを確認します。

### 1.QuickTimePlayerを起動する。
『LaunchPad→その他→QuickTime　Player』を起動します。

### 2.新規オーディオ収録を選択
『QuickTimePlayerメニュー→ファイル→新規オーディオ収録』を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/549374/c54fd241-ac4b-7bb0-1f73-7e91fc8e474d.png)

### 3.録音デバイスを設定する。
赤い録音ボタンの横の記号をクリックして録音デバイスにBlackHoleを設定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/549374/003203d8-e232-be57-2c13-de7d2bb839c7.png)

### 4.録音する
録音ボタンをクリックすると、Teamsやシステム音声が録音できます。録音が完了すると再生ができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/549374/90223019-0633-8749-b767-d27ca01c721d.png)

# まとめ
Pythonなどの言語で録音する場合はPortAudioやSounddevice,pyaudionなどを利用してBlackHoleを録音デバイスに指定することで録音ができます。録音した内容をSpeech-to-Textを利用して文字起こし、ネガポジ判定するなどして、どんな会議だったか振り返ると楽しいかもしれないですね。

# 参考
https://github.com/ExistentialAudio/BlackHole

https://corriente.top/mac-sounds-mulch-audio/

https://apps.apple.com/jp/app/ladiocast/id411213048?mt=12