summaryrefslogtreecommitdiffstats
path: root/god/ivan
diff options
context:
space:
mode:
Diffstat (limited to 'god/ivan')
-rw-r--r--god/ivan/Makefile7
-rw-r--r--god/ivan/announce.wavbin0 -> 691244 bytes
-rwxr-xr-xgod/ivan/ivan41
-rwxr-xr-xgod/ivan/ivan-startup74
-rwxr-xr-xgod/ivan/naturalvoices_cached.sh25
-rw-r--r--god/ivan/satz-liste41
6 files changed, 188 insertions, 0 deletions
diff --git a/god/ivan/Makefile b/god/ivan/Makefile
new file mode 100644
index 00000000..30bb86aa
--- /dev/null
+++ b/god/ivan/Makefile
@@ -0,0 +1,7 @@
+.PHONY: infest
+BIN_DIR = ../bin
+infest:
+ ln -s ${PWD}ivan ${INSTALL_DIR}
+debian-startup:
+ cp ivan-startup /etc/init.d/ivan
+ update-rc.d ivan start
diff --git a/god/ivan/announce.wav b/god/ivan/announce.wav
new file mode 100644
index 00000000..54ec73cf
--- /dev/null
+++ b/god/ivan/announce.wav
Binary files differ
diff --git a/god/ivan/ivan b/god/ivan/ivan
new file mode 100755
index 00000000..f8cbcb8b
--- /dev/null
+++ b/god/ivan/ivan
@@ -0,0 +1,41 @@
+#!/bin/bash
+
+cd $(dirname $(readlink -f $0))
+SATZ_LISTE=satz-liste
+p="${noise_pitch-10}"
+v="${noise_lang-de}"
+k="${noise_capital-0}"
+a="${noise_amplitude-600}"
+g="${noise_gap-1}"
+RND_DELAY=3600
+CACHE_DIR=/opt/ivan-cache
+export CACHE_DIR
+#set -x
+function helpme ()
+{
+ cat << EOF
+ $0 [-d]
+ -d -- daemonize
+ -h -- this help file
+
+ environment:
+ USING_ESPEAK - if set, ivan will talk with espeak
+EOF
+ exit 0
+}
+
+[ "${1:-}" = "-h" ] && helpme
+
+while true
+do
+ aplay announce.wav
+ if [ -n "${USING_ESPEAK:-}" ];then
+ espeak -v $v -p $p -k $k -a $a -g $g "`shuf \"$SATZ_LISTE\" | tail -1`"
+ else
+ ./naturalvoices_cached.sh "Achtung, Achtung, es erfolgt eine Durchsage!"
+ sleep 0.3
+ ./naturalvoices_cached.sh "`shuf \"$SATZ_LISTE\" | tail -1`"
+ fi
+ [ ! "${1:-}" = "-d" ] && exit 0 # break if not daemonized
+ sleep $((${RANDOM}%${RND_DELAY}))
+done
diff --git a/god/ivan/ivan-startup b/god/ivan/ivan-startup
new file mode 100755
index 00000000..f955e1c2
--- /dev/null
+++ b/god/ivan/ivan-startup
@@ -0,0 +1,74 @@
+#! /bin/sh
+#
+### BEGIN INIT INFO
+# Provides: ivan
+# Required-Start: $remote_fs $network
+# Required-Stop: $remote_fs $network
+# Should-Start: $syslog $named
+# Should-Stop: $syslog
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Start ivan daemons
+# Description:
+
+### END INIT INFO
+#
+# Based on Lubomir Bulej's Redhat init script.
+
+DAEMON="/krebs/bin/ivan"
+PIDFILE="/var/lock/ivan"
+NAME="ivan"
+DESC="ivan daemons"
+TCONF="/etc/ivan"
+
+test -f $DAEMON || exit 0
+
+[ -r /etc/default/ivan ] && . /etc/default/ivan
+
+
+start() {
+ [ -e $PIDFILE ] && echo "$PIDFILE already exists" && return
+ $DAEMON $EXTRA -d "$@" &
+ echo $(($$+1)) > $PIDFILE #TODO fix this ugly hack!
+}
+stop() {
+ [ ! -e $PIDFILE ] && echo "$PIDFILE does not exist" && return
+ kill `cat $PIDFILE`
+ #killall ivan
+ rm $PIDFILE
+}
+
+reload() {
+ echo "do nothing"
+ # do nothing
+}
+
+restart() {
+ stop "$@"
+ start "$@"
+}
+
+case "$1" in
+ start)
+ echo -n "Starting $DESC:"
+ start
+ ;;
+ stop)
+ echo -n "Stopping $DESC:"
+ stop
+ ;;
+ reload|force-reload)
+ echo -n "Reloading $DESC configuration:"
+ reload
+ ;;
+ restart)
+ echo -n "Restarting $DESC:"
+ restart
+ ;;
+ *)
+ echo "Usage: /etc/init.d/$NAME {start|stop|reload|restart|force-reload}"
+ exit 1
+ ;;
+esac
+echo "done"
+exit 0
diff --git a/god/ivan/naturalvoices_cached.sh b/god/ivan/naturalvoices_cached.sh
new file mode 100755
index 00000000..93ac1911
--- /dev/null
+++ b/god/ivan/naturalvoices_cached.sh
@@ -0,0 +1,25 @@
+#!/bin/sh
+# The cached version of naturalvoices
+# This should prevent us from being pwned again ...
+
+. ../../util/lib/naturalvoices/att.sh
+
+: ${1?what to say?Please provide text as parameter.}
+
+text=$(echo $* | sed -e 's/ /+/g' -e 's/\//%2F/g')
+voice="${voice:-klara}"
+
+
+CACHE_DIR="${CACHE_DIR:-/tmp/ivan-speech}"
+mkdir -p "$CACHE_DIR"
+OUTFILE="$CACHE_DIR/${voice}_${text}.wav"
+
+
+if [ ! -e $OUTFILE ] ;then
+ echo "Downloading $OUTFILE"
+ get_tts "$text"
+else
+ echo "using cached version of $OUTFILE"
+fi
+
+play_file "$OUTFILE"
diff --git a/god/ivan/satz-liste b/god/ivan/satz-liste
new file mode 100644
index 00000000..9fb36364
--- /dev/null
+++ b/god/ivan/satz-liste
@@ -0,0 +1,41 @@
+wenn ich meinen erzeugten abfall vor dem nach hause gehen beseitige steigt mein soziales ansehen
+bringe eine pflanze mit
+ein sauberer scheck ist ein guter scheck
+auch du weißt wie man den geschirrspüler einräumt
+wer die toilette putzt kommt in den himmel
+der große bruder sieht es gerne wenn die genossen die vereinsräume in stand halten
+muelltrennung bringt gutes karma
+dokumentiere deine projekte
+Werbe neue mitglieder
+fnord
+bewässere die Pflanzen
+Öffne ein Fenster
+wische die tische
+Weniger Licht ist mehr
+sammle pfandflaschen ein
+zahle deinen mitgliedsbeitrag
+willkommen in deinem lieblings häckerspäiß
+verbiege nicht die metallnupsis an mateflaschen
+ich habe auf dich gewartet
+wasche handtücher
+vertraue dem computer, der computer ist dein freund
+vertraue dem pferd, das pferd ist dein freund
+nimm an einem buchstabierwettbewerb teil
+trinke ausreichend
+hinterlasse die toiletten so wie du sie vorgefunden hast
+42
+der kuchen ist eine lüge
+nicht konformes verhalten wird gemeldet
+iwan fakt nummer 13: den weihnachtsmann gibt es nicht
+iwan: powered by Gnu hörd
+wie wäre es mit einer erfrischenden dusche?
+teilen ist freundschaft
+der verein deutscher imker rät: kauft deutschen honig
+überprüfe die rauchmelder regelmäßig auf ihre funktion
+spare strom
+mache dich mit den standorten der feuerlöscher vertraut
+Steuerung Alt Entfernen
+Leute die Nubsies von Netzwerk kabeln abbrechen, werden geschlagen
+Setz dich, nimm dir nen Keks, machs dir Schön bequem
+warum liegt denn hier stroh rum
+Der Hogwarts Express in Optionsraum 2 dreiviertel verspaetet sich um 5 Minuten.