Commande aplay Linux avec des exemples pratiques

LinuxLinuxBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, vous allez apprendre à utiliser la commande aplay dans Linux, qui fait partie des utilitaires ALSA (Advanced Linux Sound Architecture). La commande aplay fournit une interface utilisateur pour le système sonore ALSA, vous permettant de jouer des fichiers audio à partir de la ligne de commande. Vous commencerez par installer les packages requis pour utiliser aplay, puis explorer ses diverses options et drapeaux pour jouer des fichiers audio de différentes manières.

Le laboratoire couvre les étapes suivantes : installation des packages requis pour aplay, utilisation de la commande aplay pour jouer des fichiers audio et exploration des options et drapeaux de la commande aplay disponibles. Ce laboratoire est conçu pour vous fournir des exemples pratiques et une compréhension solide de la commande aplay, qui peut être un outil utile pour gérer la lecture audio dans votre environnement Linux.

Linux Commands Cheat Sheet


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/PackagesandSoftwaresGroup(["Packages and Softwares"]) linux/PackagesandSoftwaresGroup -.-> linux/wget("Non-interactive Downloading") linux/PackagesandSoftwaresGroup -.-> linux/apt("Package Handling") subgraph Lab Skills linux/wget -.-> lab-422545{{"Commande aplay Linux avec des exemples pratiques"}} linux/apt -.-> lab-422545{{"Commande aplay Linux avec des exemples pratiques"}} end

Installer les packages requis pour aplay

Dans cette étape, nous allons installer les packages requis pour utiliser la commande aplay dans Linux. La commande aplay est partie des utilitaires ALSA (Advanced Linux Sound Architecture), qui fournissent une interface utilisateur pour le système sonore ALSA.

Tout d'abord, mettons à jour l'index des packages :

sudo apt-get update

Sortie exemple :

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 in 1s (324 kB/s)
Reading package lists... Done

Ensuite, installons le package alsa-utils, qui contient la commande aplay et d'autres utilitaires ALSA :

sudo apt update
sudo apt-get install -y alsa-utils

Sortie exemple :

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  alsa-firmware-loaders alsa-topology-conf alsa-ucm-conf libatopology2 libsnd-dev libsndfile1 libsndfile1-dev
Suggested packages:
  alsa-oss
The following NEW packages will be installed:
  alsa-firmware-loaders alsa-topology-conf alsa-ucm-conf alsa-utils libatopology2 libsnd-dev libsndfile1 libsndfile1-dev
0 upgraded, 8 newly installed, 0 to remove and 0 not upgraded.
Need to get 1,265 kB of archives.
After this operation, 5,120 kB of additional disk space will be used.
Do you want to continue? [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 in 1s (1,265 kB/s)
Selecting previously unselected package alsa-firmware-loaders.
(Reading database... 123412 files and directories currently installed.)
Preparing to unpack.../alsa-firmware-loaders_1.2.4-1_amd64.deb...
Unpacking alsa-firmware-loaders (1.2.4-1)...
Selecting previously unselected package alsa-topology-conf.
Preparing to unpack.../alsa-topology-conf_1.2.4-1_all.deb...
Unpacking alsa-topology-conf (1.2.4-1)...
Selecting previously unselected package alsa-ucm-conf.
Preparing to unpack.../alsa-ucm-conf_1.2.4-1_all.deb...
Unpacking alsa-ucm-conf (1.2.4-1)...
Selecting previously unselected package alsa-utils.
Preparing to unpack.../alsa-utils_1.2.6-1ubuntu1_amd64.deb...
Unpacking alsa-utils (1.2.6-1ubuntu1)...
Selecting previously unselected package libatopology2:amd64.
Preparing to unpack.../libatopology2_1.2.4-1_amd64.deb...
Unpacking libatopology2:amd64 (1.2.4-1)...
Selecting previously unselected package libsnd-dev:amd64.
Preparing to unpack.../libsnd-dev_1.0.29-1_amd64.deb...
Unpacking libsnd-dev:amd64 (1.0.29-1)...
Selecting previously unselected package libsndfile1:amd64.
Preparing to unpack.../libsndfile1_1.0.31-2_amd64.deb...
Unpacking libsndfile1:amd64 (1.0.31-2)...
Selecting previously unselected package libsndfile1-dev:amd64.
Preparing to unpack.../libsndfile1-dev_1.0.31-2_amd64.deb...
Unpacking libsndfile1-dev:amd64 (1.0.31-2)...
Setting up alsa-firmware-loaders (1.2.4-1)...
Setting up alsa-topology-conf (1.2.4-1)...
Setting up alsa-ucm-conf (1.2.4-1)...
Setting up libatopology2:amd64 (1.2.4-1)...
Setting up libsnd-dev:amd64 (1.0.29-1)...
Setting up libsndfile1:amd64 (1.0.31-2)...
Setting up libsndfile1-dev:amd64 (1.0.31-2)...
Setting up alsa-utils (1.2.6-1ubuntu1)...
Processing triggers for man-db (2.10.2-1)...
Processing triggers for libc-bin (2.35-0ubuntu3)...

Maintenant, les packages requis pour la commande aplay sont installés, et nous pouvons passer à l'étape suivante.

Jouer des fichiers audio à l'aide de la commande aplay

Dans cette étape, nous allons apprendre à utiliser la commande aplay pour jouer des fichiers audio sous Linux.

Tout d'abord, téléchargeons un fichier audio d'échantillonnage pour l'utiliser dans nos exemples :

wget https://www.soundjay.com/button/sounds/beep-07.wav -O ~/project/beep.wav

Sortie exemple :

--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]

