我正在尝试消除麦克风中的噪音。
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。我通常发现自己在摆弄ALSA
或pavucontrol
设置我需要的特定端口?
我进一步谷歌搜索并发现了这个:
脉冲音频配置文件显然,您可以将卡设置为“活动配置文件”,但这是全局性的,会影响所有应用程序。就我而言,我有,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
)