Linux で Teams や Zoom 会議に爽やかな BGM を流す

2021年12月13日 月曜日


【この記事を書いた人】
古賀 勇

IIJ ネットワーク本部アプリケーションサービス部・(兼)社長室所属。 メールサービスの運用業務に従事し、日々世界の悪と戦う一児の父親。社内 Power Automate エバンジェリスト(自称)。M3AAWG member / openSUSE Users / WIDE Project メンバー。趣味は大喜利。はがき職人。

「Linux で Teams や Zoom 会議に爽やかな BGM を流す」のイメージ

IIJ 2021 TECHアドベントカレンダー 12/13(月)の記事です】

リモートワークもすっかり定着して、社内外の打ち合わせはオンライン会議が標準になったところもありますが、会議に入ったとき、必要なメンバーが揃うまで無音の時間が続くことがあります。

無音の時間が耐えられないとかそういうわけではないのですが、ただ待つだけでは無駄なので、会議のパフォーマンスを最高にするためにも、「自分のスピーカーの音量が適切なのか」、「ちゃんと聞こえているのか」、そうしたポイントを事前にチェックしたいところです。

そこで、前々から Teams や Zoom に「爽やかな BGM を流せるボタン」があればいいなと思っているのですが、なかなか実装されないので自分でやってみることにしました。

環境は openSUSE Leap 15.3 ですが、他の Linux ディストリビューションでもほとんど同じだと思います。

インストール

PulseAudio ミキサーの pavucontrol をインストール。
pulseaudio-utils と pacmd は必須ではありませんが、このあと使います。

# zypper install pavucontrol pulseaudio-utils pacmd

BGM を流す手順

  1.  Teams 会議や Zoom 会議に参加する。
  2.  PC 上のプレーヤーで爽やかな音楽を流す。YouTube でも OK。
  3.  pavucontrol を実行すると、次のようなウインドウが表示されますので、「録音」タブを開き、「Monitor of 内部オーディオ アナログステレオ」を選択。(※1)
    (機種によって名称が違うかもしれない)これだけで OK!

通常はマイクの音声を入力とするところを、手元の PC から出力されるもの全てを入力としています。
つまり、他の会議の参加者は、自分の発した言葉がそのまま返ってくるエコーバックになります。(※2)

元に戻して会議に参加するときは、「内部オーディオ アナログステレオ」に戻せば OK。

CLI で操作する

Linux のサウンドシステムは複雑奇怪なことで知られますが、PulseAudio は pacmd コマンドで操作できます。つまり、設置しておいたノートに ssh でログインして、ノート PC を遠隔ミキサーとして使うことが可能です。

  • 入力デバイスを調べる
    $ pacmd list-sources
    (一部抜粋)
    2 source(s) available.
     * index: 0
           name: <alsa_output.pci-0000_00_1f.3.analog-stereo.monitor>
           driver: <module-alsa-card.c>
           flags: DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
           state: RUNNING
           properties:
                   device.description = "Monitor of 内部オーディオ アナログステレオ"
                                        ↑ こっちがループバックデバイス
     
       index: 1
           name: <alsa_input.pci-0000_00_1f.3.analog-stereo>
           properties:
                   device.description = "内部オーディオ アナログステレオ"
                                        ↑ こっちはスピーカー出力
  • 入力デバイスを切り替える
    上記で調べた index 番号を指定する

    • index 0 のループバックデバイスに切り替えるとき
      $ pacmd set-default-source 0
    • index 1 のスピーカー出力に戻すとき
      $ pacmd set-default-source 1

      ちなみに CLI といっても侮ってはいけない。
      pamix コマンドを使えば、ターミナル上で VU メーターをモニタしたり、レベルを調整したりできる。十分実用的だ。

  • Teams (Skype と表記される)

 

  • Zoom

 

  • このノート PC をミキサーとして、複数の音声ソースを同時再生しつつ、入力レベルを調整したりしている様子

    • [F1] 〜 [F4] でデバイスの選択。
    • vi でお馴染みの [h] [j] [k] [l] で操作できるほか、キーボードの ←→ でも簡単にフェードイン/フェードアウトできる。
    • 数字の [1] 〜 [9] キーが 10%〜90% のショートカットキーになっていて、ダイナミックに上げ下げすることもできる。
    • [m] でミュート/ミュート解除。

応用

これを応用すると、次のようなことも可能になる。

  • 遠く離れた PC の音声を Zoom で聞く
  • 予め録音しておいたプレゼンテーションを、あたかもライブでやっているように見せる

 

IIJ では運用エンジニアを募集しています!

会社で支給される PC が Windows で飽き飽きしていませんか!?
私の運用部署では、最高のパフォーマンスで業務を遂行していただくため、PC、OS を自由に選択しています。
少しでも気になったら、次のリンクから、ぜひ応募要項をご確認ください!
https://js01.jposting.net/iij/u/job.phtml?job_code=196

トラブルシューティング

  • 上記手順に従って設定しても BGM (手元の音声) が流れない
    • マイクがミュートになっていませんか? BGM を流すときはミュートを解除します。
    • 別のデバイスが選択されていませんか?
      Zoom の場合、アプリ側にも設定項目がありますので、”Same as System (システム設定)” を選択します。

 

  •  ボーカルの入った音楽を流すと音声が不安定になる
    • OS 側でノイズキャンセリング機能が有効になっている場合がありますので無効にします。
    • Zoom にはアプリ側にノイズキャンセリング機能がありますので、Low(低) にします。

 

  • pavucontrol の使いかたが分からない
    • PulseAudio では、音声の出る元を「ソース(source)」、それを出力するデバイスを「シンク(sink)」と呼びます。
    • 雑ですが、こんな感じです。(source と sink の概念を説明するためのイメージ)
      上記画像の「会社の Base QC35 II」のように、Bluetooth のヘッドセットを正しくペアリングすると sink 先デバイスとして表示されるようになります。

 


    1. アプリケーションによってはこの操作がロック(禁止)されていることがあります。その場合は、pacmd コマンドで変更できます。[↑]
    2. BGM を流している間は自分の声は相手に届きません。固定電話の保留みたいに使うこともできますね。BGM が正しく流れているかや、適正な音量で流れているかを確認するには、別の端末から同じ会議に参加します。[↑]
IIJ Engineers blog読者プレゼントキャンペーン
  • Twitterフォロー&条件付きツイートで、
    「IoT米」と「バリーくんストラップ」のセットを抽選で20名にプレゼント!
    応募期間は2021/12/01~2021/12/31まで。詳細はこちらをご覧ください。
    今すぐツイートするならこちら→ フォローもお忘れなく!

古賀 勇

2021年12月13日 月曜日

IIJ ネットワーク本部アプリケーションサービス部・(兼)社長室所属。 メールサービスの運用業務に従事し、日々世界の悪と戦う一児の父親。社内 Power Automate エバンジェリスト(自称)。M3AAWG member / openSUSE Users / WIDE Project メンバー。趣味は大喜利。はがき職人。

Related
関連記事