Configure Buzzer Alarm Notifications on Arch Linux

buzzer-notification

Many motherboards especially older or higher end ones have a small speaker or more commonly a piezoelectric buzzer that can be used as an alarm. This can be very useful as a last resort for alerting users of serious issues when other notification methods fail to get the user’s attention.

 

Install Beep

Install beep package with pacman.

sudo pacman -S beep

 

Test the Buzzer

Issue the default beep command to test the buzzer.

sudo beep

If this command did not produce any errors but no sound was audible you may need to configure audio on Arch Linux especially making sure to unmute and to boost volume level of the Beep channel in alsamixer. If  the buzzer still fail to produce a beep your motherboard may simply not have a buzzer in which case an external buzzer can be connected to the appropriate header pins.

 

Smartd Buzzer Notification Script

Before proceeding make sure to configure automated SMART checks on Arch Linux.

 

Create a buzzer notification script.

sudo nano /etc/smartmontools/run.d/buzzer

 

Copy the script changing options as needed.

#! /bin/bash

beep

sleep 1

 

Set execute permissions on the script.

sudo chmod +x /etc/smartmontools/run.d/buzzer

 

Customize Buzzer Alarm

Default beep command beeps only once but this behavior can be customized in a variety of ways.

sudo beep -f 5000 -l 50 -r 2

Frequency is set with -f option in hertz and can be anywhere from 0 to 20000. Duration is set with -l option in milliseconds. The number of times the beep is repeated is set with -r option with a default value of 1. To delay a certain number of milliseconds after beeps use -d option or -D to only delay after between beeps. To have a new beep executed in the same command use -n option.

 

Refer to the beep manual for full list of options.

man beep

 

Buzzer Music

The buzzer can be used for more than just simple alarms. Here are just a couple of examples of what is possible.

 

Axel Foley’s theme beep melody.

sudo beep -f 659 -l 460 -n -f 784 -l 340 -n -f 659 -l 230 -n -f 659 -l 110 -n -f 880 -l 230 -n -f 659 -l 230 -n -f 587 -l 230 -n -f 659 -l 460 -n -f 988 -l 340 -n -f 659 -l 230 -n -f 659 -l 110 -n -f 1047-l 230 -n -f 988 -l 230 -n -f 784 -l 230 -n -f 659 -l 230 -n -f 988 -l 230 -n -f 1318 -l 230 -n -f 659 -l 110 -n -f 587 -l 230 -n -f 587 -l 110 -n -f 494 -l 230 -n -f 740 -l 230 -n -f 659 -l 460

 

Star Wars Imperial March beep melody.

sudo beep -l 350 -f 392 -D 100 -n -l 350 -f 392 -D 100 -n -l 350 -f 392 \
-D 100 -n -l 250 -f 311.1 -D 100 -n -l 25 -f 466.2 -D 100 -n \
-l 350 -f 392 -D 100 -n -l 250 -f 311.1 -D 100 -n -l 25 -f 466.2 \
-D 100 -n -l 700 -f 392 -D 100 -n -l 350 -f 587.32 -D 100 -n \
-l 350 -f 587.32 -D 100 -n -l 350 -f 587.32 -D 100 -n -l 250 \
-f 622.26 -D 100 -n -l 25 -f 466.2 -D 100 -n -l 350 -f 369.99 \
-D 100 -n -l 250 -f 311.1 -D 100 -n -l 25 -f 466.2 -D 100 -n \
-l 700 -f 392 -D 100 -n -l 350 -f 784 -D 100 -n -l 250 -f 392 \
-D 100 -n -l 25 -f 392 -D 100 -n -l 350 -f 784 -D 100 -n \
-l 250 -f 739.98 -D 100 -n -l 25 -f 698.46 -D 100 -n \
-l 25 -f 659.26 -D 100 -n -l 25 -f 622.26 -D 100 -n \
-l 50 -f 659.26 -D 400 -n -l 25 -f 415.3 -D 200 -n \
-l 350 -f 554.36 -D 100 -n -l 250 -f 523.25 -D 100 -n \
-l 25 -f 493.88 -D 100 -n -l 25 -f 466.16 -D 100 -n \
-l 25 -f 440 -D 100 -n -l 50 -f 466.16 -D 400 -n \
-l 25 -f 311.13 -D 200 -n -l 350 -f 369.99 -D 100 -n \
-l 250 -f 311.13 -D 100 -n -l 25 -f 392 -D 100 -n \
-l 350 -f 466.16 -D 100 -n -l 250 -f 392 -D 100 -n \
-l 25 -f 466.16 -D 100 -n -l 700 -f 587.32 -D 100 -n \
-l 350 -f 784 -D 100 -n -l 250 -f 392 -D 100 -n \
-l 25 -f 392 -D 100 -n -l 350 -f 784 -D 100 -n \
-l 250 -f 739.98 -D 100 -n -l 25 -f 698.46 -D 100 -n \
-l 25 -f 659.26 -D 100 -n -l 25 -f 622.26 -D 100 -n \
-l 50 -f 659.26 -D 400 -n -l 25 -f 415.3 -D 200 -n \
-l 350 -f 554.36 -D 100 -n -l 250 -f 523.25 -D 100 -n \
-l 25 -f 493.88 -D 100 -n -l 25 -f 466.16 -D 100 -n \
-l 25 -f 440 -D 100 -n -l 50 -f 466.16 -D 400 -n \
-l 25 -f 311.13 -D 200 -n -l 350 -f 392 -D 100 -n \
-l 250 -f 311.13 -D 100 -n -l 25 -f 466.16 -D 100 -n \
-l 300 -f 392.00 -D 150 -n -l 250 -f 311.13 -D 100 -n

 

Quick Reference

sudo pacman -S beep
sudo beep

Configure audio on Arch Linux

Configure automated SMART checks on Arch Linux

sudo nano /etc/smartmontools/run.d/buzzer
sudo chmod +x /etc/smartmontools/run.d/buzzer
sudo beep -f 5000 -l 50 -r 2
man beep

dom