Archlinuxでマイクが機能しない

Archlinuxでマイクが機能しない

コンテキスト

私はarchlinux何年もの間ノートパソコンを使用してきましたが、マイクが必要だったことはありません。これで必要ですが、正しく設定する方法が見つかりません。

私はとalsaを使用しますpulseadio

alsamixerユーザーとして実行すると、2つのゲージがあります。

  ||      ||
Master  Capture

すべてミュートを解除し、合理的な(〜50%)値で有効にしました。

ルートとして実行すると、alsamixerいくつかのツールがあります。

  ||        ||        ||      ||      ||       ||
Master  Headphones  Speaker  PCM  Microphone MIC Boot 

 ||      ||       ||        ||       ||
Beep  Loopback Internal  Internal  Capture

Loopbackルートを有効にするとスピーカーからマイクの音が聞こえます。

alsamixerサウンドカードをユーザーとして明示的に選択すると、rootとして実行したのと同じコマンドを受け取ります(Loopbackここで有効にすると、スピーカーからマイクの音も聞こえます)。次のメッセージが表示されます。

ここに画像の説明を入力してください。

Internal(右側にLoopback(有効/無効)と変数の2つのゲージがありますOff-hook

しかし、私が何をし、どのようにalsaメーターを邪魔しても、マイクをユーザーのアプリケーションに渡すことはできません。デフォルトでarecordは、実行するたびに次の出力が表示されます。

$ arecord -vv -f dat /dev/null 
Recording WAVE '/dev/null' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
ALSA <-> PulseAudio PCM I/O Plugin
Its setup is:
  stream       : CAPTURE
  access       : RW_INTERLEAVED
  format       : S16_LE
  subformat    : STD
  channels     : 2
  rate         : 48000
  exact rate   : 48000 (48000/1)
  msbits       : 16
  buffer_size  : 24000
  period_size  : 6000
  period_time  : 125000
  tstamp_mode  : NONE
  tstamp_type  : GETTIMEOFDAY
  period_step  : 1
  avail_min    : 6000
  period_event : 0
  start_threshold  : 1
  stop_threshold   : 24000
  silence_threshold: 0
  silence_size : 0
  boundary     : 6755399441055744000
#+                                                 | 00%

aplay一方、それは素晴らしい作品です。


私のサウンドカードは(lspci)です。

# lspci| grep -i audio
00:14.2 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] SBx00 Azalia (Intel HDA)

私は見たアーチスウィキ以下を設定し、/etc/modprobe.d/modprobe.confコンピュータを再起動してみました。

options snd-hda-intel model=dell-m6-dmic

(該当する構成があるかどうかにかかわらず、マイクを使用してユーザーアプリケーションにデータを送信することはできません。)

私の現在のhdaモジュールは次のとおりです

# lsmod |grep hda
snd_hda_codec_si3054    16384  1
snd_hda_codec_realtek    69632  1
snd_hda_codec_generic    69632  1 snd_hda_codec_realtek
snd_hda_intel          32768  5
snd_hda_codec         106496  4 snd_hda_codec_realtek,snd_hda_codec_si3054,snd_hda_codec_generic,snd_hda_intel
snd_hda_core           61440  5 snd_hda_codec_realtek,snd_hda_codec_si3054,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel
snd_hwdep              16384  1 snd_hda_codec
snd_pcm                86016  4 snd_hda_codec_si3054,snd_hda_codec,snd_hda_intel,snd_hda_core
snd                    65536  18 snd_hda_codec_realtek,snd_hda_codec_si3054,snd_hwdep,snd_timer,snd_pcm,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel

完全性を期すために、私の構成は次のとおりですpulseaudio(私は介入していません)。

$ pulseaudio --dump-conf
### Read from configuration file: /etc/pulse/daemon.conf ###
daemonize = no
fail = yes
high-priority = yes
nice-level = -11
realtime-scheduling = yes
realtime-priority = 5
allow-module-loading = yes
allow-exit = yes
use-pid-file = yes
system-instance = no
local-server-type = user
cpu-limit = no
enable-shm = yes
flat-volumes = no
lock-memory = no
exit-idle-time = 20
scache-idle-time = 20
dl-search-path = /usr/lib/pulse-9.0/modules
default-script-file = /etc/pulse/default.pa
load-default-script-file = yes
log-target = 
log-level = notice
resample-method = auto
enable-remixing = yes
enable-lfe-remixing = no
lfe-crossover-freq = 0
default-sample-format = s16le
default-sample-rate = 44100
alternate-sample-rate = 48000
default-sample-channels = 2
default-channel-map = front-left,front-right
default-fragments = 4
default-fragment-size-msec = 25
enable-deferred-volume = yes
deferred-volume-safety-margin-usec = 8000
deferred-volume-extra-delay-usec = 0
shm-size-bytes = 0
log-meta = no
log-time = no
log-backtrace = 0
rlimit-fsize = -1
rlimit-data = -1
rlimit-stack = -1
rlimit-core = -1
rlimit-rss = -1
rlimit-as = -1
rlimit-nproc = -1
rlimit-nofile = 256
rlimit-memlock = -1
rlimit-locks = -1
rlimit-sigpending = -1
rlimit-msgqueue = -1
rlimit-nice = 31
rlimit-rtprio = 9
rlimit-rttime = 200000

