Звук в Linux

Обмен опытом по установке Линукс на разные аппаратные конфигурации

Модераторы: Olej, vikos

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Звук в Linux

Непрочитанное сообщение Olej » 15 окт 2023, 18:40

Olej писал(а):
14 окт 2023, 23:44
Команда aplay
Но это всё до тех пор, пока в системе установлено что звук воспроизводится непосредственно ALSA без запущенного аудио-сервера PulseAudio...
Вот другой компьютер с другим дистрибутивом:

Код: Выделить всё

olej@R420:~$ lsb_release -a
No LSB modules are available.
Distributor ID:	Linuxmint
Description:	Linux Mint 21.2
Release:	21.2
Codename:	victoria

Код: Выделить всё

olej@R420:~$ inxi -Axxx
Audio:
  Device-1: JMTek LLC. USB PnP Audio Device type: USB
    driver: hid-generic,snd-usb-audio,usbhid bus-ID: 2-1.8:4 chip-ID: 0c76:1676
    class-ID: 0300 serial: 000000000000
  Sound Server-1: ALSA v: k5.15.0-86-generic running: yes
  Sound Server-2: PulseAudio v: 15.99.1 running: yes
  Sound Server-3: PipeWire v: 0.3.48 running: yes
Это сервер (промышленного уровня), в котором нет встроенного аудио, и используется внешний USB адаптер (единственное устройство, что тоже удобно для экспериментов), вот такое примерно USB внешняя звуковая карта:
Изображение

Код: Выделить всё

olej@R420:~$ lsusb -d 0c76:1676 
Bus 002 Device 004: ID 0c76:1676 JMTek, LLC. USB PnP Audio Device

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Звук в Linux

Непрочитанное сообщение Olej » 15 окт 2023, 18:49

Olej писал(а):
15 окт 2023, 18:40
единственное устройство

Код: Выделить всё

olej@R420:~$ aplay -l
**** Список PLAYBACK устройств ****
карта 1: Device [USB PnP Audio Device], устройство 0: USB Audio [USB Audio]
  Подустройства: 0/1
  Подустройство №0: subdevice #0

Код: Выделить всё

olej@R420:~$ aplay -L
null
    Discard all samples (playback) or generate zero samples (capture)
default
    Playback/recording through the PulseAudio sound server
samplerate
    Rate Converter Plugin Using Samplerate Library
speexrate
    Rate Converter Plugin Using Speex Resampler
jack
    JACK Audio Connection Kit
oss
    Open Sound System
pulse
    PulseAudio Sound Server
upmix
    Plugin for channel upmix (4,6,8)
vdownmix
    Plugin for channel downmix (stereo) with a simple spacialization
hw:CARD=Device,DEV=0
    USB PnP Audio Device, USB Audio
    Direct hardware device without any conversions
plughw:CARD=Device,DEV=0
    USB PnP Audio Device, USB Audio
    Hardware device with all software conversions
sysdefault:CARD=Device
    USB PnP Audio Device, USB Audio
    Default Audio Device
front:CARD=Device,DEV=0
    USB PnP Audio Device, USB Audio
    Front output / input
surround21:CARD=Device,DEV=0
    USB PnP Audio Device, USB Audio
    2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=Device,DEV=0
    USB PnP Audio Device, USB Audio
    4.0 Surround output to Front and Rear speakers
surround41:CARD=Device,DEV=0
    USB PnP Audio Device, USB Audio
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=Device,DEV=0
    USB PnP Audio Device, USB Audio
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=Device,DEV=0
    USB PnP Audio Device, USB Audio
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=Device,DEV=0
    USB PnP Audio Device, USB Audio
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=Device,DEV=0
    USB PnP Audio Device, USB Audio
    IEC958 (S/PDIF) Digital Audio Output
dmix:CARD=Device,DEV=0
    USB PnP Audio Device, USB Audio
    Direct sample mixing device
usbstream:CARD=Device
    USB PnP Audio Device
    USB Stream Output
И тут сколько не запускай ALSA с указанием на конкретное устройство - всё равно получишь отлуп :-? :

Код: Выделить всё

olej@R420:~$ aplay -D hw:CARD=Device /usr/share/sounds/alsa/Side_Left.wav
aplay: main:831: ошибка открытия аудио-устройства: Устройство или ресурс занято

Код: Выделить всё

olej@R420:~$ aplay -D sysdefault:CARD=Device /usr/share/sounds/alsa/Side_Left.wav
ALSA lib pcm_dmix.c:1032:(snd_pcm_dmix_open) unable to open slave
aplay: main:831: ошибка открытия аудио-устройства: Устройство или ресурс занято
Но зато вполне себе воспроизводится:

