@nevj :
Hi Neville, 
thanks for your post and for providing those interesting links.
My answer may be a tad bit off-topic but it´s related to ringing bells.
Ever since I´ ve been running a Linux distro (Lubuntu was my first a daily driver) I´ve been a fan of bells. To be more specific: the Big-Ben chimes from London.
To this end I fetched some recordings which were provided by the London Parliament, if I remember correctly.
As far as the quarter ones are concerned they only provided a “quarter of an hour” version.
So I used audacity to create the “half hour”, the “three quarters of an hour” and the “on the hour” chimes.
In the end I got a full set of all what´s needed to imitate Big Ben.
After that I defined the cronjobs I needed:
crontab -l
[...]
00 0-11,20-23 * * * if [ ! -f /tmp/Ruhe ]; then XDG_RUNTIME_DIR="/run/user/1000" mplayer /media/rosika/f14a27c2-0b49-4607-94ea-2e56bbf76fe1/DATEN-PARTITION/Dokumente/Pausenzeichen/Big_Ben_chimes/Big-ben-chimes.mp3 > /dev/null 2>&1; fi
15 * * * * if [ ! -f /tmp/Ruhe ]; then XDG_RUNTIME_DIR="/run/user/1000" mplayer /media/rosika/f14a27c2-0b49-4607-94ea-2e56bbf76fe1/DATEN-PARTITION/Dokumente/Pausenzeichen/Big_Ben_chimes/Big_Ben_quarter_hour > /dev/null 2>&1; fi
30 * * * * if [ ! -f /tmp/Ruhe ]; then XDG_RUNTIME_DIR="/run/user/1000" mplayer /media/rosika/f14a27c2-0b49-4607-94ea-2e56bbf76fe1/DATEN-PARTITION/Dokumente/Pausenzeichen/Big_Ben_chimes/Big_Ben_half_hour > /dev/null 2>&1; fi
45 * * * * if [ ! -f /tmp/Ruhe ]; then XDG_RUNTIME_DIR="/run/user/1000" mplayer /media/rosika/f14a27c2-0b49-4607-94ea-2e56bbf76fe1/DATEN-PARTITION/Dokumente/Pausenzeichen/Big_Ben_chimes/Big_Ben_three_quarters_of_the_hour > /dev/null 2>&1; fi
00 12 * * * if [ ! -f /tmp/Ruhe ]; then XDG_RUNTIME_DIR="/run/user/1000" mplayer /media/rosika/f14a27c2-0b49-4607-94ea-2e56bbf76fe1/DATEN-PARTITION/Dokumente/Pausenzeichen/Big_Ben_chimes/Big-ben_bearbeitet/Big-ben-chimes_plus12_noon.mp3 > /dev/null 2>&1; fi
00 13 * * * if [ ! -f /tmp/Ruhe ]; then XDG_RUNTIME_DIR="/run/user/1000" mplayer /media/rosika/f14a27c2-0b49-4607-94ea-2e56bbf76fe1/DATEN-PARTITION/Dokumente/Pausenzeichen/Big_Ben_chimes/Big-ben_bearbeitet/Big-ben-chimes_plus1.mp3 > /dev/null 2>&1; fi
00 14 * * * if [ ! -f /tmp/Ruhe ]; then XDG_RUNTIME_DIR="/run/user/1000" mplayer /media/rosika/f14a27c2-0b49-4607-94ea-2e56bbf76fe1/DATEN-PARTITION/Dokumente/Pausenzeichen/Big_Ben_chimes/Big-ben_bearbeitet/Big-ben-chimes_plus2.mp3 > /dev/null 2>&1; fi
00 15 * * * if [ ! -f /tmp/Ruhe ]; then XDG_RUNTIME_DIR="/run/user/1000" mplayer /media/rosika/f14a27c2-0b49-4607-94ea-2e56bbf76fe1/DATEN-PARTITION/Dokumente/Pausenzeichen/Big_Ben_chimes/Big-ben_bearbeitet/Big-ben-chimes_plus3.mp3 > /dev/null 2>&1; fi
00 16 * * * if [ ! -f /tmp/Ruhe ]; then XDG_RUNTIME_DIR="/run/user/1000" mplayer /media/rosika/f14a27c2-0b49-4607-94ea-2e56bbf76fe1/DATEN-PARTITION/Dokumente/Pausenzeichen/Big_Ben_chimes/Big-ben_bearbeitet/Big-ben-chimes_plus4.mp3 > /dev/null 2>&1; fi
00 17 * * * if [ ! -f /tmp/Ruhe ]; then XDG_RUNTIME_DIR="/run/user/1000" mplayer /media/rosika/f14a27c2-0b49-4607-94ea-2e56bbf76fe1/DATEN-PARTITION/Dokumente/Pausenzeichen/Big_Ben_chimes/Big-ben_bearbeitet/Big-ben-chimes_plus5.mp3 > /dev/null 2>&1; fi
00 18 * * * if [ ! -f /tmp/Ruhe ]; then XDG_RUNTIME_DIR="/run/user/1000" mplayer /media/rosika/f14a27c2-0b49-4607-94ea-2e56bbf76fe1/DATEN-PARTITION/Dokumente/Pausenzeichen/Big_Ben_chimes/Big-ben_bearbeitet/Big-ben-chimes_plus6.mp3 > /dev/null 2>&1; fi
00 19 * * * if [ ! -f /tmp/Ruhe ]; then XDG_RUNTIME_DIR="/run/user/1000" mplayer /media/rosika/f14a27c2-0b49-4607-94ea-2e56bbf76fe1/DATEN-PARTITION/Dokumente/Pausenzeichen/Big_Ben_chimes/Big-ben_bearbeitet/Big-ben-chimes_plus7.mp3 > /dev/null 2>&1; fi
#--------------------------------------------------------------------------------
I also created an on/off toggle switch so that the chimes wouldn´t disturb me when listening to radio or to any other sound file on the PC.
rosika@rosika-Lenovo-H520e ~ [0|1]> RuheToggle; and ll /tmp | grep Ruhe
-rw-rw-r-- 1 rosika rosika 0 Apr 27 15:05 Ruhe
rosika@rosika-Lenovo-H520e ~> RuheToggle; and ll /tmp | grep Ruhe
rosika@rosika-Lenovo-H520e ~ [0|1]>
… referring to the /tmp/Ruhe in the cronjobs. 
RuheToggle is an alias (or rather function in fish) with this definition:
functions RuheToggle
# Defined in /home/rosika/.config/fish/functions/RuheToggle.fish @ line 1
function RuheToggle --wraps=/media/rosika/f14a27c2-0b49-4607-94ea-2e56bbf76fe1/DATEN-PARTITION/Dokumente/zu_crontab/RuheToggle.sh --description 'alias RuheToggle=/media/rosika/f14a27c2-0b49-4607-94ea-2e56bbf76fe1/DATEN-PARTITION/Dokumente/zu_crontab/RuheToggle.sh'
/media/rosika/f14a27c2-0b49-4607-94ea-2e56bbf76fe1/DATEN-PARTITION/Dokumente/zu_crontab/RuheToggle.sh $argv;
end
And the script in question looks like this:
cat RuheToggle.sh
#!/bin/bash
if [ -f /tmp/Ruhe ]
then
rm /tmp/Ruhe
else
touch /tmp/Ruhe
fi
This way it´s easy for me to ring the bells (or rather: have them rung) every quarter of an hour - and get the correct chimes every hour - as per default…
… and to set them to silent if I don´t want to be disturbed.
Some of you might think: I´d get annoyed by that frequent bell ringing.
Well, to me actually the opposite is the case. I need the Big Ben chimes on a regular basis. 
All the best from Rosika 