マイクのキャプチャに関して引き続き発生する問題を解決しようとしています。マイク入力からパンク音が目立つように聞こえます。どのプログラムを使用しても、マイクを使用するたびに表示されます。私はほぼ1年間この問題を経験し、何度も修正しようとしました。これはハードウェアの問題ではなく、マイクはWindowsパーティションで機能します(マイクを使用することはWindowsを起動する必要があるいくつかの理由の1つです)。
ついに回答が見つかるかどうかを確認するために投稿を投稿することにしました。
様々な調査を行っており、主な情報源はArch Wikiの次のステップマイク録音の静的なノイズを修正できます。
ステップ1:システムサウンドカードを探す
$ arecord -l
**** List of CAPTURE Hardware Devices ****
card 1: Generic [HD-Audio Generic], device 0: ALC1220 Analog [ALC1220 Analog]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 1: Generic [HD-Audio Generic], device 2: ALC1220 Alt Analog [ALC1220 Alt Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
ステップ2-4:サンプリングレートの検索と設定
$ arecord -f dat -r 60000 -D hw:1,0 -d 5 test.wav
Recording WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 60000 Hz, Stereo
Warning: rate is not accurate (requested = 60000Hz, got = 48000Hz)
please, try the plug plugin
次にサンプルレートを追加します/etc/pulse/daemon.conf
。
default-sample-rate = 48000
その後、パルスオーディオを再起動しました。pulseaudio -k && pulseaudio --start
ステップ5:テスト出力
(速度を指定せずに)実行しましたが、arecord -f cd -d 10 test-mic.wav
結果は同じです。私はサンプルレートを使ってこれらのステップを試しました44100
。38000
残念ながら、マイクロホンの音は常に存在します。
別の考えられる理由
$ pacmd list-sources | grep 'name:.*input'
name: <alsa_input.pci-0000_0b_00.3.analog-stereo>
だから私はそれを次に追加しました/etc/pulse/default.pa
:
load-module module-remap-source source_name=record_mono master=alsa_input.pci-0000_0b_00.3.analog-stereo master_channel_map=front-left channel_map=mono
set-default-source record_mono
しかし、特に違いはありません。もっと悪いと言いたい場合は、その行をコメントアウトしました。
別のセリフ/etc/pulse/daemon.conf
(過去の試みから来たと思います)
flat-volumes = no
default-fragments = 3
default-fragment-size-msec = 5
avoid-resampling = yes
deferred-volume-safety-margin-usec = 1
情報を取得するために実行する他のコマンド
出力systemctl --user status pulseaudio.service
関係がないようですが、なぜ活性化されないのかわかりません。実行すると、pulseaudio -k && pulseaudio --start
すべての音が途切れ、パルスオーディオが始まるまで待つ必要があります。
● pulseaudio.service - Sound Service
Loaded: loaded (/usr/lib/systemd/user/pulseaudio.service; disabled; vendor preset: enabled)
Active: inactive (dead)
出力/sbin/lsmod | grep snd
snd_hda_codec_hdmi 49152 1
snd_hda_codec_realtek 102400 1
snd_hda_codec_generic 73728 1 snd_hda_codec_realtek
snd_hda_intel 40960 8
snd_hda_codec 126976 4 snd_hda_intel,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_codec_realtek
snd_hda_core 81920 5 snd_hda_intel,snd_hda_codec,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_codec_realtek
snd_hwdep 20480 1 snd_hda_codec
snd_pcm 98304 5 snd_hda_intel,snd_hda_codec,snd_hda_core,snd_hda_codec_hdmi
snd_seq_midi 16384 0
snd_seq_midi_event 16384 1 snd_seq_midi
snd_rawmidi 32768 1 snd_seq_midi
snd_seq 65536 2 snd_seq_midi_event,snd_seq_midi
snd_seq_device 16384 3 snd_seq,snd_rawmidi,snd_seq_midi
snd_timer 32768 3 snd_seq,snd_pcm
snd 81920 25 snd_hda_intel,snd_hwdep,snd_seq,snd_hda_codec,snd_timer,snd_rawmidi,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_seq_device,snd_hda_codec_realtek,snd_pcm
soundcore 16384 1 snd
あなたが提供できる助けに心から感謝します。ありがとうございます。
Linux Mint 19.1
Kernel 4.15.0-20-generic
Motherboard: ASUS X470-PRO
Microphone: Modmic
更新:新しいディストリビューションに移動しましたが、回答が機能していることを確認できなくなりました。コメントをいただいた皆様に感謝します!
ベストアンサー1
同様の問題を解決するために、このStackexchangeの質問を見つけました。私たちの問題が同じ原因で発生したと100%確信することはできませんが、いくつかの類似点が見つかりました。これが役に立つことを願っています。
具体的にはマイクをキャプチャしようとしている様子を見て、投稿でも私のように「arecord -f cd」と「arecord -f dat」を使っているのを見ました。
実際のオーディオコネクタプラグ(3.5mmタイプのようです)を見ると、マイクがモノラルであることを確認できます。私のプラグにはゴムリングで分離された2つの導体があります。 1つはシールド用、もう1つは信号用です。 Googleで「3.5mmモノプラグ」を検索したときに得たものと似ていますが、「3.5mmステレオプラグ」を検索したときに得たものとは異なります。 。
ただし、arecordのマニュアルページを読むと、「cd」と「dat」の両方の形式がステレオです。
-f cd (16 bit little endian, 44100, stereo) [-f S16_LE -c2 -r44100]
-f cdr (16 bit big endian, 44100, stereo) [-f S16_BE -c2 -f44100]
-f dat (16 bit little endian, 48000, stereo) [-f S16_LE -c2 -r4800
だから私はステレオを録音するときに平均的に高い音量の「ノック」または「クリック」ノイズが聞こえ、モノ(実際に入力内容)を録音するときはWon'tという音が聞こえます。私のテストの1つのスコアレポート:
michael@sequoia:~$ arecord -f S16_LE -c2 -r44100 /tmp/r1.wav
Recording WAVE '/tmp/r1.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
^CAborted by signal Interrupt...
michael@sequoia:~$ aplay /tmp/r1.wav
Playing WAVE '/tmp/r1.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
michael@sequoia:~$ #heard tapping
michael@sequoia:~$ arecord -f S16_LE -c1 -r44100 /tmp/r1.wav
Recording WAVE '/tmp/r1.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Mono
^CAborted by signal Interrupt...
michael@sequoia:~$ aplay /tmp/r1.wav
Playing WAVE '/tmp/r1.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Mono
michael@sequoia:~$ #No tapping noise
また、arecord のマニュアルページでは、チャンネル 1 が基本チャンネルであるため、「-c1」は不要であることがわかりました。
-c, --channels=#
The number of channels. The default is one channel. Valid val‐
ues are 1 through 32.
これが役に立つことを願っています。