Код: Выделить всё

olej@R420:~$ aplay /usr/share/sounds/alsa/Side_Left.wav
Воспроизведение WAVE '/usr/share/sounds/alsa/Side_Left.wav' : Signed 16 bit Little Endian, Частота 48000 Гц, Моно

Код: Выделить всё

olej@R420:~$ aplay -D pulse /usr/share/sounds/alsa/Side_Left.wav
Воспроизведение WAVE '/usr/share/sounds/alsa/Side_Left.wav' : Signed 16 bit Little Endian, Частота 48000 Гц, Моно
Всё потому как сам аудиоинтерфейс ALSA прихвачен PulseAudio (Устройство или ресурс занято), а воспроизведение дефаултно идёт через PulseAudio.

P.S. О том как останавливается, запускается и перезапускается PulseAudio - это отдельная песня, и см. это в systemd (продолжение) :!:

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Звук в Linux

Непрочитанное сообщение Olej » 15 окт 2023, 19:06

Olej писал(а):
15 окт 2023, 18:49
Всё потому как сам аудиоинтерфейс ALSA прихвачен PulseAudio (Устройство или ресурс занято), а воспроизведение дефаултно идёт через PulseAudio.

Код: Выделить всё

olej@R420:~$ pavucontrol
...
Снимок экрана от 2023-10-15 19-03-53.png
Снимок экрана от 2023-10-15 19-03-53.png (33.13 КБ) 329 просмотров
Снимок экрана от 2023-10-15 19-03-26.png
Снимок экрана от 2023-10-15 19-03-26.png (42.78 КБ) 329 просмотров

Код: Выделить всё

