标签: pulseaudio

在pulseaudio中创建组合源

我知道可以使用该module-combine-sink模块在pulseaudio 中创建虚拟组合接收器。

我想知道是否有类似的东西可以创建虚拟组合源。所以这个来源是我所有其他来源的混合体。

pulseaudio

3
推荐指数
1
解决办法
4655
查看次数

带有示例规范“s16le 1ch 16000Hz”、通道映射“mono”的流的 Sox 格式

我正在尝试将音频通过管道传输到 sox,但出现错误“sox FAIL 格式:`-' 的输入格式错误:未指定采样率”

parec -d alsa_output.pci-0000_00_1b.0.analog-stereo.monitor  --rate=16000 --channels=1 | sox -t raw - output.wav  silence 1 0.3 0.1% 1 0.3 0.1% : newfile : restart
Run Code Online (Sandbox Code Playgroud)

这是命令的输出

sox FAIL formats: bad input format for  `-': sampling rate was not specified
Opening a recording stream with sample specification 's16le 1ch 16000Hz' and channel map 'mono'.
Connection established.
Stream successfully created.
Buffer metrics: maxlength=4194304, fragsize=64000
Using sample spec 's16le 1ch 16000Hz', channel map 'mono'.
Connected to device alsa_output.pci-0000_00_1b.0.analog-stereo.monitor (index: 0, suspended: …
Run Code Online (Sandbox Code Playgroud)

alsa audio pulseaudio sox

3
推荐指数
1
解决办法
552
查看次数

Pulse Audio vs ALSA vs 音频服务器 vs 音频设备驱动程序

JACK、PulseAudio、ALSA 等软件有什么区别?这些与 Linux 系统中的音频服务器和音频设备驱动程序有何关系?

drivers alsa audio jack pulseaudio

3
推荐指数
1
解决办法
3647
查看次数

为什么“systemctl enable rpcbind”会改变我的音量?我如何防止这种情况?

我已经做了:

$ systemctl enable rpcbind
Run Code Online (Sandbox Code Playgroud)

这导致我耳机上的音量严重增加。

首先,我不明白为什么会发生这种情况,因为 rpcbind 似乎与我的声音完全无关?第二次发出命令不会改变声音,start rpcbind.

其次,我想防止这种情况再次发生;音量跳得不止一点点(一些惊慌失措的动作以摘下我的耳机,伴随着一声响亮的咒骂)。

顺便说一下,这不是我第一次注意到 systemd 命令改变了我的音量......我正在<audio>通过pulseaudio在Firefox中播放HTML5标签。我正在运行 Arch Linux(更新)。

linux arch-linux alsa systemd pulseaudio

2
推荐指数
1
解决办法
1521
查看次数

我的声卡有多少音频通道?

我有一块技嘉 GA-H170N-WIFI主板,我想用它作为家庭音响系统的基础。它有两个 HDMI 输出和 5.1 模拟音频输出。

问题是,我如何知道声卡/子系统支持多少个独立的音频通道?我真的可以让每个 HDMI 输出有 8 个独立的音频通道,外加 6 个模拟通道(更不用说 S/PDIF 输出上多达 8 个通道)同时运行,发送不同的信号吗?此外,是否有可能说服 PulseAudio“拆分”HDMI 音频通道并将它们提供为 8 个独立的接收器?

谢谢!


更新:我的 /proc/asound/card0/codec#2

Codec: Intel Skylake HDMI
Address: 2
AFG Function Id: 0x1 (unsol 0)
Vendor Id: 0x80862809
Subsystem Id: 0x80860101
Revision Id: 0x100000
No Modem Function Group found
Default PCM:
    rates [0x0]:
    bits [0x0]:
    formats [0x0]:
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
State of AFG node 0x01:
  Power states:  D0 D3 CLKSTOP EPSS
  Power: …
Run Code Online (Sandbox Code Playgroud)

alsa audio pulseaudio hdmi

2
推荐指数
1
解决办法
3065
查看次数

如何在命令行中控制 pavucontrol?

我想编写一个脚本,我可以在其中以编程方式配置pavucontrol 中的设置。有人建议我使用pactl

我对选项很迷茫,我想知道 pavucontrol UI 中的选项卡和选项如何转换为 pactl 选项?

控制

pulseaudio

1
推荐指数
1
解决办法
4633
查看次数

Pulseaudio 检测到错误的采样率。强制pulseaudio采样率

当使用 h2n 作为 USB 麦克风和播放设备时,它显示 44.1khz 作为采样率。

当pulseaudio重新启动时,正确检测(pacmd list-sinks):sample spec: s16le 2ch 44100Hz

现在我开始在 youtube 上播放视频,在播放时,将“pavucontrol”->“配置”中的“配置文件”设置为“关闭”,然后返回“模拟立体声双工”。现在pulseaudio告诉我:sample spec: s16le 2ch 48000Hz

在一个新的系统启动时,它甚至足以打开pavucontrol导致错误的采样率。

这会导致带有大量噼啪声的高音输出。


我尝试过的东西:

1.

对 进行以下更改~/.config/pulse/daemon.conf

default-sample-rate = 44100
avoid-resampling = yes
Run Code Online (Sandbox Code Playgroud)

正如另一个问题(在pulseaudio中设置不同的每设备采样率?)和https://wiki.archlinux.org/index.php/PulseAudio/Troubleshooting中所建议的

2.

pcm.device{
    format S16_LE
    rate 41000
    type hw
    card 0
    device 0
}
pcm.!default{
    type plug
    slave.pcm "device"
}
Run Code Online (Sandbox Code Playgroud)

进入~/.asoundrc并注销并重新登录。(https://unix.stackexchange.com/a/141234/227331

3.

pcm.!default {
    type rate
    slave {
        pcm "plughw:0,0"
        rate …
Run Code Online (Sandbox Code Playgroud)

alsa pulseaudio

1
推荐指数
2
解决办法
3439
查看次数

Arch Linux 无法识别声音驱动程序 - “虚拟输出”

我有一台安装了 Arch Linux 的 Dell G7,但我的扬声器没有音频,只有蓝牙耳机。在 上pavucontrol,输出设备被标记为“虚拟输出”,这使我相信操作系统无法识别我的声卡。我尝试运行pacmd list-cards它给出以下输出:

1 card(s) available.
    index: 0
    name: <alsa_card.pci-0000_01_00.1>
    driver: <module-alsa-card.c>
    owner module: 6
    properties:
        alsa.card = "0"
        alsa.card_name = "HDA NVidia"
        alsa.long_card_name = "HDA NVidia at 0x83000000 irq 17"
        alsa.driver_name = "snd_hda_intel"
        device.bus_path = "pci-0000:01:00.1"
        sysfs.path = "/devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card0"
        device.bus = "pci"
        device.vendor.id = "10de"
        device.vendor.name = "NVIDIA Corporation"
        device.product.id = "10f9"
        device.product.name = "TU106 High Definition Audio Controller"
        device.string = "0"
        device.description = "TU106 High Definition Audio Controller"
        module-udev-detect.discovered …
Run Code Online (Sandbox Code Playgroud)

linux arch-linux audio pulseaudio

1
推荐指数
1
解决办法
8942
查看次数

如何静音/取消静音默认声音输出

静音/取消静音系统默认声音输出的通用方法是什么?

$ amixer set Master mute
amixer: Unable to find simple control 'Master',0

$ amixer scontrols
Simple mixer control 'IEC958',0
Simple mixer control 'IEC958',1
Simple mixer control 'IEC958',2
Simple mixer control 'IEC958',3
Simple mixer control 'IEC958',4
Simple mixer control 'IEC958',5
Run Code Online (Sandbox Code Playgroud)

我知道声音控制已从 amixer 转移到 Pulseaudio,但是,我仍然可以在 Debian 10 中使用 ALSA“Master”控制,但不能在 Ubuntu 21.10 中使用,请参见上文。

来自pactl set-sink-mute 0 1https://superuser.com/questions/805525/ ,但我尝试过但这不适用于我上面的 Ubuntu 21.10。

总而言之,我只需要一种通用方法来静音/取消静音系统的默认声音输出,该方法适用于我的所有机器和所有 Linux,就像 ALSA“主”控件一样。

command-line alsa audio devices pulseaudio

1
推荐指数
1
解决办法
6158
查看次数

带蓝牙扬声器的mpd没有声音

我的环境有两个音频输出:HDMI 和蓝牙扬声器。通常它们都可以正常工作。例如,

#this plays sound via bluetooth speaker
$ aplay -D default jingle.wav

#this plays sound via HDMI
$ aplay -D plughw:1,7 jingle.wav
Run Code Online (Sandbox Code Playgroud)

但是,mpc play不播放任何声音。My/etc/mpd.conf是默认目录,除了音乐目录。所以

music_directory     "smb://xxx.xxx.xx.x/some_directory"
...
audio_output {
    type        "alsa"
    name        "My ALSA Device"
    #   device      "hw:0,0"    # optional
    #   mixer_type      "hardware"      # optional
    #   mixer_device    "default"   # optional
    #   mixer_control   "PCM"       # optional
    #   mixer_index "0"     # optional
}
Run Code Online (Sandbox Code Playgroud)

我使用远程音乐目录(smb协议)并且连接正常。根据man mpd.confdevice字段的默认值为"default"。但是不mpc play播放声音,尽管我希望它通过蓝牙扬声器播放,如aplay …

alsa audio pulseaudio mpd

0
推荐指数
1
解决办法
2701
查看次数

以root身份运行pulseaudio

我的 PC 上安装了 Ubuntu 12.04,最近我进行了编辑/etc/passwd 和更改

user1:x:00:00:user1,,,:/home/user1:/bin/bash
Run Code Online (Sandbox Code Playgroud)

给 user1 授予 root 权限,系统总是需要以 root 身份登录,以运行一些自定义软件。

现在似乎声音不起作用,音量图标被禁用。我知道pulseaudio恶魔不能以 root 身份运行,这就是音频不起作用的原因。我该如何解决,比如设置pulseaudio的权限以root身份运行。

当我输入命令时

 /usr/bin/pulseaudio --start
Run Code Online (Sandbox Code Playgroud)

给我输出

W: [pulseaudio] main.c: This program is not intended to be run as root (unless --system is specified).
E: [autospawn] core-util.c: Home directory /home/user1 not ours.
W: [autospawn] lock-autospawn.c: Cannot access autospawn lock.
E: [pulseaudio] main.c: Failed to acquire autospawn lock
Run Code Online (Sandbox Code Playgroud)

编辑

问题的解决方法:

我通过禁用对pulseaudio均衡器的根检查来解决这个问题

sed -i 's/exit 1/#exit1/g' /usr/bin/pulseaudio-equalizer 
Run Code Online (Sandbox Code Playgroud)

users root pulseaudio

-1
推荐指数
1
解决办法
2万
查看次数

标签 统计

pulseaudio ×11

alsa ×7

audio ×6

arch-linux ×2

linux ×2

command-line ×1

devices ×1

drivers ×1

hdmi ×1

jack ×1

mpd ×1

root ×1

sox ×1

systemd ×1

users ×1