使用 Pulseaudio 时如何获得端口级别粒度?

使用 Pulseaudio 时如何获得端口级别粒度?

我正在尝试消除麦克风中的噪音。

pacmd list-sources显示analog-input-mic并且analog-input-internal-mic但是当我运行时pacat它只允许设备规范name: <alsa_input.pci-0000_00_1b.0.analog-stereo>如何获取端口的粒度。

我试图拼接在一起的命令是 pacat --format=s16le --channels=2 -r -d $input --latency=1msec|sox -b 16 -e signed -c 2 -r 44100 -t raw - -b 16 -e signed -c 2 -r 44100 -t raw - noisered noise.prof 0.2|pacat -p -d $output --latency=1msec&

为什么我在网上看到的大多数示例都指定整个卡而不是 CARD-index-name:PORT。我通常发现自己在摆弄ALSApavucontrol设置我需要的特定端口?

我进一步谷歌搜索并发现了这个: 脉冲音频配置文件显然,您可以将卡设置为“活动配置文件”,但这是全局性的,会影响所有应用程序。就我而言,我有,active profile: <output:analog-stereo+input:analog-stereo>所以我无法在analog-input-mic:不创建配置文件的情况下更改,并且它将影响我启动的任何其他应用程序。还发现了这个PulseAudio 架构概述 A card represents a physical audio device It also has a single active card profile A card profile represents an opaque configuration set for a card. Only one card profile of a card may be active at the same time. The user can switch the active card profile at any time.

The user can switch the active device port of a source or sink at any time. 但是当我执行 alsamixer -c 0 并更改它时,Input Source它不会以任何方式影响pulseaudio。 Pulseaudio 继续显示active port: <analog-input-mic>而不是analog-input-internal-mic(使用pacmd list

相关内容