Введение
В этом лабе вы научитесь использовать команду aplay в Linux, которая является частью утилит ALSA (Advanced Linux Sound Architecture). Команда aplay предоставляет пользовательский интерфейс к системе звука ALSA, позволяя воспроизводить аудиофайлы из командной строки. Вы начнете с установки необходимых пакетов для использования aplay, а затем изучите различные параметры и флаги, чтобы воспроизводить аудиофайлы по-разному.
В лабе рассмотрены следующие шаги: установка необходимых пакетов для aplay, использование команды aplay для воспроизведения аудиофайлов и изучение доступных параметров и флагов команды aplay. Этот лаб призван дать вам практические примеры и твердый понять команды aplay, которая может быть полезным инструментом для управления воспроизведением аудио в вашей среде Linux.
Установка необходимых пакетов для aplay
В этом шаге мы установим необходимые пакеты для использования команды aplay в Linux. Команда aplay является частью утилит ALSA (Advanced Linux Sound Architecture), которые предоставляют пользовательский интерфейс к системе звука ALSA.
Во - первых, обновим индекс пакетов:
sudo apt-get update
Пример вывода:
Hit:1 http://archive.ubuntu.com/ubuntu jammy InRelease
Get:2 http://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB]
Get:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [114 kB]
Get:4 http://archive.ubuntu.com/ubuntu jammy-backports InRelease [99.8 kB]
Fetched 324 kB в 1s (324 kB/s)
Чтение списков пакетов... Готово
Далее, установим пакет alsa-utils, который содержит команду aplay и другие утилиты ALSA:
sudo apt update
sudo apt-get install -y alsa-utils
Пример вывода:
Чтение списков пакетов... Готово
Построение дерева зависимостей... Готово
Чтение状态информации... Готово
Следующие дополнительные пакеты будут установлены:
alsa-firmware-loaders alsa-topology-conf alsa-ucm-conf libatopology2 libsnd-dev libsndfile1 libsndfile1-dev
Рекомендуемые пакеты:
alsa-oss
Следующие НОВЫЕ пакеты будут установлены:
alsa-firmware-loaders alsa-topology-conf alsa-ucm-conf alsa-utils libatopology2 libsnd-dev libsndfile1 libsndfile1-dev
0 обновлено, 8 новых установлено, 0 удалить и 0 не обновлено.
Необходимо получить 1,265 kB архивов.
После этой операции будет использовано дополнительно 5,120 kB дискового пространства.
Вы хотите продолжить? [Y/n] Y
Get:1 http://archive.ubuntu.com/ubuntu jammy/main amd64 alsa-firmware-loaders amd64 1.2.4-1 [12.1 kB]
Get:2 http://archive.ubuntu.com/ubuntu jammy/main amd64 alsa-topology-conf all 1.2.4-1 [11.0 kB]
Get:3 http://archive.ubuntu.com/ubuntu jammy/main amd64 alsa-ucm-conf all 1.2.4-1 [89.0 kB]
Get:4 http://archive.ubuntu.com/ubuntu jammy/main amd64 alsa-utils amd64 1.2.6-1ubuntu1 [1,153 kB]
Get:5 http://archive.ubuntu.com/ubuntu jammy/main amd64 libatopology2 amd64 1.2.4-1 [13.9 kB]
Get:6 http://archive.ubuntu.com/ubuntu jammy/main amd64 libsnd-dev amd64 1.0.29-1 [18.0 kB]
Get:7 http://archive.ubuntu.com/ubuntu jammy/main amd64 libsndfile1 amd64 1.0.31-2 [111 kB]
Get:8 http://archive.ubuntu.com/ubuntu jammy/main amd64 libsndfile1-dev amd64 1.0.31-2 [57.1 kB]
Fetched 1,265 kB в 1s (1,265 kB/s)
Выбираем ранее невыбранный пакет alsa-firmware-loaders.
(Чтение базы данных... 123412 файлов и директорий текущих установленных.)
Подготавливаемся к распаковке.../alsa-firmware-loaders_1.2.4-1_amd64.deb...
Распаковываем alsa-firmware-loaders (1.2.4-1)...
Выбираем ранее невыбранный пакет alsa-topology-conf.
Подготавливаемся к распаковке.../alsa-topology-conf_1.2.4-1_all.deb...
Распаковываем alsa-topology-conf (1.2.4-1)...
Выбираем ранее невыбранный пакет alsa-ucm-conf.
Подготавливаемся к распаковке.../alsa-ucm-conf_1.2.4-1_all.deb...
Распаковываем alsa-ucm-conf (1.2.4-1)...
Выбираем ранее невыбранный пакет alsa-utils.
Подготавливаемся к распаковке.../alsa-utils_1.2.6-1ubuntu1_amd64.deb...
Распаковываем alsa-utils (1.2.6-1ubuntu1)...
Выбираем ранее невыбранный пакет libatopology2:amd64.
Подготавливаемся к распаковке.../libatopology2_1.2.4-1_amd64.deb...
Распаковываем libatopology2:amd64 (1.2.4-1)...
Выбираем ранее невыбранный пакет libsnd-dev:amd64.
Подготавливаемся к распаковке.../libsnd-dev_1.0.29-1_amd64.deb...
Распаковываем libsnd-dev:amd64 (1.0.29-1)...
Выбираем ранее невыбранный пакет libsndfile1:amd64.
Подготавливаемся к распаковке.../libsndfile1_1.0.31-2_amd64.deb...
Распаковываем libsndfile1:amd64 (1.0.31-2)...
Выбираем ранее невыбранный пакет libsndfile1-dev:amd64.
Подготавливаемся к распаковке.../libsndfile1-dev_1.0.31-2_amd64.deb...
Распаковываем libsndfile1-dev:amd64 (1.0.31-2)...
Настраиваем alsa-firmware-loaders (1.2.4-1)...
Настраиваем alsa-topology-conf (1.2.4-1)...
Настраиваем alsa-ucm-conf (1.2.4-1)...
Настраиваем libatopology2:amd64 (1.2.4-1)...
Настраиваем libsnd-dev:amd64 (1.0.29-1)...
Настраиваем libsndfile1:amd64 (1.0.31-2)...
Настраиваем libsndfile1-dev:amd64 (1.0.31-2)...
Настраиваем alsa-utils (1.2.6-1ubuntu1)...
Обрабатываем триггеры для man-db (2.10.2-1)...
Обрабатываем триггеры для libc-bin (2.35-0ubuntu3)...
Теперь необходимые пакеты для команды aplay установлены, и мы можем перейти к следующему шагу.
Воспроизведение аудиофайлов с использованием команды aplay
В этом шаге мы научимся использовать команду aplay для воспроизведения аудиофайлов в Linux.
Во - первых, загрузим пример аудиофайл для использования в наших примерах:
wget https://www.soundjay.com/button/sounds/beep-07.wav -O ~/project/beep.wav
Пример вывода:
--2023-04-12 08:31:33-- https://www.soundjay.com/button/sounds/beep-07.wav
Resolving www.soundjay.com (www.soundjay.com)... 104.24.108.5, 104.24.109.5
Connecting to www.soundjay.com (www.soundjay.com)|104.24.108.5|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 11174 (11K) [audio/x-wav]
Saving to: '~/project/beep.wav'
~/project/beep.wav 100%[===================>] 10.92K --.-KB/s in 0s
2023-04-12 08:31:33 (128 MB/s) - '~/project/beep.wav' saved [11174/11174]
Теперь воспроизведем аудиофайл с использованием команды aplay:
aplay ~/project/beep.wav
Пример вывода:
Playing WAVE '/home/labex/project/beep.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
Вы должны слышать аудиофайл через динамики или наушники вашей системы.
Для остановки воспроизведения нажмите Ctrl+C.
Команда aplay поддерживает различные параметры для управления воспроизведением аудио, таких как настройка громкости, зацикливание аудио и т.д. Мы рассмотрим эти параметры на следующем шаге.
Изучение параметров и флагов команды aplay
В этом последнем шаге мы изучим некоторые доступные параметры и флаги для команды aplay.
Начнем с отображения меню помощи для команды aplay:
aplay --help
Пример вывода:
Usage: aplay [OPTION]... [FILE]...
Воспроизводит файл звука PCM.
Параметры:
-h, --help помощь
-D, --device=NAME установить имя устройства
-c, --channels=NUM установить количество каналов
-f, --format=FORMAT установить формат образца
-r, --rate=RATE установить частоту дискретизации
-t, --type=TYPE установить тип файла
-v, --version показать версию
-V, --verbose показать параметры оборудования PCM
-q, --quiet тихий режим
-l, --list-devices вывести список всех звуковых карт и цифровых аудиоустройств
-L, --list-pcm вывести список всех устройств PCM
-Xalsa-opts передать параметры для ALSA - бэкенда
Некоторые полезные параметры, которые можно попробовать:
Воспроизвести аудиофайл в цикле:
aplay -c 2 -r 44100 -f S16_LE ~/project/beep.wav -l 3Это будет воспроизводить файл
beep.wavв стерео (2 канала), с частотой дискретизации 44,1 кГц, в формате 16 - битного little - endian и зациклить его 3 раза.Изменить громкость:
aplay -c 2 -r 44100 -f S16_LE ~/project/beep.wav --volume 50Это будет воспроизводить файл
beep.wavпри 50% громкости.Вывести список доступных аудиоустройств:
aplay -lЭто выведет список всех доступных аудиоустройств в вашей системе.
Не стесняйтесь экспериментировать с разными параметрами и флагами, чтобы настроить воспроизведение аудио под свои нужды.
Резюме
В этом лабе мы научились устанавливать необходимые пакеты для использования команды aplay в Linux, которая является частью утилит ALSA (Advanced Linux Sound Architecture). Мы обновили индекс пакетов и установили пакет alsa-utils, который содержит команду aplay и другие утилиты ALSA. Затем мы изучили параметры и флаги команды aplay, которые позволяют нам воспроизводить аудиофайлы и настраивать параметры воспроизведения.
В лабе рассмотрено практическое использование команды aplay, включая воспроизведение аудиофайлов и понимание доступных параметров и флагов. Эти знания могут быть применены в различных задачах, связанных с аудио, в среде Linux.



