diff --git a/floppies/nadine1/main.pd b/floppies/nadine1/main.pd index 89d02eb..935f037 100644 --- a/floppies/nadine1/main.pd +++ b/floppies/nadine1/main.pd @@ -1,4 +1,4 @@ -#N canvas 225 100 1066 716 10; +#N canvas 229 29 1066 716 10; #X obj 96 208 textfile; #X obj 81 290 print; #X msg 134 151 bang; @@ -24,10 +24,10 @@ #X obj 442 296 b; #X msg 443 327 0; #X floatatom 469 358 5 0 0 0 - - -, f 5; -#N canvas 667 215 664 530 sample 1; +#N canvas 664 33 664 530 sample 0; #N canvas 0 22 450 278 (subpatch) 0; -#X array drone 668457 float 2; -#X coords 0 1 668457 -1 200 140 1 0 0; +#X array drone 334228 float 2; +#X coords 0 1 334228 -1 200 140 1 0 0; #X restore 379 157 graph; #X obj 147 106 soundfiler; #X floatatom 196 212 8 0 0 0 - - -, f 8; @@ -57,12 +57,6 @@ #X obj 236 112 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1; #X msg 152 322 0; -#X obj 168 410 player Chapter; -#X obj 319 461 player sub; -#X obj 223 439 player section; -#X obj 419 509 player subsubsub; -#X obj 364 486 player subsub; -#X obj 483 536 player subsubsubsub; #X obj 873 503 /~ 6; #X obj 204 149 metro 3000; #X obj 201 260 route Chapter section sub subsub subsubsub subsubsubsub @@ -70,8 +64,14 @@ foot Appendix, f 70; #X obj 498 295 b; #X msg 499 326 0; #X floatatom 525 357 5 0 0 0 - - -, f 5; +#X obj 364 486 player subsub; +#X obj 168 410 player Chapter; +#X obj 319 461 player sub; +#X obj 223 439 player section; +#X obj 419 509 player subsubsub; +#X obj 483 536 player subsubsubsub; #X connect 0 0 1 0; -#X connect 0 0 37 0; +#X connect 0 0 31 0; #X connect 2 0 0 0; #X connect 3 0 0 0; #X connect 4 0 0 0; @@ -80,15 +80,15 @@ foot Appendix, f 70; #X connect 5 1 28 0; #X connect 6 0 5 0; #X connect 7 0 13 0; -#X connect 7 0 29 1; +#X connect 7 0 36 1; #X connect 8 0 15 0; -#X connect 8 0 31 1; +#X connect 8 0 38 1; #X connect 9 0 17 0; -#X connect 9 0 30 1; +#X connect 9 0 37 1; #X connect 10 0 19 0; -#X connect 10 0 33 1; +#X connect 10 0 35 1; #X connect 11 0 21 0; -#X connect 11 0 32 1; +#X connect 11 0 39 1; #X connect 13 0 14 0; #X connect 14 0 8 0; #X connect 14 0 16 0; @@ -103,22 +103,22 @@ foot Appendix, f 70; #X connect 20 0 22 0; #X connect 21 0 22 0; #X connect 22 0 23 0; -#X connect 23 0 34 1; -#X connect 23 0 38 0; -#X connect 26 0 35 0; -#X connect 27 0 36 0; +#X connect 23 0 32 0; +#X connect 23 0 40 1; +#X connect 26 0 29 0; +#X connect 27 0 30 0; #X connect 28 0 7 0; #X connect 28 0 14 0; -#X connect 35 0 25 0; -#X connect 35 0 25 1; -#X connect 36 0 0 0; -#X connect 37 0 7 0; -#X connect 37 1 8 0; -#X connect 37 2 9 0; -#X connect 37 3 10 0; -#X connect 37 4 11 0; -#X connect 37 5 23 0; -#X connect 37 6 40 0; -#X connect 37 7 12 0; -#X connect 38 0 39 0; -#X connect 39 0 40 0; +#X connect 29 0 25 0; +#X connect 29 0 25 1; +#X connect 30 0 0 0; +#X connect 31 0 7 0; +#X connect 31 1 8 0; +#X connect 31 2 9 0; +#X connect 31 3 10 0; +#X connect 31 4 11 0; +#X connect 31 5 23 0; +#X connect 31 6 34 0; +#X connect 31 7 12 0; +#X connect 32 0 33 0; +#X connect 33 0 34 0; diff --git a/floppies/nadine2/main.py b/floppies/nadine2/main.py new file mode 100755 index 0000000..4cbd07b --- /dev/null +++ b/floppies/nadine2/main.py @@ -0,0 +1,46 @@ +#! /usr/bin/env python +import re, subprocess, random, os +from time import sleep + +devnull = open(os.devnull, 'w') + +# requires: espeak and aplay (alsa-utils) to be installed + +dic={ +"narrator": "en-us", +"Pilot": "m4", +"Sensor": "m7", +"MC": "m2", +"Jag25": "m6", +"Unknown": "f1", +"Bam Bam 41": "m3", +"Safety Observer":"f3" + +} + +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: + if p.findall(line): + time,char,sentence = (p.findall(line))[0] + voice=dic[char] + # play time + 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 + if "*expletive*" in sentence: #"*expletive*" in sentence is True: + sentence_parts=re.split(r"(\*\w+\*)", sentence) + for part in sentence_parts: + if part == '*expletive*': + subprocess.call(["aplay", 'swear.wav'], stdout=devnull, stderr=devnull) + else: + 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], stdout=devnull, stderr=devnull) # character speaks: his + + # + else: # line w/out time or character (narrator) + subprocess.call(["espeak", line, "-v", dic['narrator'], "-p", "20"], stdout=devnull, stderr=devnull) + sleep(1) # make pause after each text line + diff --git a/floppies/nadine3/main.py b/floppies/nadine3/main.py new file mode 100755 index 0000000..e26d908 --- /dev/null +++ b/floppies/nadine3/main.py @@ -0,0 +1,35 @@ +#! /usr/bin/env python +import re, subprocess, random +from time import sleep + +# requires: espeak to be installed + +dic={ +"narrator": "en-us", +} + +f=open("detail_of_attack.txt","r") +txt=f.readlines() +for line in txt: + print line + # # play time + subprocess.call(["espeak", "-v", dic['narrator'], "-p", "20", line]) # narrator speaks: time and character + # sleep(0.5) #short pause before sentence + # print sentence + # if "*CLASSIFIED*" in sentence: #"*expletive*" in sentence is True: + # sentence_parts=re.split(r"(\*\w+\*)", sentence) + # print sentence_parts + # for part in sentence_parts: + # if part == '*CLASSIFIED*': + # print 'EXPLETIVE', part + # subprocess.call(["aplay", 'swear.wav']) + # else: + # print 'SPEECH', part + # subprocess.call(["espeak", part, "-v", voice]) # character speaks: his + # sleep(float(random.randint(1,10))/100) + # else: # line w/out time or character (narrator) + # print "NARRATOR" + # subprocess.call(["espeak", line, "-v", dic['narrator'], "-p", "20"]) + + sleep(.5) # make pause after each text line +