diff options
Diffstat (limited to 'god/ivan')
| -rw-r--r-- | god/ivan/Makefile | 7 | ||||
| -rw-r--r-- | god/ivan/announce.wav | bin | 0 -> 691244 bytes | |||
| -rwxr-xr-x | god/ivan/ivan | 41 | ||||
| -rwxr-xr-x | god/ivan/ivan-startup | 74 | ||||
| -rwxr-xr-x | god/ivan/naturalvoices_cached.sh | 25 | ||||
| -rw-r--r-- | god/ivan/satz-liste | 41 |
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 Binary files differnew file mode 100644 index 00000000..54ec73cf --- /dev/null +++ b/god/ivan/announce.wav 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. |