olej@R420:~$ systemctl --user --no-pager --full status pulseaudio.service
● pulseaudio.service - Sound Service
     Loaded: loaded (/usr/lib/systemd/user/pulseaudio.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2023-10-15 10:33:49 EEST; 8h ago
TriggeredBy: ● pulseaudio.socket
   Main PID: 2882 (pulseaudio)
      Tasks: 4 (limit: 115772)
     Memory: 11.4M
        CPU: 21min 23.506s
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pulseaudio.service
             └─2882 /usr/bin/pulseaudio --daemonize=no --log-target=journal

окт 15 10:33:49 R420 systemd[2873]: Starting Sound Service...
окт 15 10:33:49 R420 systemd[2873]: Started Sound Service.
окт 15 10:34:10 R420 pulseaudio[2882]: GetManagedObjects() failed: org.freedesktop.DBus.Error.TimedOut: Failed to activate service 'org.bluez': timed out (service_start_timeout=25000ms)

Код: Выделить всё

olej@R420:~$ pacmd list-cards | grep output\:
		output:analog-stereo: Аналоговый стерео выход (priority 6500, available: unknown)
		output:analog-stereo+input:analog-stereo: Аналоговый стерео дуплекс (priority 6565, available: unknown)
		output:analog-stereo+input:iec958-stereo: Аналоговый стерео выход + Цифровой стерео (IEC958) вход (priority 6555, available: unknown)
		output:iec958-stereo: Цифровой стерео (IEC958) выход (priority 5500, available: unknown)
		output:iec958-stereo+input:analog-stereo: Цифровой стерео (IEC958) выход + Аналоговый стерео вход (priority 5565, available: unknown)
		output:iec958-stereo+input:iec958-stereo: Цифровой стерео дуплекс (IEC958) (priority 5555, available: unknown)
	active profile: <output:analog-stereo+input:analog-stereo>
		analog-output: Analog Output (priority 9900, latency offset 0 usec, available: unknown)
		iec958-stereo-output: Digital Output (S/PDIF) (priority 0, latency offset 0 usec, available: unknown)

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Звук в Linux

Непрочитанное сообщение Olej » 15 окт 2023, 22:26

Olej писал(а):
15 окт 2023, 18:40
Вот другой компьютер
Добрался я наконец до этого долгожданного Cromebook:
Изображение
Вот он:

Код: Выделить всё

olej@galliumos:~$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	GalliumOS 3.1
Release:	18.04
Codename:	bionic

Код: Выделить всё

olej@galliumos:~$ uname -a
Linux galliumos 4.16.18-galliumos #1 SMP PREEMPT Sun Jun 23 04:14:45 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Код: Выделить всё

olej@galliumos:~$ lspci -k | grep -i audio -A2
00:1b.0 Audio device: Intel Corporation Atom Processor Z36xxx/Z37xxx Series High Definition Audio Controller (rev 0e)
	Subsystem: Intel Corporation Atom Processor Z36xxx/Z37xxx Series High Definition Audio Controller
	Kernel driver in use: snd_hda_intel
	Kernel modules: snd_hda_intel

Код: Выделить всё

olej@galliumos:~$ sudo inxi -MCxxx
Machine:   Device: laptop System: GOOGLE product: Glimmer v: 1.0 serial: 123456789  Chassis: type: 9 serial: N/A
           Mobo: GOOGLE model: Glimmer v: 1.0 serial: 123456789
           UEFI: coreboot v: MrChromebox-4.12 date: 06/04/2020
CPU:       Quad core Intel Celeron N2930 (-MCP-) arch: Silvermont rev.8 cache: 1024 KB
           flags: (lm nx sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx) bmips: 14660
           clock speeds: min/max: 499/2165 MHz 1: 1994 MHz 2: 1349 MHz 3: 499 MHz 4: 499 MHz

Код: Выделить всё

olej@galliumos:~$ inxi -Axxx
Audio:     Card Intel Atom Processor Z36xxx/Z37xxx Series High Definition Audio Controller
           driver: snd_hda_intel bus-ID: 00:1b.0 chip-ID: 8086:0f04
           Sound: Advanced Linux Sound Architecture v: k4.16.18-galliumos
Pulse Audio здесь не запущен ... может после каких-то обновлений:

Код: Выделить всё

olej@galliumos:~$ systemctl --user --no-pager --full status pulseaudio.service
● pulseaudio.service - Sound Service
   Loaded: loaded (/usr/lib/systemd/user/pulseaudio.service; disabled; vendor preset: enabled)
   Active: inactive (dead)

Код: Выделить всё

olej@galliumos:~$ aplay -l
**** Список PLAYBACK устройств ****
карта 0: PCH [HDA Intel PCH], устройство 3: HDMI 0 [HDMI 0]
  Подустройства: 1/1
  Подустройство №0: subdevice #0
карта 0: PCH [HDA Intel PCH], устройство 7: HDMI 1 [HDMI 1]
  Подустройства: 1/1
  Подустройство №0: subdevice #0
карта 1: chtmax98090 [chtmax98090], устройство 0: 3 []
  Подустройства: 1/1
  Подустройство №0: subdevice #0
карта 1: chtmax98090 [chtmax98090], устройство 1: Deep-Buffer Audio (*) []
  Подустройства: 1/1
  Подустройство №0: subdevice #0
Очень любопытно: кто это такой chtmax98090 :?:

Код: Выделить всё

lej@galliumos:~$ aplay -L
null
    Discard all samples (playback) or generate zero samples (capture)
pulse
    PulseAudio Sound Server
hdmi:CARD=PCH,DEV=0
    HDA Intel PCH, HDMI 0
    HDMI Audio Output
hdmi:CARD=PCH,DEV=1
    HDA Intel PCH, HDMI 1
    HDMI Audio Output
dmix:CARD=PCH,DEV=3
    HDA Intel PCH, HDMI 0
    Direct sample mixing device
dmix:CARD=PCH,DEV=7
    HDA Intel PCH, HDMI 1
    Direct sample mixing device
dsnoop:CARD=PCH,DEV=3
    HDA Intel PCH, HDMI 0
    Direct sample snooping device
dsnoop:CARD=PCH,DEV=7
    HDA Intel PCH, HDMI 1
    Direct sample snooping device
hw:CARD=PCH,DEV=3
    HDA Intel PCH, HDMI 0
    Direct hardware device without any conversions
hw:CARD=PCH,DEV=7
    HDA Intel PCH, HDMI 1
    Direct hardware device without any conversions
plughw:CARD=PCH,DEV=3
    HDA Intel PCH, HDMI 0
    Hardware device with all software conversions
plughw:CARD=PCH,DEV=7
    HDA Intel PCH, HDMI 1
    Hardware device with all software conversions
default:CARD=chtmax98090
    chtmax98090,
    Default Audio Device
sysdefault:CARD=chtmax98090
    chtmax98090,
    Default Audio Device
dmix:CARD=chtmax98090,DEV=0
    chtmax98090,
    Direct sample mixing device
dmix:CARD=chtmax98090,DEV=1
    chtmax98090,
    Direct sample mixing device
dsnoop:CARD=chtmax98090,DEV=0
    chtmax98090,
    Direct sample snooping device
dsnoop:CARD=chtmax98090,DEV=1
    chtmax98090,
    Direct sample snooping device
hw:CARD=chtmax98090,DEV=0
    chtmax98090,
    Direct hardware device without any conversions
hw:CARD=chtmax98090,DEV=1
    chtmax98090,
    Direct hardware device without any conversions
plughw:CARD=chtmax98090,DEV=0
    chtmax98090,
    Hardware device with all software conversions
plughw:CARD=chtmax98090,DEV=1
    chtmax98090,
    Hardware device with all software conversions

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Звук в Linux

Непрочитанное сообщение Olej » 15 окт 2023, 22:43

Olej писал(а):
15 окт 2023, 22:26
Очень любопытно: кто это такой chtmax98090

Код: Выделить всё

olej@galliumos:~$ alsamixer
...
Снимок экрана от 2023-10-15 22-12-06.png
Снимок экрана от 2023-10-15 22-12-06.png (65.43 КБ) 325 просмотров
Снимок экрана от 2023-10-15 22-13-27.png
Снимок экрана от 2023-10-15 22-13-27.png (62.1 КБ) 325 просмотров

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Звук в Linux

Непрочитанное сообщение Olej » 16 окт 2023, 00:00

Olej писал(а):
15 окт 2023, 22:26
Очень любопытно: кто это такой chtmax98090
В принципе, это вот - воспроизведение:

Код: Выделить всё

olej@galliumos:~$ aplay -D default:CARD=chtmax98090 /usr/share/sounds/alsa/Side_Left.wav
Воспроизведение WAVE '/usr/share/sounds/alsa/Side_Left.wav' : Signed 16 bit Little Endian, Частота 48000 Гц, Моно
И это вот - воспроизведение:

Код: Выделить всё

olej@galliumos:~$ aplay -D sysdefault:CARD=chtmax98090 /usr/share/sounds/alsa/Side_Left.wav
Воспроизведение WAVE '/usr/share/sounds/alsa/Side_Left.wav' : Signed 16 bit Little Endian, Частота 48000 Гц, Моно
Я, конечно, не могу этого слышать (SSH) ... но вижу отсутствие сообщений о каких-либо ошибках :-o
Может там проблема в 3-х левых функциональных клавишах их специфической клавиатуры:
Изображение
P.S. Тем более, что у них клавиатура специфическая, и клавиши не совсем "функциональные" ... и возможно тип клавиатуры нужно для этого переключить в тип ChromeOS: см. GalliumOS:
Изображение

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Звук в Linux

Непрочитанное сообщение Olej » 16 окт 2023, 01:38

Olej писал(а):
16 окт 2023, 00:00
и возможно тип клавиатуры нужно для этого переключить в тип ChromeOS
То, как я удалённо, по SSH, проверяю и меняю тип и установки клавиатуры GalliumOS (на самом деле Xfce) - показано здесь: GalliumOS.

Изображение

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Звук в Linux

Непрочитанное сообщение Olej » 16 окт 2023, 02:09

Olej писал(а):
15 окт 2023, 22:26
Добрался я наконец до этого долгожданного Cromebook:
Отработку разных схем звука (ALSA, PulseAudio, ...), особенно для более-менее экзотических или слабых дистрибутивов, можно и удобно изучать в виртуальных инсталляциях в VirtuakBox.
Тот же GalliumOS:
Снимок экрана от 2023-10-16 01-53-20.png
Снимок экрана от 2023-10-16 01-53-20.png (470.37 КБ) 317 просмотров
(По пропорциям хорошо видно что там легко устанавливаются гостевые дополнения.)
В настройках виртуальной машины можно варьировать схему (ALSA, PulseAudio ... и даже OSS :oops: ):
Снимок экрана от 2023-10-16 02-06-36.png
Снимок экрана от 2023-10-16 02-06-36.png (53.71 КБ) 317 просмотров

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Звук в Linux

Непрочитанное сообщение Olej » 16 окт 2023, 02:15

Olej писал(а):
16 окт 2023, 02:09
в виртуальных инсталляциях в VirtuakBox
И в загруженной схеме:

Код: Выделить всё

olej@gallium:~$ inxi -Axxx
Audio:     Card Intel 82801AA AC'97 Audio Controller
           driver: snd_intel8x0 ports: d100 d200 bus-ID: 00:05.0 chip-ID: 8086:2415
           Sound: Advanced Linux Sound Architecture v: k4.16.18-galliumos

Код: Выделить всё

olej@gallium:~$ systemctl --user --no-pager --full status pulseaudio.service
● pulseaudio.service - Sound Service
   Loaded: loaded (/usr/lib/systemd/user/pulseaudio.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
PulseAudio не запущен, точно так же, как и в реальной инсталляции GalliumOS на железе, как это определено настройками...

Код: Выделить всё

olej@gallium:~$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: I82801AAICH [Intel 82801AA-ICH], device 0: Intel ICH [Intel 82801AA-ICH]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Код: Выделить всё

olej@gallium:~$ aplay -L
default
    Playback/recording through the PulseAudio sound server
null
    Discard all samples (playback) or generate zero samples (capture)
pulse
    PulseAudio Sound Server
sysdefault:CARD=I82801AAICH
    Intel 82801AA-ICH, Intel 82801AA-ICH
    Default Audio Device
front:CARD=I82801AAICH,DEV=0
    Intel 82801AA-ICH, Intel 82801AA-ICH
    Front speakers
surround21:CARD=I82801AAICH,DEV=0
    Intel 82801AA-ICH, Intel 82801AA-ICH
    2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=I82801AAICH,DEV=0
    Intel 82801AA-ICH, Intel 82801AA-ICH
    4.0 Surround output to Front and Rear speakers
surround41:CARD=I82801AAICH,DEV=0
    Intel 82801AA-ICH, Intel 82801AA-ICH
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=I82801AAICH,DEV=0
    Intel 82801AA-ICH, Intel 82801AA-ICH
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=I82801AAICH,DEV=0
    Intel 82801AA-ICH, Intel 82801AA-ICH
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
iec958:CARD=I82801AAICH,DEV=0
    Intel 82801AA-ICH, Intel 82801AA-ICH
    IEC958 (S/PDIF) Digital Audio Output
dmix:CARD=I82801AAICH,DEV=0
    Intel 82801AA-ICH, Intel 82801AA-ICH
    Direct sample mixing device
dsnoop:CARD=I82801AAICH,DEV=0
    Intel 82801AA-ICH, Intel 82801AA-ICH
    Direct sample snooping device
hw:CARD=I82801AAICH,DEV=0
    Intel 82801AA-ICH, Intel 82801AA-ICH
    Direct hardware device without any conversions
plughw:CARD=I82801AAICH,DEV=0
    Intel 82801AA-ICH, Intel 82801AA-ICH
    Hardware device with all software conversions
И всё это прекрасно воспроизводит в ALSA + замечательно слушается в хостовой машине :!:

Код: Выделить всё

olej@gallium:~$ aplay /usr/share/sounds/alsa/Side_Left.wav
Playing WAVE '/usr/share/sounds/alsa/Side_Left.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Mono

Код: Выделить всё

olej@gallium:~$ aplay -D sysdefault:CARD=I82801AAICH /usr/share/sounds/alsa/Side_Left.wav
Playing WAVE '/usr/share/sounds/alsa/Side_Left.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Mono

Код: Выделить всё

olej@gallium:~$ aplay -D hw:CARD=I82801AAICH /usr/share/sounds/alsa/Side_Left.wav
Playing WAVE '/usr/share/sounds/alsa/Side_Left.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Mono
aplay: set_params:1305: Channels count non available

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Звук в Linux

Непрочитанное сообщение Olej » 16 окт 2023, 13:09

Olej писал(а):
14 окт 2023, 18:10
Настройка звука в Linux - это проблема "ещё та"...
Звук - что, как, чем?
В первую половину 90-х звука в Linux не было.

Во второй половине 90-х в линуксе была звуковая система OSS. Она не умела звук из двух программ одновременно: например, ты играешь и одновременно слушаешь музыку. Тебе приходится выбирать, что запустить первым: игру или XMMS.

В первой половине 00-х в линуксе был звук ALSA. Он научился звуку из двух источников одновременно (точнее, из 128 источников), но только если звуковая карта поддерживала аппаратное микширование звука. В случае, если не поддерживала, существовал плагин dmix, отключенный по умолчанию. Надо было включать вручную. В конце 00-х, dmix перестал быть эспериментальным, и теперь включается автоматически в том случае, если звуковой чип не поддерживает аппаратное микширование. Также в ALSA существовала эмуляция OSS для старых программ, созданных до появления ALSA. Начиная с 2010 года, отключена по умолчанию, и её надо включать вручную.

Между OSS и ALSA существовали звуковые серверы (не системы, а серверы) ESD и aRts. Они были предназначены для того, чтобы звук из двух программ одновременно всё-таки выводился. На самом деле не для этого, но 99% пользователей использовали их именно для этого. И возможно, пользовались бы до сих пор, если бы был один звуковой сервер, а не зоопарк из двух. Дело в том, что первый был гномовский, а второй - кдешный. Приходилось подбирать софт с поддержкой того, что ты выбрал, и отказываться от того, что его не поддерживает. Обычно это сводилось к использованию программ или от GNOME, или от KDE, что также способствовало развитию тулкитофобии. Впрочем, компы тогда имели 32 и 64 Мб памяти, поэтому это было даже полезно.

А ещё был звуковой сервер JACK - вот он был реально полезным, в отличие от двух вышеназванных. Он позволял позволял делать разные штуки-дрюки для тех, кто работает со звуком (впрочем, это уже не в прошедшем времени, а в настоящем). Даёт богатые возможности для записи и обработки звука.

Во второй половине 00-х появился звуковой сервер PulseAudio. Что вызвало у многих недоумение. ESD и aRts были такими звуковыми серверами, которые решали проблему OSS, а после появления ALSA стали не нужны. JACK это такой звуковой сервер, которым пользуются знающие люди. Что же давал PulseAudio? Непонятно.

И хрен бы с ним, если бы его не предустанавливали и не включали по умолчанию без возможности отключать. Например в Fedora 8 и Ubuntu 8.04. Это вызвало закономерное противодействие сообщества пользователей Linux на десктопе. Возможности отключить находились, проблемы, связанные с этим, решались.

Шло время, появлялись новые пользователи Linux, линукса без PulseAudio не видевшие. А там уже пошёл синдром утёнка: помнишь серию Тома и Джерри, в которой утёнок родился, увидел кота, и решил что это его мама? Так же и здесь: «люблю PulseAudio, он лучше всех, а чистая ALSA даже микшировать звук не умеет». Естественно, те, кто так говорит, ни разу не пробовали ничего кроме PulseAudio.

Положительные стороны PulseAudio: для работы с Bluetooth-гарнитурой не нужно открывать консольку и править текстовые конфиги. Достаточно нажать мышкой в удобном окошке. Также есть штатная возможность передать весь системный звук по сети. Можно отрегулировать громкость звука в тех программах, которые не предоставляют регулятор громкости (хотя я таких не видел). Можно перенаправить звук со звуковой карты №1 на №2, не перезапуская воспроизведение (и опять-таки мышкой, а не редактируя конфиг-файл, делая default.pcm 1 вместо 0).

Недостатки PulseAudio - она не задействует аппаратные возможности современных аудиокарт, например аппаратное микширование использовать невозможно. Только программное, только хардкор! Она непредсказуемая: в большинстве случаев всё просто работает, но в редких случаях бывает треск и шипение. С ALSA таких проблем нет вообще. Ну и наконец: большинству пользователей просто непонятно, для чего им нужен аж целый звуковой сервер, если они не занимаются записью и обработкой звука, звуковая карта у них одна, а микшируется всё и с чистой ALSA (ещё и аппаратно).

А ещё есть OSS v.4. Изначально она вышла под коммерческой лицензией - что и вынудило экстренно создавать ALSA взамен OSS+ESD. Потом, когда авторы OSS v.4 поняли, что за деньги она никому не нужна, они изменили лицензию и сделали продукт бесплатным. В платной версии есть новые возможности, о которых я ничего не скажу - я их не знаю. OSS v.4 устанавливается из RPM или DEB-пакета и не требует дальнейшей настройки: всё просто будет работать.
ZenitharChampion ★★★★★ (17.08.17 09:51:22 EEST)
Пульс-хейтеры конечно же забыли упомянуть об основном преимуществе pulseaudio над «голой» ALSA:

Возможность переключения между звуковыми картами на лету, в том числе и при горячем подключении, без перезапуска программ. Сейчас, в 2017 году, в продаже полно микрофонов и наушников, которые подключаются по USB, и фактически видятся в системе как отдельная звуковая карта. Тоже самое касается гарнитур с Bluetooth Если вы хотите использовать такие устройства с горячим переключением между ними и колонками, то Pulseaudio ваш друг. Пульс даже может подключаться к колонкам и микрофонам другого компьютера через сеть, но это мало кому надо, плюс довольно большие задержки.

Ответить

Вернуться в «Железо для Linux»

Кто сейчас на конференции

Сейчас этот форум просматривают: Bing [Bot] и 8 гостей