标签: alsa

如何在不断开连接的情况下在耳机和扬声器之间切换

当我将耳机连接到前置插孔时,我的扬声器(线路输出)会静音。我想在不断开耳机的情况下切换到扬声器。gnome-control-center我在和中看到两个可能的选项pavucontrol耳机线路输出。但当我切换到线路输出时,我什么也没听到。我怎样才能设置正确的行为?

我安装了 Realtek ALC1150,并安装了 Alsa 和 PulseAudio。

alsa audio pulseaudio realtek alsamixer

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

带有示例规范“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
查看次数

从命令行(无间隙)或新文件循环音频文件

迄今为止我发现的唯一无间隙播放命令行解决方案(使用 ALSA 和 JACK)是moc (»music on console«). 虽然我仍在寻找一种更简单的方法,但我想知道是否可以将音频文件循环到新文件中给定次数?

就像是:

loop-audio infile.flac --loop 32 outfile.flac
Run Code Online (Sandbox Code Playgroud)

为重复infile.flac 32次数进入outfile.flac

linux alsa audio jack moc

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

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
查看次数

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

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

$ 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
查看次数

alsa:记录给定声卡上的所有内容

是否有一种简单的、独立于应用程序的方法来在给定的声卡上录制音频?

假设我插入了 USB 耳机,它显示为/dev/snd/foo

然后我使用 Zoom 或 Skype 或任何其他应用程序拨打电话。

如果应用程序不允许本地录音,我可以在声卡级别独立录制音频吗?

我正在使用 alsa,我(天真地)想象可能有一些基础设施可以附加到或“镜像”声卡并将音频转储到文件?我需要录制两个通道(麦克风、扬声器),所以可能需要一些混音?

我的操作系统是 Debian 10,我使用的是 alsa (不是pulseaudio)

alsa audio recording

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

带蓝牙扬声器的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
查看次数

标签 统计

alsa ×10

audio ×8

pulseaudio ×8

jack ×2

linux ×2

alsamixer ×1

arch-linux ×1

command-line ×1

devices ×1

drivers ×1

hdmi ×1

moc ×1

mpd ×1

realtek ×1

recording ×1

sox ×1

systemd ×1