私は何年もラップトップで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
を有効にすると、スピーカーからもマイクが聞こえます)。私は以下を得ます:
(右側には、2つのInternal
ゲージ、Loopback
(有効/無効)と変更可能な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)
私は Arch wiki を見て、/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
configです(私はそれをいじってみませんでした)。
$ 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
オーディオインターフェースが kernel space にあると信じるなので、マイクのデータを持ち込めない user space 。それでも、100%確信はありません。
ループバックインターフェイスで動作するがアプリケーション層に伝播しないマイクに関連する可能性がある、snd-hda-intel
(または他のモジュール)に他にどのようなオプションを与えることができますか?
pulseaudio
で何か問題があるのでしょうか?しかし、それでも、pulseaudio
は(alsa
と共に)正しく機能し、audacity
を頻繁に使用しています。
ポスターとのやり取りに基づいて(コメントを参照)、サウンドカードがpavucontrol
内でミュートされていることがわかりました。
また、マイクがArch Linuxで機能しないという問題にも遭遇しました。私の場合、pavucontrol
の[入力デバイス]にデバイスが表示されていません(「入力デバイスがありません」と表示されています)。 Arch Wikiからの以下のアドバイスに従って、私のために修正しました:
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
です
load-module module-alsa-source device=hw:0,0
に/etc/Pulse/default.pa
という行を追加します
pulseaudio -k; pulseaudio -D
は、pulseaudioを再起動して変更を有効にします。
私と同じ問題が発生した場合に備えて、ここに置いておきます。
このリンクは私を整理しました: 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を実行すると([入力デバイス]タブの下に)マイクが表示されるはずです。
1.rm -rf〜/ .config/Pulse
2.rm -rf/etc/Pulse /
3.USBヘッドフォンをラップトップに差し込みます
4.pacman -S pulseaudio pavucontrol
6.再起動
6.pavucontrol
OK。