24 lines
451 B
Plaintext
24 lines
451 B
Plaintext
|
#!/bin/sh
|
||
|
|
||
|
n=3
|
||
|
case "$5" in
|
||
|
LOW) n=1 ;;
|
||
|
NORMAL) n=3 ;;
|
||
|
CRITICAL) n=5;;
|
||
|
esac
|
||
|
|
||
|
lock=/tmp/.beep-lock
|
||
|
test -f $lock && exit 1
|
||
|
touch $lock
|
||
|
|
||
|
python -c "
|
||
|
import sys, numpy as np
|
||
|
t = np.arange(0, 0.25, 1/48000)
|
||
|
for i in range($n):
|
||
|
tone = np.random.choice([0,3,5,6,7,10,12])
|
||
|
note = 0.2 * np.sin(np.pi * 650 * 2**(tone/12) * t)
|
||
|
sys.stdout.buffer.write(np.int32(2**31 * note).tobytes())
|
||
|
" | aplay -c 1 -f S32_LE -r 48000 -Dbeep
|
||
|
|
||
|
rm -f $lock
|