Pulseaudio

Pulseaudio 檢測到錯誤的採樣率。強制pulseaudio採樣率

  • December 16, 2020

將 h2n 用作 USB 麥克風和播放設備時,它顯示 44.1khz 作為採樣率。

當pulseaudio重新啟動時,它被正確檢測(pacmd list-sinks):sample spec: s16le 2ch 44100Hz

現在我開始在 youtube 上播放影片,在播放時,將“pavucontrol”->“配置”中的“配置文件”設置為“關閉”並返回“模擬立體聲雙工”。現在pulseaudio告訴我:sample spec: s16le 2ch 48000Hz

在一個新的系統啟動時,它甚至足以pavucontrol導致錯誤的採樣率。

這會導致帶有大量劈啪聲的傾斜輸出。


我試過的東西:

對 進行以下更改~/.config/pulse/daemon.conf

default-sample-rate = 44100
avoid-resampling = yes

正如另一個問題(在 pulseaudio 中設置不同的每設備採樣率?)和https://wiki.archlinux.org/index.php/PulseAudio/Troubleshooting中所建議的那樣

pcm.device{
   format S16_LE
   rate 41000
   type hw
   card 0
   device 0
}
pcm.!default{
   type plug
   slave.pcm "device"
}

進入~/.asoundrc並註銷並重新登錄。(https://unix.stackexchange.com/a/141234/227331

pcm.!default {
   type rate
   slave {
       pcm "plughw:0,0"
       rate 44100
   }
}

~/.asoundrc按照這裡的建議進入: https ://bbs.archlinux.org/viewtopic.php?pid=400718#p400718並重新啟動。

pactl list sinks | grep -oP "(?<=device.string = \")(.*)(?=\")" | while read in; do pasuspender -- speaker-test --nloops=1 --channels=2 --test=wav --device=$in; done正如https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/Users/Troubleshooting/中的建議聽起來不錯。之後 Firefox 將恢復劈啪聲。

安裝 cadence 和 jack2 後,將自己添加到音頻組 ( usermod -a -G audio username),重新登錄並設置 cadence 以使用 h2n 進行輸入和輸出,這似乎很有希望。在 pavucontrol 中,我有一個用於輸出的“Jack sink”和一個用於輸入的“Jack source”,當我需要使用它時,我可以選擇它們作為預設值。還沒有爆裂聲。

因此,如果我正確理解 linux 音頻環境,基本上我需要在 pulseaudio 和 alsa 之間放置插孔以使其工作。


編輯

我現在已經嘗試完全刪除pulseaudio。相當多的程序仍然有效,但不是全部。為了讓音量控制正常工作,我做了這個:https ://github.com/sezanzeb/ALSA-Control 。另請參閱https://unix.stackexchange.com/a/293206/227331


編輯 2

試試https://pipewire.org/

取消註釋並設置alternate-sample-rate44100in /etc/pulse/daemon.conf(並刪除~/.asoundrc)。

引用自:https://unix.stackexchange.com/questions/585789