amixer - Como mudar o canal de gravação?

4

Tão gordo, estou configurando as configurações do microfone:

$ amixer set 'Rear Mic' 90% mute cap
$ amixer set 'Rear Mic Boost' 80%

Mas, depois de alguns sys. update, minha chanell padrão de recodificação foi alterada para 'Front Mic' :

$ amixer sget 'Input Source'
Simple mixer control 'Input Source',0
  Capabilities: cenum
  Items: 'Front Mic' 'Rear Mic' 'Line' 'CD' 'Mix'
  Item0: 'Front Mic'

Como alterar 'Input Source' para 'Read Mic' com o amixer? (Atualmente faço manualmente com alsamixer ou kmix - eu adoraria automatizá-lo na inicialização).

    
por Grzegorz Wierzowiecki 29.09.2011 / 13:55

3 respostas

6

Eu encontrei a solução aqui:

lá eu encontrei:

$ amixer -c0 cset iface=MIXER,name='Input Source',index=1 'Front Mic' # (Record from Front Mic)

ligeiramente modificado de acordo com a minha placa de som e configuração (placa de som padrão, pedidos de itens diferentes):

$ amixer cset name='Input Source',index=0 'Rear Mic'
    
por 30.09.2011 / 08:59
1

Você pode usar o parâmetro sset . De man amixer :

   set or sset <SCONTROL> <PARAMETER> ...
          Sets the simple mixer control contents. The parameter can be the volume either as a percentage  from  0%  to  100%
          with  % suffix, a dB gain with dB suffix (like -12.5dB), or an exact hardware value.  The dB gain can be used only
          for the mixer elements with available dB information.  When plus(+) or minus(-) letter is  appended  after  volume
          value, the volume is incremented or decremented from the current value, respectively.

          The  parameters  cap,  nocap, mute, unmute, toggle are used to change capture (recording) and muting for the group
          specified.

          The optional modifiers can be put as extra parameters to specify the stream direction or channels to  apply.   The
          modifiers playback and capture specify the stream, and the modifiers front, rear, center, woofer are used to spec‐
          ify channels to be changed.

          A simple mixer control must be specified. Only one device can be controlled at a time.

No seu caso, deve ser tão simples quanto ( NÃO TESTADO )

$ amixer sset 'Input Source',0,'Rear Mic'
    
por 29.09.2011 / 14:50
1

Eu tenho um sistema, onde eu tenho placa de som padrão da placa-mãe + placa de som WebCAM + placa de som USB externa = Total 3 placa de som.

Agora quero desativar / ativar o som de uma placa de som específica de 3, nesse caso, posso fazer isso usando o seguinte método:

mostre-me todo o cartão no sistema

$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: CA0132 Analog [CA0132 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
  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 2: U0x11110x2222 [USB Device 0x1111:0x2222], device 0: USB Audio [USB Audio]
  Subdevices: 0/1
  Subdevice #0: subdevice #0

então eu quero usar o cartão 2, que é um microfone e alto-falante USB

$ amixer -c2
Simple mixer control 'Speaker',0
  Capabilities: pvolume pswitch pswitch-joined penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 151
  Mono:
  Front Left: Playback 44 [29%] [-20.13dB] [on]
  Front Right: Playback 44 [29%] [-20.13dB] [on]
Simple mixer control 'Mic',0
  Capabilities: pvolume pvolume-joined cvolume cvolume-joined pswitch pswitch-joined cswitch cswitch-joined penum
  Playback channels: Mono
  Capture channels: Mono
  Limits: Playback 0 - 32 Capture 0 - 16
  Mono: Playback 32 [100%] [47.81dB] [on] Capture 16 [100%] [23.81dB] [on]
Simple mixer control 'Auto Gain Control',0
  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [on]

Agora, nesta placa de som eu tenho 4 barras

1) Palestrante 2) Mic 3) Mic (Captura) 4) Ganho automático

Meu problema é se eu simplesmente fizer o amixer sset Cap captura ou alternar, então ele não funciona

Eu tenho que usar uma maneira que pode silenciar tudo para captura de microfone para 0% e quando requer colocar de volta para 70%, sem isso eu não tive outra escolha. Sua culpa ALSA, eles devem acrescentar algo como pulseaudio pactl

# Now this does MUTE for device 2
$ amixer -c2 sset Mic 0dB
Simple mixer control 'Mic',0
  Capabilities: pvolume pvolume-joined cvolume cvolume-joined pswitch pswitch-joined cswitch cswitch-joined penum
  Playback channels: Mono
  Capture channels: Mono
  Limits: Playback 0 - 32 Capture 0 - 16
  Mono: Playback 0 [0%] [0.00dB] [on] Capture 0 [0%] [0.00dB] [on]

# Unmute for device 2
$ amixer -c2 sset Mic 70dB
Simple mixer control 'Mic',0
  Capabilities: pvolume pvolume-joined cvolume cvolume-joined pswitch pswitch-joined cswitch cswitch-joined penum
  Playback channels: Mono
  Capture channels: Mono
  Limits: Playback 0 - 32 Capture 0 - 16
  Mono: Playback 32 [100%] [47.81dB] [on] Capture 16 [100%] [23.81dB] [on]
    
por 08.12.2013 / 20:01