Linux でのオーディオ録音 - VoIP 会話の両面をすべてキャプチャします。

Linux でのオーディオ録音 - VoIP 会話の両面をすべてキャプチャします。

Audacity(または同様の製品)を使用してポッドキャストオーディオを録音したいです。 PodcastはVoice over IP(SIP)通話を通じてインタビューを行います。

ここで素晴らしいチュートリアルを見つけました。 http://www.linux.com/learn/tutorials/367395-weekend-project-record-from-skype-calls-and-other-apps-on-linux

必要なほとんどの手順を提供します。最も重要なことは、録音をサポートしていないアプリで通話の両方をキャプチャする方法を説明することです。 「通話の両側をキャプチャする実際のソリューションは、両側に接続された仮想PulseAudioデバイスを構築することです」 「次に、空の受信機を録音して、結合されたオーディオを単一のファイルとしてキャプチャします。」

しかし、私は別のことをしたいと思いました。私は会話のオーディオが完全に「マージ」されたくありません。会話の一方があるチャンネルにあり、もう一方が別のチャンネルにあることを望みます。実際にこれを行うことができるハードウェアデバイスがありますが、私が考えたのは次のとおりです。デバイスはここにあります。 JKオーディオインラインパッチ:

http://www.jkaaudio.com/inline-patch_dtails.htm

「ミニステレオ出力ジャック、左チャンネルに発信者、右チャンネルにローカル音声」を提供します。これは私が望むものと非常に似ています。私は250ドルのハードウェアを購入しなくてもチュートリアルで説明されているようにこれを行うことができると思いました。

元のチュートリアルステップは次のとおりです。

pacmd info
cp /etc/pulse/default.pa ~/.pulse/default.pa

次に、お気に入りのエディタでdefault.paを開き、次の内容を追加します(pacmd infoの情報に基づいて)。

# set up null sink and loopbacks to record voice calls
load-module module-null-sink sink_name=mywiretap
load-module module-loopback source=alsa_output.pci-0000_00_06.1.analog-surround-40.monitor sink=mywiretap
load-module module-loopback source=alsa_input.pci-0000_00_06.1.analog-stereo sink=mywiretap

チュートリアルでは:この設定のもう1つの利点は、PulseAudioがアプリケーション接続の詳細を自動的に保存するため、次回ログインするときに録音アプリケーションを空の出力モニタに接続するプロセスを繰り返す必要がないことです。レコーダーをオンにして[インタビュー対象]に電話して話を始めましょう…

私の質問は、ステレオ録音のあるチャンネルで自分のオーディオをキャプチャし、別のチャンネルでインタビュー対象のオーディオをどのようにキャプチャしますか?それとも、Audacity(必要な場合)を使用して完全に個別にキャプチャするにはどうすればよいですか?

私はAudacityを使用していますが、Audacityを使用して2つのウィンドウを開き、2つの別々のソースを録音することはできません(少なくとも理解できません)。

興味があれば、私のSIPクライアントはTwinkleです。

答え1

解決策はJACKオーディオ接続キット(http://jackaudio.org/)。最後に、KX Studioディストリビューション(Debian / Ubuntuベース)をインストールし、簡単にするためにPulseAudioをアンインストールしました。

PodcastはVoice over IP(SIP)通話を通じてインタビューを行います。会話の一方があるチャンネルにあり、もう一方が別のチャンネルにあることを望みます。

JACKは私がそうすることを可能にします。

答え2

PulseAudioとgstreamerのソリューションは次のとおりです。

  1. 出力を確認して、スピーカーモニターとマイクのgstreamerデバイス名を確認してくださいpactl list | grep -A2 'Source #'。これら2つの装置は通話の両端に対応する。

  2. 次のようにgstreamerコマンドを実行してデバイス名を指定しますdevice=…

    gst-launch-1.0 -e \
    pulsesrc device=alsa_input.usb-046d_0819_561F63A0-02.mono-fallback \
    ! queue ! audioresample ! audioconvert \
    ! vorbisenc ! oggmux ! filesink location=recording1.ogg \
    pulsesrc device=alsa_output.pci-0000_00_1b.0.analog-stereo.monitor \
    ! queue ! audioresample ! audioconvert \
    ! vorbisenc ! oggmux ! filesink location=recording2.ogg
    
  3. recording1.oggしたがって、両方の通話に対して2つの別々の録音が届きます。recording2.oggまったく同時に起動するため、Audacityなどで別のトラックとして使用できます。

gstreamer コマンドは単に 2 つの独立したソースと 2 つの別々のシンクを開き、1 つのソースをそれぞれ 1 つのシンクにルーティングします。複数のソースを単一のシンクに混在させることもできますが、この場合はそうしないことを願っています。

関連情報