diff --git a/floppies/nadine2/readnew.py b/floppies/nadine2/readnew.py index ccfd630..0df95ed 100755 --- a/floppies/nadine2/readnew.py +++ b/floppies/nadine2/readnew.py @@ -1,8 +1,10 @@ #! /usr/bin/env python -import re, subprocess, random +import re, subprocess, random, os from time import sleep -# requires: espeak to be installed +devnull = open(os.devnull, 'w') + +# requires: espeak and aplay (alsa-utils) to be installed dic={ "narrator": "en-us", @@ -17,33 +19,25 @@ f=open("transcripts-drone-attack.txt","r") txt=f.readlines() p= re.compile(r"^(\d\d\:\d\d) \((.*?)\)\: (.*)") # regex for capturing groups: time, character, sentence for line in txt: - print line if p.findall(line): time,char,sentence = (p.findall(line))[0] - print char.upper() voice=dic[char] # play time - subprocess.call(["espeak", time +" "+char, "-v", dic['narrator'], "-p", "20"]) # narrator speaks: time and character + subprocess.call(["espeak", time +" "+char, "-v", dic['narrator'], "-p", "20"], stdout=devnull, stderr=devnull) # narrator speaks: time and character sleep(0.5) #short pause before sentence - print sentence if "*expletive*" in sentence: #"*expletive*" in sentence is True: sentence_parts=re.split(r"(\*\w+\*)", sentence) - print sentence_parts for part in sentence_parts: if part == '*expletive*': - print 'EXPLETIVE', part - subprocess.call(["aplay", 'swear.wav']) + subprocess.call(["aplay", 'swear.wav'], stdout=devnull, stderr=devnull) else: - print 'SPEECH', part - subprocess.call(["espeak", part, "-v", voice]) # character speaks: his + subprocess.call(["espeak", part, "-v", voice], stdout=devnull, stderr=devnull) # character speaks: his sleep(float(random.randint(1,10))/100) else: - subprocess.call(["espeak", sentence, "-v", voice]) # character speaks: his + subprocess.call(["espeak", sentence, "-v", voice], stdout=devnull, stderr=devnull) # character speaks: his # else: # line w/out time or character (narrator) - print "NARRATOR" - subprocess.call(["espeak", line, "-v", dic['narrator'], "-p", "20"]) - + subprocess.call(["espeak", line, "-v", dic['narrator'], "-p", "20"], stdout=devnull, stderr=devnull) sleep(1) # make pause after each text line