РуЛиб - онлайн библиотека > Титаренко Иван > Linux > Линукс для музыканта: плагины ALSA

Читаем онлайн «Линукс для музыканта: плагины ALSA»

Титаренко Иван Георгиевич Линукс для музыканта: плагины ALSA (компиляция и перевод сетевых руководств)

Оглавление


1. Продвинутая звуковая архитектура, ALSA

2. Звуковые серверы

3. Утилиты ALSA

4. ALSA и systemd

5. Первичные настройки системы

6. Синтаксис файла .asoundrc

7. Аргументы ALSA

8. Вложение плагинов PCM

9. Аппаратные средства

10. Высококачественный ресемплинг

11. Инициализация

12. Именование устройств PCM

13. Псевдонимы

14. Фиктивные имена

15. Плагины ALSA

16. Определение ведомого устройства

17. Плагин plug

18. Микширование, плагин dmix

19. Плагин dmix и качество звука

20. Особенности настройки dmix

21. Запись звука

22. Микширование входных сигналов

23. Программная регулировка уровня громкости

24. Приложения и softvol

25. Поддержка OSS

26. Поддержка Jack

27. Модуль snd-aloop

28. Виртуальные карты

29. Поддержка Phonon

30. Многоканальный звук

31. Ручная настройка объемного звука

32. Понижающее микширование

33. Повышающее микширование

34. Фильтры LADSPA

35. Разделение каналов

36. Плагины ALSA, список

37. Плагин hw

38. Плагин mmap_emul

39. Плагин shm

40. Плагин null

41. Плагин copy

42. Плагин linear

43. Плагин lfloat

44. Плагин mulaw

45. Плагин alaw

46. Плагин adpcm

47. Плагин route

48. Плагин rate

49. Плагин plug

50. Плагин file

51. Плагин multi

52. Плагин share

53. Плагин hooks

54. Плагин dmix

55. Плагин dshare

56. Плагин dsnoop

57. Плагин ladspa

58. Плагин asym

59. Плагин iec958

60. Плагин softvol

61. Плагин empty

62. Плагин: remap

63. Используемая литература

64. Приложение, музыкальные программы

Продвинутая звуковая архитектура, ALSA

Усовершенствованная звуковая архитектура Linux (ALSA) предоставляет драйверы звуковой карты, управляемые ядром. ALSA заменяет оригинальную субсистему Open Sound System (OSS). Сегодня ALSA — часть ядра Linux, звуковая подсистема по умолчанию, обеспечивающая поддержку самого низкого уровня для звукового оборудования.


** Кроме драйверов звуковых устройств, ALSA предоставляет библиотеку для разработчиков приложений.


Так как ALSA — это набор встроенных модулей ядра Linux, ручная настройка обычно не требуется: udev автоматически обнаружит оборудование и выберет необходимые драйверы во время загрузки.

Иногда, чтобы разрешить пользователям работать с ALSA, приходится добавлять этих пользователей в группу audio, однако последнее не рекомендуется. Добавление пользователей в группу обеспечивает прямой доступ к звуковым устройствам. Это разрещает приложениям резервировать устройства вывода, что может нарушить программное микширование или затруднить быстрое переключение между приложениями в многопользовательских системах.

Звуковые серверы.

Как правило, ALSA или OSS работают со «звуковыми серверами», хотя это не обязательно, иногда даже нежелательно. В OS Linux звуковой сервер чаще всего организует микширование каналов, программную регулировку громкости, передачу звукового потока по сети.

Самые известные звуковые серверы следующие.

JACK Audio Connection Kit — звуковой сервер для профессионального применения, обеспечивает малую задержку звука при передаче по сети, поддержку аудио эффектов, синтез в реальном времени и многое другое.

PipeWire — альтернативная мультимедийная платформа, поддерживает контейнеры.

PulseAudio — наиболее популярная звуковая система общего назначения, также обеспечивает передачу звука по сети.

Утилиты ALSA

Некоторые утилиты пакета alsa-utils. Пакет содержит утилиты alsamixer и amixer. Утилита amixer — это команда оболочки для настройки звука; alsamixer предоставляет интуитивно понятный интерфейс настройки на основе ncurses.

Управление громкостью с помощью утилиты amixer:

$ amixer -c 1 sset Line,0 80%,40% unmute cap
$ amixer -c 1 -- sset Master playback -20dB
$ amixer -c 1 set PCM 2dB+
$ amixer -c 2 cset numid=34 40%

ALSA и systemd

Пакет alsa-utils поставляется с файлами конфигурации модулей systemd alsa-restore.service и alsa-state.service по умолчанию. Сервисы автоматически устанавливаются и активируются во время установки.

Основные команды для восстановления звуковых настроек:

~ alsactl store - сохраняет текущее значение;
~ alsactl restore - восстанавливает сохраненные ранее значения;
~ alsactl nrestore - команда похожа на restore, но уведомляет демон о необходимости повторного сканирования доступных звуковых карт;
~ alsactl init - пытается инициализировать все устройства "по умолчанию", если устройство неизвестно, возвращается код ошибки 99;
~ alsactl daemon - периодически