-
Verifique os id's
$ pactl list short sources 0 alsa_output.pci-0000_01_00.1.hdmi-stereo.monitor module-alsa-card.c s16le 2ch 44100Hz SUSPENDED 1 alsa_output.pci-0000_00_1b.0.analog-stereo.monitor module-alsa-card.c s16le 2ch 44100Hz IDLE 2 alsa_input.pci-0000_00_1b.0.analog-stereo module-alsa-card.c s16le 2ch 44100Hz SUSPENDED 3 combined.monitor module-combine-sink.c s16le 2ch 44100Hz SUSPENDED $ pactl list short sinks 0 alsa_output.pci-0000_01_00.1.hdmi-stereo module-alsa-card.c s16le 2ch 44100Hz RUNNING 1 alsa_output.pci-0000_00_1b.0.analog-stereo module-alsa-card.c s16le 2ch 48000Hz RUNNING 2 combined module-combine-sink.c s16le 2ch 44100Hz IDLE
-
Crie dois coletores virtuais, (
Virtual1
mic + music,Virtual2
music)pactl load-module module-null-sink sink_name=Virtual1 sink_properties=device.description=Virtual1 pactl load-module module-null-sink sink_name=Virtual2 sink_properties=device.description=Virtual2
-
Microfone de loopback para
Virtual1
pactl load-module module-loopback latency_msec=1 sink=Virtual1
-
Loopback
Virtual2.monitor
aVirtual1
pactl load-module module-loopback latency_msec=1 sink=Virtual1 source=Virtual2.monitor
-
Loopback
Virtual2.monitor
para estéreo analógico (no meu caso)pactl load-module module-loopback latency_msec=1 sink=1 source=Virtual2.monitor
-
Em seguida, abra
pavucontrol
:-
Dispositivo de entrada: defina o fallback como
Virtual1.monitor
ou usando o CLI:pactl set-default-source Virtual1.monitor
-
Dispositivos de saída: defina o padrão como Estéreo analógico (no meu caso) ou usando o CLI:
pactl set-default-sink 1
-
Gravação: confirme o Skype a partir de
Virtual1.monitor
ou usando o CLI (removo algumas linhas dos resultados,avconv
como exemplo):$ pactl list short clients 23 protocol-native.c chromium-browser 24 protocol-native.c chromium-browser 45 protocol-native.c pavucontrol 237 protocol-native.c avconv 239 protocol-native.c pactl $ pactl list short source-outputs 35 0 45 protocol-native.c float32le 1ch 25Hz 36 1 45 protocol-native.c float32le 1ch 25Hz 37 2 45 protocol-native.c float32le 1ch 25Hz 38 3 45 protocol-native.c float32le 1ch 25Hz 39 4 45 protocol-native.c float32le 1ch 25Hz 41 0 45 protocol-native.c float32le 1ch 25Hz 42 1 45 protocol-native.c float32le 1ch 25Hz 52 1 45 protocol-native.c float32le 1ch 25Hz 54 1 237 protocol-native.c s16le 2ch 48000Hz $ pactl move-source-output 54 Virtual1.monitor
-
Reprodução: defina o reprodutor de música como
Virtual2
(2º dispositivo nulo) e confirme o Skype em estéreo analógico. ou através da CLI (chromium
como exemplo, veja o anteriorpactl list short clients
):$ pactl list short sink-inputs 17 3 24 protocol-native.c s16le 2ch 44100Hz 58 0 - module-combine-sink.c s16le 2ch 44009Hz 59 1 - module-combine-sink.c s16le 2ch 44100Hz $ pactl move-sink-input 17 Virtual2
-
Diagrama simples ( /
, \
loopbacks da esquerda para a direita):
Microphone ---
\
Virtual1.mon ------ Virtual1 > Skype
/
VLC > Virtual2.mon ------ Virtual2
\
Skype > AnalogSt.mon ------ AnalogSt > Headset
Para voltar (uso normal), veja Pulseaudio loopback descarrega dispositivos de saída de áudio
-
Verifique o ID do módulo:
pactl list short modules
-
Descarregar um único módulo (ou um por um)
pactl unload-module id
-
Ou (recarregue com os módulos padrão):
pulseaudio -k
Notas:
-
Eu uso sink
id
(ex .: 1) mas se você quiser fazer um script é melhor usar nomes. (Eu evitei isso aqui porque eles são longos). -
Como faço para alternar para outro coletor de saída de áudio no XFCE? contém um bom script para obter o fluxo
id
do nome a ser usado commove-sink-input
emove-source-output
. -
Eu usei
latency_msec=1
, o que pode levar a um alto uso da CPU. Em conversas de áudio, você pode não se importar com o atraso entre a música e o microfone. Você pode removê-lo ou aumentá-lo. Mas para gravar mix, você pode procurar por um atraso muito pequeno entre a música & amp; microfone.Como testei, o atraso é de quase meio a um segundo.
-
Acho que algumas vezes é difícil descobrir o que está acontecendo com as ferramentas do Jack. Ficará claro com o mapa gráfico: