Som do sistema e microfone não são transmitidos simultaneamente

Olá pessoal, tudo bem com vocês? Primeiramente, é importante dizer que eu já fiz uma mesma postagem sobre isso no fórum do Manjaro, na tentativa de solucionar meu problema. Vou fazer a mesma postagem aqui também porque esperança é a última que morre. E mais uma coisa: eu costumava resolver esse problema de forma simples no windows 10 habilitando uma função no som chamada mixagem estéreo mas eu não faço ideia de como isso funciona no linux.

Estou tendo problemas para fazer com que meu áudio interno e o meu microfone funcionem ao mesmo tempo quando estou usando programas para compartilhar tela como o Discord, Skype, Zoom e até mesmo o ScreenRecorder, eu consigo transmitir a minha tela e meu áudio do sistema tranquilamente; mas aí quando eu conecto meu microfone, eu só consigo transmitir a minha voz e a minha tela, eu continuo ouvindo o meu áudio interno normalmente, em aplicações como firefox, vlc, enfim, o som continua funcionando perfeitamente para mim mas não para as pessoas que estão me assistindo, elas só conseguem ver a minha tela e ouvir a minha voz, e eu gostaria de transmitir a minha voz, o som do meu computador e também a minha tela, para gravar tutoriais, compartilhar tela, etc

Então eu imaginei que o problema pudesse estar na maneira como o sistema está administrando os dispositivos, tentei instalar o controlador pavucontrol sudo pacman -S pavucontrol e tentei absolutamente todo dispositivo e alterei todas as possibilidades pra tentar falar e compartilhar a tela com áudio, tentei colocar microfone posterior, frontal, entrada de linha, tentei definir como secundário um, o outro, os dois… mas a situação é a mesma.

Quando tento gravar tela com o ScreenRecorder, o Pulseaudio me oferece duas opções:
Analog stereo internal audio monitor (Onde posso gravar o som do computador)
Analog stereo internal audio (Onde posso gravar a minha voz)

Mas eu não tenho nenhuma opção que me possibilite gravar os dois ao mesmo tempo, onde posso gravar a minha voz e também os sons do sistema.

No caso do compartilhamento de tela, eu consigo reproduzir o som do sistema, e aí quando eu conecto o microfone eu passo a transmitir somente a minha voz, ao que parece o sistema altera as entradas do dispositivo, e eu não quero que o dispositivo seja alterado, quero que ele seja acrescentado para que ambos possam ser utilizados ao mesmo tempo, como citado acima, um recurso de mixagem estéreo.

Aqui estão alguns comandos do terminal que me pediram no fórum Manjaro, e acredito que possa ser útil:

$ arecord --list-devices --verbose
**** 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
$ play --list-devices
**** 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 1: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
 Subdevices: 1/1
 Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1]
 Subdevices: 1/1
 Subdevice #0: subdevice #0

Apesar de estar dizendo aí, nos comandos: HDMI, eu estou usando VGA onde o cabo está conectado ao meu computador pela minha GPU.

E por fim, esse é o resultado do comando alsamixer. Com o microfone conectado, com o microfone desconectado, rodando o comando antes ou depois de conectar o microfone, o resultado é o mesmo:

Captura de tela de 2020-04-30 18-07-24

Vou deixar aqui todas as informações do sistema caso possa ser útil:

$ inxi -Fxz
System:
  Host: manjaro Kernel: 5.4.35-1-MANJARO x86_64 bits: 64 compiler: gcc 
  v: 9.3.0 Desktop: Gnome 3.36.1 Distro: Manjaro Linux 
Machine:
  Type: Desktop Mobo: PCWARE model: IPMH81G1 serial: <filter> 
  BIOS: American Megatrends v: F5 DB date: 03/20/2014 
CPU:
  Topology: Dual Core model: Intel Pentium G3250 bits: 64 type: MCP 
  arch: Haswell rev: 3 L2 cache: 3072 KiB 
  flags: lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 12774 
  Speed: 1092 MHz min/max: 800/3200 MHz Core speeds (MHz): 1: 1162 2: 1131 
Graphics:
  Device-1: NVIDIA GF119 [GeForce GT 610] vendor: ZOTAC driver: nvidia 
  v: 390.132 bus ID: 01:00.0 
  Display: x11 server: X.org 1.20.8 driver: nvidia 
  resolution: <xdpyinfo missing> 
  OpenGL: renderer: GeForce GT 610/PCIe/SSE2 v: 4.6.0 NVIDIA 390.132 
  direct render: Yes 
Audio:
  Device-1: Intel 8 Series/C220 Series High Definition Audio vendor: Realtek 
  driver: snd_hda_intel v: kernel bus ID: 00:1b.0 
  Device-2: NVIDIA GF119 HDMI Audio vendor: ZOTAC driver: snd_hda_intel 
  v: kernel bus ID: 01:00.1 
  Sound Server: ALSA v: k5.4.35-1-MANJARO 