Faheem Mithaのコメントによると、pulseaudio tmpfs正しい権限があると思われます。

# ls -la /run/user/861213/pulse/
total 4
drwx------ 2 grochmal users  80 Jul  4 21:44 .
drwx------ 5 grochmal users 120 Jul  4 21:46 ..
srw-rw-rw- 1 grochmal users   0 Jul  4 21:44 native
-rw------- 1 grochmal users   4 Jul  4 21:44 pid

そしてpavucontrolミュートされました。pavucontrolこの問題の原因が何であるかわかりません。

ここに画像の説明を入力してください。


質問

アイデアが足りません。私信じるオーディオLoopbackインターフェースはカーネル空間だから私の問題はマイクデータですユーザースペース。しかし、100%確信することはできません。

snd-hda-intelループバックインターフェイスで動作しますが、アプリケーション層に伝播されないマイクに関連する可能性がある他のオプション(または他のモジュール)に提供できる他のオプションは何ですか?

私が何か間違っているのでしょうかpulseaudio?しかし、繰り返しますが、常にpulseaudioうまくいき、定期的に使用します。alsaaudacity

答え1

ポスターとの通信(コメントを参照)によると、サウンドカードが内部的にミュートされていることがわかりましたpavucontrol

答え2

また、Arch Linuxでマイクが機能しないという問題もありました。私の場合、「入力デバイス」の下にデバイスは表示されませんでしたpavucontrol (「利用可能な入力デバイスなし」とマークされています)。 Arch Wikiの次のアドバイスに従って問題を解決しました。

  1. arecord -lたとえば、次の出力がある場合は、シンボル形式でマイクIDを見つけるには実行します。hw:CARD,DEVICE

    **** List of CAPTURE Hardware Devices ****
    card 0: PCH [HDA Intel PCH], device 0: ALC269VC Analog[ALC269VC Analog]
    Subdevices: 1/1
    Subdevice #0: subdevice #0
    

    だからIDはhw:0,0

  2. 行を追加

    load-module module-alsa-source device=hw:0,0
    

    (デバイスID指定)/etc/pulse/default.pa前のどこかに

    .ifexists module-udev-detect.so
    

    ワイヤー。

  3. pulseaudio -k; pulseaudio -D PulseAudioを再起動して変更を有効にするには、実行してください。

~からPulseAudio/トラブルシューティング – PulseAudio でマイクが検出されない。 ArchWikiから。

答え3

このリンクは問題を解決するのに役立ちました。PulseAudio でマイクが検出されませんでした。

マイクのカード番号とデバイス番号を確認してください。

$ arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC269VC Analog [ALC269VC Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
In hw:CARD,DEVICE notation, you would specify the above device as hw:0,0.

次に、/etc/pulse/default.paを編集し、次のようにデバイスのロードモジュールを指定する行を挿入します。

load-module module-alsa-source device=hw:0,0
# the line above should be somewhere before the line below
.ifexists module-udev-detect.so

最後に、pulseaudioを再起動して新しい設定を適用します。

$ pulseaudio -k ; pulseaudio -D

すべてがうまくいったら、pavucontrolを実行するとマイクが表示されます(「入力デバイス」タブの下)。

答え4

同様の問題がありましたが、私のUSBマイクがpavucontrolの[設定]タブにのみ表示されることがわかりました。 「入力デバイス」タブの下に表示するには、設定を「マルチチャンネル入力」に変更する必要がありました。

この時点でKdenliveで録音に使用するには、内蔵マイクをミュートに変更し(pavucontrolで)、USBマイクの[Set as fallback]ボタンをクリックする必要があります。

ちなみに、これによりKdenliveはデフォルト(default:)オーディオマイクを使用できます。

関連情報