web-dev-qa-db-ja.com

amixer-録音チャンネルを変更するには?

とても太っている、私はマイクの設定をセットアップしています:

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

しかし、いくつかのシステムの後。更新、デフォルトの再コーディングchanellが'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'

ミキサーで'Input Source''Read Mic'に変更する方法(現在、私はalsamixerまたはkmixを使用して手動で行います-起動時に自動化したいです)。

私はここに解決策を見つけました:

そこで見つけた:

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

私のサウンドカードとセットアップに応じてわずかに変更されました(デフォルトのサウンドカード、さまざまなアイテムの注文):

$ amixer cset name='Input Source',index=0 'Rear Mic'

デフォルトのマザーボードサウンドカード+ WebCAMサウンドカード+外部USBサウンドカード=合計3サウンドカードのシステムがあります。

今、私は3つのうち特定のサウンドカードをミュート/ミュート解除したい場合は、次の方法を使用してそれを行うことができます:

システム内のすべてのカードを見せて

$ 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

uSBマイクとスピーカーのカード2を使いたい

$ 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]

さて、このサウンドカードには4小節があります

1)スピーカー2)マイク3)マイク(キャプチャ)4)オートゲイン

私の問題は、単にミキサーssetキャプチャキャップまたはトグルを実行すると、機能しないことです。

私はマイクキャプチャのすべてを0%にミュートできる方法を使用する必要があり、必要な場合は70%に戻す必要があります。これがないと、選択肢がありませんでした。そのALSA障害、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]
1
user11085

ssetパラメータを使用できます。 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.

あなたの場合、(NOT TESTED)のように単純である必要があります

$ amixer sset 'Input Source',0,'Rear Mic'
1
Mr Shunz