저는 하나의 USB 헤드셋으로 두 대의 컴퓨터에서 작업합니다. Linux가 아닌 컴퓨터의 출력을 Linux 컴퓨터의 라인 입력(파란색 오디오 잭)에 연결하고 PulseAudio를 사용하여 신호를 Linux 컴퓨터의 헤드셋 출력에 믹싱하여 두 가지 모두를 듣고 싶습니다.
pavucontrol은 "라인 입력"(선택됨), "전면 마이크", "후면 마이크"와 같은 포트를 선택할 수 있는 "내장 오디오 아날로그 스테레오" 입력 장치를 보여줍니다. Linux가 아닌 시스템에서 오디오 재생에 반응하는 장치의 볼륨 미터를 볼 수 있습니다.
PulseAudio가 해당 오디오 신호를 내가 선택한 출력 장치로 재생하도록 하려면 어떻게 해야 합니까?
답변1
1. 루프백 모듈 로드
pacmd load-module module-loopback latency_msec=5
재생 및 녹음 장치를 만듭니다.
2. pavucontrol에서 장치 구성
pavucontrol에서는녹음탭에서 "루프백" 장치의 설정~에서입력 장치는 라인 입력 신호를 수신하는 장치입니다.
에서재생탭에서 "루프백" 장치의 설정~에라인 입력 신호를 듣고자 하는 장치에 출력 장치를 연결합니다.
3. 문제 해결
오디오 신호에 문제가 있는 경우 모듈을 제거 pacmd unload-module module-loopback
하고 더 높은 latency_msec=
값을 다시 시도하십시오.
추가 참고사항
최신 중급 컴퓨터는 다음 latency_msec=1
옵션을 사용하여 대기 시간을 쉽게 관리할 수 있습니다.
pacmd load-module module-loopback latency_msec=1
이 답변은 다음을 통해 가능해졌습니다.이 포럼 게시물. 감사해요!
답변2
에 명시된 바와 같이선호하는 답변
pacmd load-module module-loopback latency_msec=5
재생 및 녹음 장치를 생성해야 하지만 모든 경우에 작동하지 않는 것 같습니다. 이 경우 시도할 수 있습니다.
pactl load-module module-loopback latency_msec=5
pactl을 사용하여 비슷한 주장을 확인하세요.
나에게는 pacmd에서는 작동하지 않았고 pactl에서는 작동했습니다.
참고: 이 두 옵션은 모두 Pulse Audio에만 해당되며 Pipewire에는 해당되지 않습니다.
답변3
나는 여기서 매우 비슷한 상황에 처해 있습니다! PC 2대, Linux 시스템(기본) 1개, Windows 시스템 1개. Linux 시스템 및 Pulseaudio와 함께 헤드셋을 사용하여 양방향 오디오 연결을 자동화하기 위해 좋은 것을 설정했습니다. 둘 다 Windows 시스템의 소리를 듣고 Linux를 통해 다시 Windows 시스템 마이크에 대고 말할 수 있습니다. 안에.
분명히 이를 위해서는 1개가 아닌 2개의 AUX 케이블을 기기 사이에 연결해야 합니다. 하지만 한 번 알아낸 이후로 매력처럼 작동합니다. 동일한 작업에 관심이 있는 사람이 쉽게 사용할 수 있도록 여기에 스크립트를 공유하겠습니다. 작동시키기 위해 해야 할 일은 컴퓨터에 대한 두 개의 특정 오디오 싱크 이름을 찾아 스크립트 변수에 넣는 것입니다(내 것과 다른 경우).
#!/usr/bin/env bash
# 2-way audio connection - Slaves 2nd device audio through this device:
# - Directs AUX in to default speakers (connect 2nd device -> AUX).
# - Directs Mic to AUX out (connect AUX out -> 2nd device AUX in).
#
# Then sleeps forever. Stops audio redirection when killed.
#
# Requires:
# sudo apt-get install pactl
#
# Manual Process:
# 1) pavucontrol > Configuration > Built-in Audio > Analog Stereo Duplex
# 2) Find - look for "analog-stereo" (no frills) in both commands:
# pacmd list-sources | grep name:
# pacmd list-sinks | grep name:
# 3) Select - enter found name or ID in this command:
# pactl load-module module-loopback source=$auxinsource source_dont_move=1 sink=$defaultsink
# 4) pavucontrol > Input > Built-in Analog Stereo > Line in (plugged in)
# 5) pavucontrol > Playback > Loopback from Built-in Analog Stereo > SELECT_SPEAKERS
# 6) pavucontrol > Output > Built-in Analog Stereo > Line Out (plugged in)
# 7) pavucontrol > Recording > Loopback to Built-in Analog Stereo > SELECT_HEADSET_MIC
#
# BREAKPOINT:
# read -n 1 -s -r -p 'BREAKPOINT'
auxinsource='alsa_input.pci-0000_00_1f.3.analog-stereo' # Get name of AUX in (Replace these with yours!)
micsink='alsa_output.pci-0000_00_1f.3.analog-stereo' # Get name of AUX out (Replace these with yours!)
set -e
printf '\n 1) Connect Audio IN (Win->)...'
defaultsink=$(pactl get-default-sink) # Get name of currently selected speakers
modulein=$(pactl load-module module-loopback source=$auxinsource source_dont_move=1 sink=$defaultsink) # Locked from manual selection in GUI, will not jump around
#modulein=$(pactl load-module module-loopback source=$auxinsource sink=$defaultsink) # Unlocked for manual selection in GUI, but may jump around
#echo ' ' $defaultsink ' connected!' # Debug output
echo ' connected!'
printf '\n 2) Connect Audio OUT (<-Mic)...'
modulemic=$(pactl load-module module-loopback latency_msec=10 source_dont_move=1 sink=$micsink) # Locked from manual selection in GUI, will not jump around
#modulemic=$(pactl load-module module-loopback latency_msec=10 sink=$micsink) # Unlocked for manual selection in GUI, but may jump around
#echo ' ' $micsink ' connected!' # Debug output
echo ' connected!'
printf '\n CTRL+C to stop' # Flavor text.
function cleanup
{
pactl unload-module $modulemic
if [ ! -z ${modulein+x} ]; then
pactl unload-module $modulein
else
echo
fi
}
trap cleanup EXIT
sleep infinity
이 설정의 단계별 문제 해결을 안내하려면(선택 사항),
#!/usr/bin/env bash
# Troubleshooting steps for audioconnect
#
# Requires:
# sudo apt-get install pactl
#
# BREAKPOINT:
# read -n 1 -s -r -p 'BREAKPOINT'
printf ' 1) pavucontrol > Configuration > Built-in Audio > Analog Stereo Duplex'
read -n 1 -s -r -p ''
echo ': OK'
printf ' 2) pavucontrol > Input > Built-in Analog Stereo > Line in (plugged in)'
read -n 1 -s -r -p ''
echo ': OK'
printf ' 3) pavucontrol > Playback > Loopback from Built-in Analog Stereo > SELECT_SPEAKERS'
read -n 1 -s -r -p ''
echo ': OK'
printf ' 4) pavucontrol > Output > Built-in Analog Stereo > Line Out (plugged in)'
read -n 1 -s -r -p ''
echo ': OK'
printf ' 5) pavucontrol > Recording > Loopback to Built-in Analog Stereo > SELECT_MIC'
read -n 1 -s -r -p ''
echo ': OK'