From 747ba86120ca07918d6184a59cc8d62990726840 Mon Sep 17 00:00:00 2001 From: Ludovic Pouzenc Date: Fri, 20 Oct 2017 21:59:43 +0200 Subject: Add some fun beep sound SFX --- make-boot-image.sh | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'make-boot-image.sh') diff --git a/make-boot-image.sh b/make-boot-image.sh index 335da4f..4813f99 100755 --- a/make-boot-image.sh +++ b/make-boot-image.sh @@ -549,6 +549,33 @@ tmux new-session -d "if $* ; then tmux kill-server; else tmux select-pane -P bg= select-pane -t:.0 \; \ attach EOF +add_initrd_script "/bin/sfx-load" <<"EOF" +notes() { + echo 'print "n=CCDEEFFGAABB\na=nsnbnnsnbnbn\n(\n"; for (d=21;d<109;d++) { + scale=20; f=440*e((d-69)/12*l(2)); fr=f+0.0005; scale=3; fr=fr/1; scale=0; o=d/12-1; t=d%12; + print "echo ${n:",t,":1}${a:",t,":1}",o,"=",fr,"\n" + }; print ") | tr -d n"' | bc -l | busybox sh +} + +sound() { + mode=$1; dur=$2; shift 2; args="-l0" + while [ -n "$1" ]; do + case $mode in + 1) args="$args -n -f$1 -l$dur";; + 2) args="$args -n -f$1 -l$(($2*dur))";; + 3) args="$args -n -f$1 -l$(($2*dur)) -D$(($3*dur))";; + esac + shift $mode + done + beep $args +} + +eval $(notes) +alias sfx-question="sound 2 50 $E7 2 $C7 2 $E7 2 $C7 3" +alias sfx-success="sound 1 140 $E6 $G6 $E7 $C7 $D7 $G7" +alias sfx-failure="sound 3 100 $C5 1 3 $G4 1 3 $E4 3 0 $A4 2 0 $B4 2 0 $A4 2 0 $Ab4 3 0 $Bb4 3 0 $Ab4 3 0 $G4 6 0" +alias sfx-starting="sound 1 25 $C5 $G4 $C5 $E5 $G5 $C6 $G5 $Ab4 $C5 $Eb5 $Ab5 $Eb5 $Ab5 $C6 $Eb6 $Ab6 $Eb6 $Bb4 $D5 $F5 $Bb5 $D6 $F6 $Bb6 $F6" +EOF add_initrd_script "/bin/figlet-center" <<"EOF" # Output some center ASCII-art text, one line per argument printf '\033]2;'"$*"'\033\\' # Term title (tmux) -- cgit v1.2.3