Bootsound: Debian GNU/Linux
Esta entrada es un tributo a la que mi entender, es la obra maestra de Ridley Scott: Alien (1979).
Al comienzo de la película, la computadora de la nave espacial Nostromo se inicia en una ráfaga de parpadeos y ruido.
Vamos a recrear ese ambiente en nuestro servidor, añadiendo el fragmento de audio a la secuencia de arranque de nuestro sistema.
Para configurarlo sobre nuestra base Debian seguimos este mini-tutorial.
Creamos la carpeta de trabajo y entramos en ella:
sudo mkdir -p /opt/bootsound && \
cd /opt && \
sudo chown $USER:$USER -R bootsound && \
cd /opt/bootsound
Actualizamos repositorios e instalamos las dependencias necesarias:
sudo apt-get update && \
sudo apt-get -y install ffmpeg \
youtube-dl
```bash
Forzamos la actualización de **Youtube-DL** para evitar conflictos:
```bash
sudo wget -O /usr/bin/youtube-dl \
http://yt-dl.org/downloads/latest/youtube-dl && \
sudo chmod a+rx /usr/bin/youtube-dl && \
sudo wget -O /usr/local/bin/youtube-dl \
http://yt-dl.org/downloads/latest/youtube-dl && \
sudo chmod a+rx /usr/local/bin/youtube-dl
A partir de este momento podremos actualizar Youtube-DL de esta forma:
sudo youtube-dl -U
Vamos a descargar el audio del video de la secuencia:
youtube-dl --extract-audio \
--audio-format wav \
--audio-quality 0 \
--restrict-filenames \
https://youtu.be/2ywWFvjE-yU
Renombramos el fichero:
mv \
'Nostromo_boot_sequence_+_Interface_2037_mother_-_Alien_computer_sounds_glitches-2ywWFvjE-yU.wav' \
audio.wav
Copiamos los primeros 25s del audio para adaptar el clip:
ffmpeg -i audio.wav \
-ss 00:00:01 -to 00:00:25 \
-c copy \
nostromo.wav && \
rm audio.wav
Identificamos la tarjeta de sonido:
cat /proc/asound/cards
Adjunto ejemplo de mi tarjeta:
pi@overclock:/opt/bootsound$ cat /proc/asound/cards
0 [PCH ]: HDA-Intel - HDA Intel PCH
HDA Intel PCH at 0xdf240000 irq 138
Descubrimos el identificador de la tarjeta de sonido para el sistema y lo apuntamos:
systemctl list-units | \
awk '/sound-card0/{print $1}'
Adjunto ejemplo de mi identificador:
pi@overclock:/opt/bootsound$ systemctl list-units | \
> awk '/sound-card0/{print $1}'
sys-devices-pci0000:00-0000:00:1f.3-sound-card0.device
Creamos script de ejecución:
nano bootsound.sh
Añadimos el siguiente contenido:
#!/bin/bash
amixer -c 0 sset Master unmute
amixer -c 0 sset Master playback 100%
/usr/bin/aplay -D plughw:0,0 /opt/bootsound/nostromo.wav
Guardamos el contenido Ctrl+O , salimos del editor Ctrl+X, le damos permisos de ejecución y creamos un enlace simbolico:
chmod +x bootsound.sh && \
sudo ln -s \
/opt/bootsound/bootsound.sh \
/usr/local/bin/bootsound
Creamos el servicio de arranque que ejecutara el script que hemos creado:
sudo nano /etc/systemd/system/bootsound.service
Añadimos el siguiente contenido, cambiando en caso de ser necesario el identificador de la tarjeta de sonido:
[Unit]
Description=Boot Sound
Requires=sys-devices-pci0000:00-0000:00:1f.3-sound-card0.device
After=sys-devices-pci0000:00-0000:00:1f.3-sound-card0.device
[Service]
Type=oneshot
RemainAfterExit=no
ExecStart=/usr/local/bin/bootsound
[Install]
WantedBy=default.target
Guardamos el contenido Ctrl+O , salimos del editor Ctrl+X, y activamos el servicio al inicio del sistema:
sudo systemctl enable bootsound.service
Y listo!