web-dev-qa-db-ja.com

さまざまなマイクからの音声入力の収集とミキシング

この回答で説明されているように、paprefsを使用して仮想出力デバイスを追加すると、2つ以上の出力/デバイスでサウンドを再生できます。 2つ以上の出力/デバイスでサウンドを再生

今、私は入力に対して同じことをできるようにしたいので、基本的に利用可能な任意の有能なデバイスからサウンド入力を収集し、それをルーティングします、たとえば、SkypeまたはSlack。大規模な会議室で非常に役立つので、両方の方法で良好な音質を得るために複数のスピーカー/マイクを配布できます。

誰かが解決策を提案できますか?

4
Bruno Bossola

だから基本的には、インターネットでたくさん掘り下げた後、自分でこれを考え出した。これは、別のフォーラムで http://www.pclinuxos.com/forum/index.php/topic,119695.msg905379.html#msg905379 で見つけた最良の回答です。

基本的に、入力が収集される偽のチャネル、「ヌルシンク」を最初に追加する必要があります。これを「入力」と呼び、次のコマンドを使用して作成します。

pactl load-module module-null-sink sink_name=inputs

その後、接続する必要のあるデバイスに必要な数の仮想チャネルを作成し、前に作成した「入力」チャネルにリンクする必要があります。したがって、ミキシングしたい入力に対してこのコマンドを繰り返してください(ラップトップの入力もミキシングしたい場合は追加してください):

pactl load-module module-loopback sink=inputs

ここで、この新しい「ループバック」チャンネルを録音元のデバイスに接続する必要があります。これを行うには、「pavucontrol」(欠落している場合はインストール)を使用し、「記録」タブを開き、下のセレクターから「仮想ストリーム」を選択し、異なる入力をそれぞれ異なるループバックに接続します。

この時点で、アプリケーションで入力を使用して録音するだけで、準備は完了です!私の元の質問で説明されているように出力もセットアップすることを忘れないでください:)

この手順は(自動化できたとしても)エラーが発生しやすく、後で追加された新しいデバイスが自動的に含まれないため、より良い回答も受け取ることができてうれしいです(新しいチャネルをセットアップして再度追加する必要があります) 。

7
Bruno Bossola