Comando aplay de Linux con ejemplos prácticos

LinuxLinuxBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderá a usar el comando aplay en Linux, que es parte de las utilidades de ALSA (Advanced Linux Sound Architecture). El comando aplay proporciona una interfaz de usuario al sistema de sonido ALSA, lo que le permite reproducir archivos de audio desde la línea de comandos. Comenzará instalando los paquetes necesarios para usar aplay, luego explorará sus diversas opciones y flags para reproducir archivos de audio de diferentes maneras.

El laboratorio cubre los siguientes pasos: instalar los paquetes necesarios para aplay, usar el comando aplay para reproducir archivos de audio y explorar las opciones y flags disponibles del comando aplay. Este laboratorio está diseñado para brindarle ejemplos prácticos y una comprensión sólida del comando aplay, que puede ser una herramienta útil para administrar la reproducción de audio en su entorno 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{{"Comando aplay de Linux con ejemplos prácticos"}} linux/apt -.-> lab-422545{{"Comando aplay de Linux con ejemplos prácticos"}} end

Instale los paquetes necesarios para aplay

En este paso, instalaremos los paquetes necesarios para usar el comando aplay en Linux. El comando aplay es parte de las utilidades de ALSA (Advanced Linux Sound Architecture), que proporcionan una interfaz de usuario al sistema de sonido ALSA.

Primero, actualicemos el índice de paquetes:

sudo apt-get update

Salida de ejemplo:

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

A continuación, instale el paquete alsa-utils, que contiene el comando aplay y otras utilidades de ALSA:

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

Salida de ejemplo:

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)...

Ahora se han instalado los paquetes necesarios para el comando aplay, y podemos pasar al siguiente paso.

Reproduzca archivos de audio con el comando aplay

En este paso, aprenderemos a usar el comando aplay para reproducir archivos de audio en Linux.

Primero, descarguemos un archivo de audio de muestra para usar en nuestros ejemplos:

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

Salida de ejemplo:

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

Ahora, reproduzcamos el archivo de audio usando el comando aplay:

aplay ~/project/beep.wav

Salida de ejemplo:

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

Debería escuchar el archivo de audio reproduciéndose a través de los altavoces o los auriculares de su sistema.

Para detener la reproducción, presione Ctrl+C.

El comando aplay admite varias opciones para controlar la reproducción de audio, como ajustar el volumen, poner en bucle el audio y más. Exploraremos estas opciones en el siguiente paso.

Explore las opciones y flags del comando aplay

En este último paso, exploraremos algunas de las opciones y flags disponibles para el comando aplay.

Comencemos mostrando el menú de ayuda para el comando aplay:

aplay --help

Salida de ejemplo:

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

Algunas opciones útiles que puede probar:

  • Reproduzca el archivo de audio en un bucle:

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

    Esto reproducirá el archivo beep.wav en estéreo (2 canales), a una tasa de muestreo de 44,1 kHz, con un formato de 16 bits little-endian y lo repetirá 3 veces.

  • Ajuste el volumen:

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

    Esto reproducirá el archivo beep.wav al 50% de volumen.

  • Liste los dispositivos de audio disponibles:

    aplay -l

    Esto mostrará una lista de todos los dispositivos de audio disponibles en su sistema.

Sientase libre de experimentar con las diferentes opciones y flags para personalizar la reproducción de audio según sus necesidades.

Resumen

En este laboratorio, aprendimos cómo instalar los paquetes necesarios para usar el comando aplay en Linux, que es parte de las utilidades de ALSA (Advanced Linux Sound Architecture). Actualizamos el índice de paquetes e instalamos el paquete alsa-utils, que contiene el comando aplay y otras utilidades de ALSA. Luego exploramos las opciones y flags del comando aplay, que nos permiten reproducir archivos de audio y personalizar las configuraciones de reproducción.

El laboratorio cubrió el uso práctico del comando aplay, incluyendo la reproducción de archivos de audio y la comprensión de las opciones y flags disponibles. Este conocimiento se puede aplicar a diversas tareas relacionadas con el audio en un entorno Linux.

Linux Commands Cheat Sheet