我住在一条大马路旁边。晚上打开窗户很凉爽,而且间歇性地非常响亮。如何根据内置麦克风输入自动调整音量?如果我将音量设置为在汽车经过时我可以听到电影中的讲话,那么在其他时候它会非常响亮,并且对附近的人(外面和邻居)感觉非常讨厌。
我的系统是 Debian Buster,不过我可能会得到一个通用的解决方案。如果没有可用的软件包来执行此操作,则从默认麦克风中提取响度的命令已经有助于编写此脚本。
Linux Mint 17 Cinnamon (Ubuntu 14.04)
HDA 英特尔 PCH
麦克风运行良好(使用 VLC 的捕获模式测试),但 Skype 无法捕获任何声音。Skype 的配置中仅将 PulseAudio 列为麦克风选项。将输入音频放大到最顶端 (>100%) 设法得到一些声音,但它失真并且仍然几乎听不见。
经测试未成功的解决方案:
我使用Ubuntu 20.04并尝试使用我的耳机(小米真无线)进行视频会议,因此需要声音输入和输出。当尝试在 pavucontrol 中选择 HSP/HFP 配置文件时,我只能选择:
当我选择 HSP/HFP 时,什么也没发生,重新启动程序后,再次选择 A2DP 接收器。那么为什么 HSP/HFP 配置文件不可用以及如何使其可用/如何使用它?
我在 Mint XFCE 17.2 将笔记本电脑的内部麦克风检测为硬件级别的立体声麦克风时遇到问题。问题是,由于它是单声道设备,麦克风的“右声道”是完全静态的:
正如我发现的那样,不存在的右声道是“浮动的”,当它的信号到达放大器时,它会被放大为静态。我发现可以通过 PulseAudio 将右侧通道静音,但这会导致奇怪的事情,例如在 Skype 通话期间我的声音只从左侧传入。
如何让 PulseAudio(或者可能是较低级别的 alsa)看到麦克风是单声道输入?是否可以以某种方式调整音频驱动程序?
我尝试创建一个将麦克风映射到单声道源的虚拟源:
# Added to /etc/pulse/default.pa
load-module module-remap-source master=alsa_input.pci-0000_00_1b.0.analog-stereo source_name=mono_mic channels=1 master_channel_map=left channel_map=left
Run Code Online (Sandbox Code Playgroud)
这成功创建了第二个单声道输入,似乎在 Skype/等中工作正常......:
但我对这个虚拟输入并不满意,因为我仍然必须在硬件设备本身的静音状态下保持正确的通道。此外,当我尝试通过 PulseAudio 调整硬件设备的左声道电平时,出于某种愚蠢的原因(可能是错误?),Pulse 自动锁定两个声道,这会导致右声道捕捉到左声道的电平。尽管我事先关闭了频道锁定,但还是如此。然后,我必须手动禁用通道锁定并将右侧通道设置回Silence。
最后,我更愿意解决根本问题并将麦克风正确识别为单声道输入。有什么建议吗?
我找到了一个对我不起作用的解决方案:
音频 - 在 Linux 中使用命令行工具监控麦克风电平 - 超级用户 https://superuser.com/questions/306701/monitoring-the-microphone-level-with-a-command-line-tool-in-linux
问题是他们使用最大幅度来检测声音。然而,无论录制的音频仅包含静音还是一些声音,它的价值对我来说始终是相同的。例如:
10 秒静默(可在此处下载:http://denis-aristov.ucoz.com/en/test-mic-silence.wav):
$ arecord -f S16_LE -D hw:2,0 -d 10 /tmp/test-mic-silence.wav
$ sox -t .wav /tmp/test-mic-silence.wav -n stat
Samples read: 80000
Length (seconds): 10.000000
Scaled by: 2147483647.0
Maximum amplitude: 0.999969
Minimum amplitude: -1.000000
Midline amplitude: -0.000015
Mean norm: 0.202792
Mean amplitude: 0.009146
RMS amplitude: 0.349978
Maximum delta: 0.913849
Minimum delta: 0.000000
Mean delta: 0.001061
RMS delta: 0.005564
Rough frequency: 20
Volume adjustment: 1.000
Run Code Online (Sandbox Code Playgroud)
10 秒,有一些声音(可以在这里下载:http://denis-aristov.ucoz.com/en/test-mic-sounds.wav …
我有一个罗技 C310 网络摄像头,pulseaudio 认为它的采样率为 48 kHz。但是,硬件只能在 16 kHz 下工作。大多数应用程序将尝试使用 48 kHz 的 16 Khz 音频,从而产生高音松鼠或花栗鼠的声音。
这发生在一系列应用程序中,在 Windows 中也是如此。如何强制pulseaudio以16 kHz采样率使用源?
我在 Linux Mint 19.1 下的Lenovo IdeaPad 310-15IKB笔记本电脑上的内置麦克风遇到了一些奇怪的问题。例如,它不与 Skype 一起工作,而是与Gnome Sound Recorder一起工作。声音配置窗口中的麦克风输入音量指示器也表现得很奇怪,似乎对声音大多不敏感(但对敲击麦克风开口有反应)。
我可以通过使用PulseAudio Volume Control 并按照 Ubuntu Help wiki或其他地方的建议禁用两个麦克风“通道”之一来解决这个问题:
我相信内置麦克风是单声道的,因为它只有一个开口(在笔记本电脑屏幕的顶部,相机的左侧),所以我想将其配置为单声道,而不必手动禁用一个两个“输入通道”。此外,在系统的声音配置窗口中更改输入音量会破坏此解决方法,并且必须通过 PulseAudio 音量控制再次禁用其中一个“通道”。
即使出于某种奇怪的原因,尽管该麦克风只有一个开口,但仍是立体声,但我认为将其配置为单声道会更好。
如果将麦克风正确设置为单声道太复杂,是否有任何干净的解决方法.asoundrc
?
更多链接
我碰巧在 Linux 上使用 SimpleScreenRecorder (SSR) 录制会议。
我使用 Pulseaudio 和默认配置。
当SSR录制屏幕和音频时,它会记录扬声器的输出,但不会记录我的麦克风。我知道我可以使用创建一个环回,pactl load-module module-loopback latency_msec=1
以便麦克风连接到扬声器,并且 SSR 可以录制两者,但是在不使用耳机时会产生反馈和拉森效应。
显然我不能要求 SSR 同时从两个音频源录制。有没有办法创建一个虚拟 Pulseaudio 源,扬声器和麦克风都在其中,以便我可以指示 SSR 从该虚拟源进行录制?
当我阅读“混合应用程序和麦克风到一个输入”时,我可以创建一个虚拟扬声器,我可以将麦克风和扬声器路由到该虚拟扬声器,并且 SSR 可以从中读取内容。但是,我仍然希望麦克风和扬声器在开会时能够正常工作,并且我不确定该解决方案是否可以做到这一点,因此我需要具有 Pulseaudio 经验的人员。
如果我找不到简单的方法,我会从 SSR 切换到 OBS...
所有东西都有一个特殊的文件:/dev/tty
终端、/dev/sda
驱动器和两个随机数生成器:/dev/random
和/dev/urandom
. 但是我找不到原始麦克风输入的特殊文件。文件的名称是什么?
如果没有特殊文件,是否有程序可以通过管道或类似行为提供这样的流?
microphone ×9
audio ×6
pulseaudio ×4
linux-mint ×2
alsa ×1
audio-volume ×1
bluetooth ×1
devices ×1
laptop ×1
skype ×1
sox ×1
ubuntu ×1