ストリーミング設定用の配管シンク接続

ストリーミング設定用の配管シンク接続

おやすみなさい!

私と私の友達がSkypeを介して一致するようにストリーミング設定を作成しようとしていますが、オーディオ部分でブロックされています。 2つの質問があります。

  1. マイクは左チャンネルでのみ送信されます。私のマイクが両方のオーディオチャンネルに送信できるようにしたいです。そのために文書によると(https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Virtual-Devicesmono-sink)マイクに電話する場所を作成し、それを私のfriend sinkブログ投稿()に送信する必要があります。https://blogshit.baka.fi/2021/07/pipewire-microphone/)はこのユースケースを扱っているようですが、media-session.dファイルはありません。
  2. 一部のアプリやその他のようなオーディオソースに入力し、マイクのfriend sinkほかにその中に含まれているものも聞きたいです(ただ、ワンタイムテストでマイクを聞くこともあります)。

どうやってこれを達成できますか?ドキュメントに特定の名前があるように見える設定ファイルの名前を指定する方法を教えてください。私のアプリケーションにオーディオを入力するには?私自身のために別のシンクが必要ですか?パイプラインワイヤのデバイス名を見つけるには?

これが私のpactl info結果です

shaddox@pop-os:/usr/share/pipewire$ pactl info
Server String: /run/user/1000/pulse/native
Library Protocol Version: 35
Server Protocol Version: 35
Is Local: yes
Client Index: 660
Tile Size: 65472
User Name: shaddox
Host Name: pop-os
Server Name: PulseAudio (on PipeWire 0.3.79)
Server Version: 15.0.0
Default Sample Specification: float32le 2ch 48000Hz
Default Channel Map: front-left,front-right
Default Sink: alsa_output.usb-Grace_Design_SDAC-00.iec958-stereo
Default Source: alsa_input.usb-Yamaha_Corporation_Steinberg_UR22mkII-00.analog-stereo
Cookie: 3fff:d574

役に立つなら、ここに私のarecord -l結果があります。

shaddox@pop-os:/usr/share/pipewire$ arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC887-VD Analog [ALC887-VD Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 2: ALC887-VD Alt Analog [ALC887-VD Alt Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 3: Webcam [C922 Pro Stream Webcam], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 4: UR22mkII [Steinberg UR22mkII], device 0: USB Audio [USB Audio]
  Subdevices: 0/1
  Subdevice #0: subdevice #0

これは私のaplay -l結果です。

shaddox@pop-os:/usr/share/pipewire$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC887-VD Analog [ALC887-VD Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 1: ALC887-VD Digital [ALC887-VD Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: SDAC [SDAC], device 0: USB Audio [USB Audio]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 2: NVidia [HDA NVidia], device 3: HDMI 0 [22M35]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: NVidia [HDA NVidia], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: NVidia [HDA NVidia], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 4: UR22mkII [Steinberg UR22mkII], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

私はギターの録音とマイシングにのみSteinberg UR22mkIIを使用し、聞く場所はSDACです。

答え1

もちろん、自分で質問をしたら、何を探すべきかを知ることになります。まず、運用のために2つの仮想デバイスを作成する必要があります。ファイル名はです~/.config/pipewire/pipewire.conf.d/10-coupled-skype-stream.conf。どうやってこの結論を下しましたか?真実の源はそこにある/usr/share/pipewire!さて、ファイルの内容を見てください。

context.modules = [
    {   name = libpipewire-module-loopback
            args = {
                node.description = "Steinberg Front Left"
                capture.props = {
                    node.name = "capture.mono-micorphone"
                    audio.position = [ FL ]
                    target.object = "alsa_input.usb-Yamaha_Corporation_Steinberg_UR22mkII-00.analog-stereo"
                    stream.dont-remix = true
                    node.passive = true
                }
                playback.props = {
                    media.class = "Audio/Source"
                    node.name = "mono-microphone"
                    audio.position = [ MONO ]
                }
            }
    }
    {   name = libpipewire-module-loopback
        args = {
            audio.position = [ FL FR ]
            capture.props = {
                media.class = Audio/Sink
                node.name = skype_sink
                node.description = "Virtual Skype sink"
            }
        }
    }
]

という簡単なプログラムの助けを借りてデバイス名を見つけましたSimple Wireplumber GUI。最初のペアが行うことは、ソースの左側のチャンネルから新しい仮想シングルチャンネルまでテザーを作成することです。

設定ファイルの2番目の部分は、sink誰もが聞きたいオーディオコンテンツをダンプする場所であるaというエントリを作成します。

qpwgraph今、またはというソフトウェアを使用して、Helvum誰もが聞きたいことをリスナーにバインドします。左チャンネルは左チャンネルに移動し、右チャンネルは右チャンネルに移動します。 MONOソースの場合は、2つのチャンネルに入ります。

テストするのに十分に聞いた後、上記の手順でループバックテザーを見つけて切り取ります。

これが他の人に役立つことを願っています。

関連情報