Network:
  Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet 
  driver: r8169 v: kernel port: d000 bus ID: 03:00.0 
  IF: enp3s0 state: up speed: 100 Mbps duplex: full mac: <filter> 
Drives:
  Local Storage: total: 465.76 GiB used: 40.43 GiB (8.7%) 
  ID-1: /dev/sda vendor: Toshiba model: DT01ACA050 size: 465.76 GiB 
Partition:
  ID-1: / size: 47.64 GiB used: 26.71 GiB (56.1%) fs: ext4 dev: /dev/sda1 
  ID-2: /home size: 409.55 GiB used: 13.72 GiB (3.4%) fs: ext4 
  dev: /dev/sda2 
Sensors:
  System Temperatures: cpu: 47.0 C mobo: N/A gpu: nvidia temp: 58 C 
  Fan Speeds (RPM): N/A gpu: nvidia fan: 40% 
Info:
  Processes: 167 Uptime: 5h 43m Memory: 3.80 GiB used: 2.12 GiB (55.9%) 
  Init: systemd Compilers: gcc: 9.3.0 Shell: zsh v: 5.8 inxi: 3.0.37 

Obrigado pela ajuda desde já.

1 curtida

Estou tendo um problema parecido. Mas no meu caso não consigo gravar a mixagem estereo do meu computador pelo audacity ou pelo arduor.

1 curtida

Infelizmente isso aí não é muito fácil de resolver. Agradeça ao m… do Poettering e seu PulseAudio (como se já não bastasse a m… do systemd).

PulseAudio implementa conceitos chamados sinks e sources, geralmente interpretados como outputs e inputs respectivamente.

No entanto, “sink” não é exatamente o que você chamaria de output ou “saída”: é uma abstração do meio usado pelo canal e suas características, como frequência e bitrates. Ao mesmo tempo, “source” nada mais é do que, como diz o nome, fonte de áudio. Portanto, o microfone em si é uma fonte de áudio, e ao mesmo tempo a analogia com input funciona (ele é uma entrada de som afinal). Até aqui, dá pra entender que o mic estará listado como source dando pactl list no bash.

Se você olhar as outras sources, no entanto, vai ver com frequência a palavra monitor. Em resumo, pra cada output listada entre as sinks haverá um “pseudodevice monitorando-a”. Essa source — o monitor — é quem captura o som ambiente como source pro recorder software. O mesmo som é tratado como saída e entrada e o PA abstrai isso de forma separada. Como o pavucontrol só permite a você usar uma fonte/source, ou você escolhe o mic ou algo tipo “Monitor of ABC Device Audio”, sem dar uma opção pras duas coisas.

Como resolver? Criando pseudodevices que capturem as duas, o que requer mais paciência do que eu tive. O máximo que consegui foi abstrair essa teoria e, ao fazê-lo, desistir da prática ao menos por ora. Provavelmente isso requer a criação manual de source-outputs usadas como saídas do mic e do som ambiente, e um monitor que capture ambas pra ser selecionado via pavucontrol. Conceitualmente é por aí. Como fazer? Boa sorte.

P.S.: Sem PulseAudio a tendência é os softwares capturarem o som ambiente… precisei ler o Intel HDA uma vez justamente porque no FreeBSD além de capturar as duas coisas ainda pegava ruído de outros pinos e fazia uma baderna. Só que no FreeBSD é diferente: pra começar usa OSS ao invés de ALSA. Só comentei isso pra mostrar como o PA complica mais do que ajuda. Não usava ele no Arch e não fazia falta nenhuma. Infelizmente o KDE Plasma e m…s como “Phonon” dependem dele.

1 curtida

Não usava ele no Arch e não fazia falta nenhuma.

Então o que você usava? Conseguiu resolver o seu problema? Resolveria o meu? Se tiver que mudar do ALSA para algum outro software que possa realizar essa função, estou disposto a mudar, pois este é um recurso que preciso fazer uso no momento.

1 curtida

O ALSA sem PA por cima. Mas lembrei que no final acabei usando por exigência do KDE Plasma. O Arch com, digamos, xfce, ou até Manjaro que seja, não tem PulseAudio (ou nao deveria já que não é “requisito” como pro KDE e GNOME)

1 curtida

Aqui está a solução, tudo em inglês, no fórum do Manjaro. O que me indigna é que a solução é uma caralhada de código e a solução pra esse problema no windows é literalmente dois cliques.

https://forum.manjaro.org/t/i-cant-work-with-the-internal-audio-and-microphone-at-the-same-time/139626/2

1 curtida