Maintenant, jouons le fichier audio à l'aide de la commande aplay :

aplay ~/project/beep.wav

Sortie exemple :

Playing WAVE '/home/labex/project/beep.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo

Vous devriez entendre le fichier audio jouer via les haut-parleurs ou les écouteurs de votre système.

Pour arrêter la lecture, appuyez sur Ctrl+C.

La commande aplay prend en charge diverses options pour contrôler la lecture audio, telles que la réglage du volume, la boucle audio, etc. Nous explorerons ces options dans l'étape suivante.

Explorer les options et les drapeaux de la commande aplay

Dans cette dernière étape, nous allons explorer certaines des options et des drapeaux disponibles pour la commande aplay.

Commençons par afficher le menu d'aide pour la commande aplay :

aplay --help

Sortie exemple :

Usage: aplay [OPTION]... [FILE]...
Plays a PCM sound file.

Options:
  -h, --help             help
  -D, --device=NAME      set the device name
  -c, --channels=NUM     set the number of channels
  -f, --format=FORMAT    set the sample format
  -r, --rate=RATE        set the sample rate
  -t, --type=TYPE        set the file type
  -v, --version          show version
  -V, --verbose          show PCM hardware parameters
  -q, --quiet            quiet mode
  -l, --list-devices     list all soundcards and digital audio devices
  -L, --list-pcm         list all PCM devices
  -Xalsa-opts            pass options for ALSA backend

Certaines options utiles que vous pouvez essayer :

  • Jouer le fichier audio en boucle :

    aplay -c 2 -r 44100 -f S16_LE ~/project/beep.wav -l 3

    Cela jouera le fichier beep.wav en stéréo (2 canaux), à une fréquence d'échantillonnage de 44,1 kHz, avec un format 16 bits petit boutisme, et le fera boucler 3 fois.

  • Régler le volume :

    aplay -c 2 -r 44100 -f S16_LE ~/project/beep.wav --volume 50

    Cela jouera le fichier beep.wav au 50 % du volume.

  • Lister les dispositifs audio disponibles :

    aplay -l

    Cela affichera une liste de tous les dispositifs audio disponibles sur votre système.

N'hésitez pas à expérimenter les différentes options et drapeaux pour personnaliser la lecture audio selon vos besoins.

Résumé

Dans ce laboratoire, nous avons appris à installer les packages requis pour utiliser la commande aplay dans Linux, qui fait partie des utilitaires ALSA (Advanced Linux Sound Architecture). Nous avons mis à jour l'index des packages et installé le package alsa-utils, qui contient la commande aplay et d'autres utilitaires ALSA. Nous avons ensuite exploré les options et les drapeaux de la commande aplay, qui nous permettent de jouer des fichiers audio et de personnaliser les paramètres de lecture.

Le laboratoire a couvert l'utilisation pratique de la commande aplay, y compris la lecture de fichiers audio et la compréhension des options et des drapeaux disponibles. Ces connaissances peuvent être appliquées à diverses tâches liées à l'audio dans un environnement Linux.

Linux Commands Cheat Sheet