1. Carregue o módulo de loopback

1. Carregue o módulo de loopback

Eu trabalho em dois computadores com um fone de ouvido USB. Quero ouvir ambos canalizando a saída dos computadores não-Linux para a entrada de linha do computador Linux (tomada de áudio azul) e mixando o sinal na saída de fone de ouvido do computador Linux usando o PulseAudio.

Diagrama de hardware de áudio

pavucontrol mostra um dispositivo de entrada "Áudio estéreo analógico integrado" que me permite escolher portas como "Entrada de linha" (selecionada), "Microfone frontal", "Microfone traseiro". Posso ver o medidor de volume do dispositivo reagindo à reprodução de áudio na máquina não Linux.

Áudio estéreo analógico integrado

Como faço para que o PulseAudio reproduza esse sinal de áudio no dispositivo de saída de minha escolha?

Responder1

1. Carregue o módulo de loopback

pacmd load-module module-loopback latency_msec=5

cria um dispositivo de reprodução e gravação.

2. Configure os dispositivos no pavucontrol

No pavucontrol, noGravaçãoguia, defina o dispositivo "Loopback"dedispositivo de entrada para o dispositivo que recebe o sinal de entrada de linha.

configurações de gravação

NoReproduçãoguia, defina o dispositivo "Loopback"sobredispositivo de saída para o dispositivo através do qual você deseja ouvir o sinal de entrada de linha.

configurações de reprodução

3. Solução de problemas

Se o sinal de áudio apresentar problemas, remova o módulo pacmd unload-module module-loopbacke tente novamente com um latency_msec=valor mais alto

Notas Adicionais

Seu computador moderno de médio porte pode facilmente gerenciar latências mais baixas com a latency_msec=1opção:

pacmd load-module module-loopback latency_msec=1

Esta resposta foi possível graçasesta postagem no fórum. Obrigado!

Responder2

Como afirmado noresposta preferida

pacmd load-module module-loopback latency_msec=5

O que deveria criar um dispositivo de reprodução e gravação não parece funcionar em todos os casos. Nesse caso, você pode tentar

pactl load-module module-loopback latency_msec=5

Observe os argumentos semelhantes, usando pactl

Para mim não funcionou com o pacmd, funcionou com o pactl.

Nota: Ambas as opções são apenas para Pulse Audio e não para Pipewire

Responder3

Eu tenho uma situação muito semelhante aqui! 2 PCs, uma máquina Linux (minha principal) e uma máquina Windows. Eu configurei algo legal para automatizar a conexão de áudio bidirecional, usando meu fone de ouvido com a máquina Linux e Pulseaudio, estou ouvindo a máquina Windows e sou capaz de falar no microfone, através do Linux, de volta ao microfone da máquina Windows em.

Obviamente, isso exigirá não 1, mas 2 cabos AUX conectados entre as máquinas. Mas funciona perfeitamente desde que descobri uma vez. Para facilitar para quem estiver interessado em fazer o mesmo, compartilharei meu script aqui. Tudo o que você precisa fazer para fazê-lo funcionar é encontrar dois nomes de coletores de áudio específicos para sua máquina e colocá-los dentro das variáveis ​​do script para eles, se forem diferentes dos meus.

#!/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

E para solução de problemas guiada passo a passo desta configuração (opcional),

#!/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'

informação relacionada