diff options
author | Jack Jansen <jack.jansen@cwi.nl> | 2002-12-13 15:25:26 (GMT) |
---|---|---|
committer | Jack Jansen <jack.jansen@cwi.nl> | 2002-12-13 15:25:26 (GMT) |
commit | 3d87e3cdf7420849e98f153c806fe50fe5131961 (patch) | |
tree | 07138d9bbad930d9a6ee8f025f4e4733439b4727 /Mac/Demo/speech | |
parent | 72f3b7a5ded370e835a23be2f091bbee4e538b4c (diff) | |
download | cpython-3d87e3cdf7420849e98f153c806fe50fe5131961.zip cpython-3d87e3cdf7420849e98f153c806fe50fe5131961.tar.gz cpython-3d87e3cdf7420849e98f153c806fe50fe5131961.tar.bz2 |
The speech manager interface is no longer supported and a replacement is
(unfortunately: especially the grail demo was hiarious) still missing.
Diffstat (limited to 'Mac/Demo/speech')
-rw-r--r-- | Mac/Demo/speech/SCRIPT | 1204 | ||||
-rw-r--r-- | Mac/Demo/speech/grail.py | 228 | ||||
-rw-r--r-- | Mac/Demo/speech/hum.py | 31 |
3 files changed, 0 insertions, 1463 deletions
diff --git a/Mac/Demo/speech/SCRIPT b/Mac/Demo/speech/SCRIPT deleted file mode 100644 index 12e1713..0000000 --- a/Mac/Demo/speech/SCRIPT +++ /dev/null @@ -1,1204 +0,0 @@ - Boy do I have a treat for you guys! -If this works you can send thanks to emeli@magnus.acs.ohio-state.edu for -bringing it to you, though I did not transcribe it. - -"Monty Python and the Holy Grail" --- the strictly unofficial script of the movie, - done in a fit of boredom by =AHH 01Jan87= - -The Cast (in order of appearance [roughly]): - KING ARTHUR : Graham Chapman - PATSY : Terry Gilliam - GUARD #1 : Michael Palin - GUARD #2 : John Cleese - MORTICIAN : Eric Idle - CUSTOMER : John Cleese - DEAD PERSON : ??? - DENNIS : Michael Palin - WOMAN : Terry Jones - BLACK KNIGHT : Michael Palin? - VILLAGER #1 : Eric Idle - VILLAGER #2 : Michael Palin - SIR BEDEMIR : Terry Jones - WITCH : ??? - VILLAGER #3 : John Cleese - NARRATOR: Michael Palin - SIR LANCELOT : John Cleese - SIR GALAHAD : Michael Palin - SIR ROBIN : Eric Idle - GOD : ??? - FRENCH GUARD : John Cleese - MINSTREL : ??? - LEFT HEAD : - MIDDLE HEAD : - RIGHT HEAD : -Graham Chapman -Terry Jones -Michael Palin - OLD MAN : Terry Gilliam - HEAD KNIGHT OF NEE : Michael Palin - FATHER : Michael Palin - PRINCE HERBERT : Graham Chapman? - GUARD #1 : Eric Idle - GUARD #2 : ??? - CONCORDE : Eric Idle - OLD CRONE : ??? - ROGER THE SHRUBBER : Eric Idle - TIM THE ENCHANTER: John Cleese - BROTHER MAYNARD: Eric Idle - SECOND BROTHER: Michael Palin - - Scene 1 - -[wind] -[clop clop] - ARTHUR: Whoa there! -[clop clop] - - GUARD #1: Halt! Who goes there? - ARTHUR: It is I, Arthur, son of Uther Pendragon, from the castle -of Camelot. King of the Britons, defeator of the Saxons, sovereign -of all England! - GUARD #1: Pull the other one! - ARTHUR: I am. And this my trusty servant Patsy. -We have ridden the length and breadth of the land in search of knights -who will join me in my court of Camelot. I must speak with your lord -and master. - GUARD #1: What, ridden on a horse? - ARTHUR: Yes! - GUARD #1: You're using coconuts! - ARTHUR: What? - GUARD #1: You've got two empty halves of coconut and your bangin' -'em together. - ARTHUR: So? We have ridden since the snows of winter covered this -land, through the kingdom of Mercea, through-- - GUARD #1: Where'd you get the coconut? - ARTHUR: We found them. - GUARD #1: Found them? In Mercea? The coconut's tropical! - ARTHUR: What do you mean? - GUARD #1: Well, this is a temperate zone. - ARTHUR: The swallow may fly south with the sun or the house martin -or the plumber may seek warmer climes in winter yet these are not -strangers to our land. - GUARD #1: Are you suggesting coconuts migrate? - ARTHUR: Not at all, they could be carried. - GUARD #1: What -- a swallow carrying a coconut? - ARTHUR: It could grip it by the husk! - GUARD #1: It's not a question of where he grips it! It's a simple -question of weight ratios! A five ounce bird could not carry a 1 pound -coconut. - ARTHUR: Well, it doesn't matter. Will you go and tell your master -that Arthur from the Court of Camelot is here. - GUARD #1: Listen, in order to maintain air-speed velocity, a swallow -needs to beat its wings 43 times every second, right? - ARTHUR: Please! - GUARD #1: Am I right? - ARTHUR: I'm not interested! - GUARD #2: It could be carried by an African swallow! - GUARD #1: Oh, yeah, an African swallow maybe, but not a European - swallow, that's my point. - GUARD #2: Oh, yeah, I agree with that... - ARTHUR: Will you ask your master if he wants to join my court -at Camelot?! - GUARD #1: But then of course African swallows are not migratory. - GUARD #2: Oh, yeah... - GUARD #1: So they couldn't bring a coconut back anyway... -[clop clop] - GUARD #2: Wait a minute -- supposing two swallows carried it together? - GUARD #1: No, they'd have to have it on a line. - GUARD #2: Well, simple! They'd just use a standard creeper! - GUARD #1: What, held under the dorsal guiding feathers? - GUARD #2: Well, why not? - -Scene 2 - - MORTICIAN: Bring out your dead! -[clang] -Bring out your dead! -[clang] -Bring out your dead! -[clang] -Bring out your dead! -[clang] - Bring out your dead! -[clang] -Bring out your dead! -[clang] -Bring out your dead! -[clang] -Bring out your dead! -[clang] -Bring out your dead! -[clang] -Bring out your dead! -[clang] -Bring out your dead! -[clang] -Bring out your dead! - CUSTOMER: Here's one -- nine pence. - DEAD PERSON: I'm not dead! - MORTICIAN: What? - CUSTOMER: Nothing -- here's your nine pence. - DEAD PERSON: I'm not dead! - MORTICIAN: Here -- he says he's not dead! - CUSTOMER: Yes, he is. - DEAD PERSON: I'm not! - MORTICIAN: He isn't. - CUSTOMER: Well, he will be soon, he's very ill. - DEAD PERSON: I'm getting better! - CUSTOMER: No, you're not -- you'll be stone dead in a moment. - MORTICIAN: Oh, I can't take him like that -- it's against regulations. - DEAD PERSON: I don't want to go in the cart! - CUSTOMER: Oh, don't be such a baby. - MORTICIAN: I can't take him... - DEAD PERSON: I feel fine! - CUSTOMER: Oh, do us a favor... - MORTICIAN: I can't. - CUSTOMER: Well, can you hang around a couple of minutes? He won't -be long. - MORTICIAN: Naaah, I got to go on to Robinson's -- they've lost nine -today. - CUSTOMER: Well, when is your next round? - MORTICIAN: Thursday. - DEAD PERSON: I think I'll go for a walk. - CUSTOMER: You're not fooling anyone y'know. Look, isn't there -something you can do? - DEAD PERSON: I feel happy... I feel happy. -[whop] - CUSTOMER: Ah, thanks very much. - MORTICIAN: Not at all. See you on Thursday. - CUSTOMER: Right. - [clop clop] - MORTICIAN: Who's that then? - CUSTOMER: I don't know. - MORTICIAN: Must be a king. - CUSTOMER: Why? - MORTICIAN: He hasn't got shit all over him. - -Scene 3 - -[clop clop] - ARTHUR: Old woman! - DENNIS: Man! - ARTHUR: Man, sorry. What knight live in that castle over there? - DENNIS: I'm thirty seven. - ARTHUR: What? - DENNIS: I'm thirty seven -- I'm not old! - ARTHUR: Well, I can't just call you 'Man'. - DENNIS: Well, you could say 'Dennis'. - ARTHUR: Well, I didn't know you were called Dennis. - DENNIS: Well, you didn't bother to find out, did you? - ARTHUR: I did say sorry about the old woman, but from the behind -you looked-- - DENNIS: What I object to is you automatically treat me like an inferior! - ARTHUR: Well, I AM king... - DENNIS: Oh king, eh, very nice. An' how'd you get that, eh? By -exploitin' the workers -- by 'angin' on to outdated imperialist dogma -which perpetuates the economic an' social differences in our society! -If there's ever going to be any progress-- - WOMAN: Dennis, there's some lovely filth down here. Oh -- how'd you do? - ARTHUR: How do you do, good lady. I am Arthur, King of the Britons. -Who's castle is that? - WOMAN: King of the who? - ARTHUR: The Britons. - WOMAN: Who are the Britons? - ARTHUR: Well, we all are. we're all Britons and I am your king. - WOMAN: I didn't know we had a king. I thought we were an autonomous -collective. - DENNIS: You're fooling yourself. We're living in a dictatorship. -A self-perpetuating autocracy in which the working classes-- - WOMAN: Oh there you go, bringing class into it again. - DENNIS: That's what it's all about if only people would-- - ARTHUR: Please, please good people. I am in haste. Who lives -in that castle? - WOMAN: No one live there. - ARTHUR: Then who is your lord? - WOMAN: We don't have a lord. - ARTHUR: What? - DENNIS: I told you. We're an anarchosyndicalist commune. We take - it in turns to act as a sort of executive officer for the week. - ARTHUR: Yes. - DENNIS: But all the decision of that officer have to be ratified -at a special biweekly meeting. - ARTHUR: Yes, I see. - DENNIS: By a simple majority in the case of purely internal affairs,-- - ARTHUR: Be quiet! - DENNIS: --but by a two-thirds majority in the case of more-- - ARTHUR: Be quiet! I order you to be quiet! - WOMAN: Order, eh -- who does he think he is? - ARTHUR: I am your king! - WOMAN: Well, I didn't vote for you. - ARTHUR: You don't vote for kings. - WOMAN: Well, 'ow did you become king then? - ARTHUR: The Lady of the Lake, - [angels sing] -her arm clad in the purest shimmering samite, held aloft Excalibur -from the bosom of the water signifying by Divine Providence that I, -Arthur was to carry Excalibur. -[singing stops] -That is why I am your king! - DENNIS: Listen -- strange women lying in ponds distributing swords -is no basis for a system of government. Supreme executive power derives -from a mandate from the masses, not from some farcical aquatic ceremony. - ARTHUR: Be quiet! - DENNIS: Well you can't expect to wield supreme executive power -just 'cause some watery tart threw a sword at you! - ARTHUR: Shut up! - DENNIS: I mean, if I went around sayin' I was an empereror just -because some moistened bint had lobbed a scimitar at me they'd put me away! - ARTHUR: Shut up! Will you shut up! - DENNIS: Ah, now we see the violence inherent in the system. - ARTHUR: Shut up! - DENNIS: Oh! Come and see the violence inherent in the system! -HELP! HELP! I'm being repressed! - ARTHUR: Bloody peasant! - DENNIS: Oh, what a give away. Did you here that, did you here that, -eh? That's what I'm on about -- did you see him repressing me, you saw -it didn't you? - -Scene 4 - -[arg] [ugh] [hah] - - ARTHUR: You fight with the strength of many men, Sir knight. -I am Arthur, King of the Britons. - -I seek the finest and the bravest knights in the land to join me - in my courted camelot. - -You have proved yourself worthy will you join me? - -You make me sad. So be it. Come, Patsy. - BLACK KNIGHT: None shall pass. - ARTHUR: What? - BLACK KNIGHT: None shall pass. - ARTHUR: I have no quarrel with you, good Sir knight, but I must -cross this bridge. - BLACK KNIGHT: Then you shall die. - ARTHUR: I command you as King of the Britons to stand aside! - BLACK KNIGHT: I move for no man. - ARTHUR: So be it! -[hah] -[parry thrust] -[ARTHUR chops the BLACK KNIGHT's left arm off] - ARTHUR: Now stand aside, worthy adversary. - BLACK KNIGHT: 'Tis but a scratch. - ARTHUR: A scratch? Your arm's off! - BLACK KNIGHT: No, it isn't. - ARTHUR: Well, what's that then? - BLACK KNIGHT: I've had worse. - ARTHUR: You liar! - BLACK KNIGHT: Come on you pansy! -[hah] -[parry thrust] -[ARTHUR chops the BLACK KNIGHT's right arm off] - ARTHUR: Victory is mine! -[kneeling] -We thank thee Lord, that in thy merc- -[hah] - BLACK KNIGHT: Come on then. - ARTHUR: What? - BLACK KNIGHT: Have at you! - ARTHUR: You are indeed brave, Sir knight, but the fight is mine. - BLACK KNIGHT: Oh, had enough, eh? - ARTHUR: Look, you stupid bastard, you've got no arms left. - BLACK KNIGHT: Yes I have. - ARTHUR: Look! - BLACK KNIGHT: Just a flesh wound. -[bang] - ARTHUR: Look, stop that. - BLACK KNIGHT: Chicken! Chicken! - ARTHUR: Look, I'll have your leg. Right! -[whop] - BLACK KNIGHT: Right, I'll do you for that! - ARTHUR: You'll what? - BLACK KNIGHT: Come 'ere! - ARTHUR: What are you going to do, bleed on me? - BLACK KNIGHT: I'm invincible! - ARTHUR: You're a loony. - BLACK KNIGHT: The Black Knight always triumphs! -Have at you! Come on then. -[whop] -[ARTHUR chops the BLACK KNIGHT's other leg off] - BLACK KNIGHT: All right; we'll call it a draw. - ARTHUR: Come, Patsy. - BLACK KNIGHT: Oh, oh, I see, running away then. You yellow -bastards! Come back here and take what's coming to you. I'll bite -your legs off! - -Scene 5 - - CROWD: A witch! A witch! A witch! We've got a witch! A witch! - VILLAGER #1: We have found a witch, might we burn her? - CROWD: Burn her! Burn! - BEDEMIR: How do you know she is a witch? - VILLAGER #2: She looks like one. - BEDEMIR: Bring her forward. - WITCH: I'm not a witch. I'm not a witch. - BEDEMIR: But you are dressed as one. - WITCH: They dressed me up like this. - CROWD: No, we didn't -- no. - WITCH: And this isn't my nose, it's a false one. - BEDEMIR: Well? - VILLAGER #1: Well, we did do the nose. - BEDEMIR: The nose? - VILLAGER #1: And the hat -- but she is a witch! - CROWD: Burn her! Witch! Witch! Burn her! - BEDEMIR: Did you dress her up like this? - CROWD: No, no... no ... yes. Yes, yes, a bit, a bit. - VILLAGER #1: She has got a wart. - BEDEMIR: What makes you think she is a witch? - VILLAGER #3: Well, she turned me into a newt. - BEDEMIR: A newt? - VILLAGER #3: I got better. - VILLAGER #2: Burn her anyway! - CROWD: Burn! Burn her! - BEDEMIR: Quiet, quiet. Quiet! There are ways of telling whether -she is a witch. - CROWD: Are there? What are they? - BEDEMIR: Tell me, what do you do with witches? - VILLAGER #2: Burn! - CROWD: Burn, burn them up! - BEDEMIR: And what do you burn apart from witches? - VILLAGER #1: More witches! - VILLAGER #2: Wood! - BEDEMIR: So, why do witches burn? - - VILLAGER #3: B--... 'cause they're made of wood...? - BEDEMIR: Good! - CROWD: Oh yeah, yeah... - BEDEMIR: So, how do we tell whether she is made of wood? - VILLAGER #1: Build a bridge out of her. - BEDEMIR: Aah, but can you not also build bridges out of stone? - VILLAGER #2: Oh, yeah. - BEDEMIR: Does wood sink in water? - VILLAGER #1: No, no. - VILLAGER #2: It floats! It floats! - VILLAGER #1: Throw her into the pond! - CROWD: The pond! - BEDEMIR: What also floats in water? - VILLAGER #1: Bread! - VILLAGER #2: Apples! - VILLAGER #3: Very small rocks! - VILLAGER #1: Cider! - VILLAGER #2: Great gravy! - VILLAGER #1: Cherries! - VILLAGER #2: Mud! - VILLAGER #3: Churches -- churches! - VILLAGER #2: Lead -- lead! - ARTHUR: A duck. - CROWD: Oooh. - BEDEMIR: Exactly! So, logically..., - VILLAGER #1: If... she.. weighs the same as a duck, she's made of wood. - BEDEMIR: And therefore--? - VILLAGER #1: A witch! - CROWD: A witch! - BEDEMIR: We shall use my larger scales! -[yelling] - BEDEMIR: Right, remove the supports! -[whop] -[creak] - CROWD: A witch! A witch! - WITCH: This is a fair cop. - CROWD: Burn her! Burn! [yelling] - BEDEMIR: Who are you who are so wise in the ways of science? - ARTHUR: I am Arthur, King of the Britons. - BEDEMIR: My liege! - ARTHUR: Good Sir knight, will you come with me to Camelot, -and join us at the Round Table? - BEDEMIR: My liege! I would be honored. - ARTHUR: What is your name? - BEDEMIR: Bedemir, my leige. - ARTHUR: Then I dub you Sir Bedemir, Knight of the Round Table. - -[Narrative Interlude] - - NARRATOR: The wise Sir Bedemir was the first to join King Arthur's -knights, but other illustrious names were soon to follow: -Sir Lancelot the Brave; Sir Galahad the Pure; and Sir Robin the -Not-quite-so-brave-as-Sir-Lancelot who had nearly fought the Dragon -of Agnor, who had nearly stood up to the vicious Chicken of Bristol -and who had personally wet himself at the Battle of Baden Hill; and -the aptly named Sir Not-appearing-in-this-film. Together they formed -a band whose names and deeds were to be retold throughout the centuries, -the Knights of the Round Table. - -Scene 6 - - BEDEMIR: And that, my liege, is how we know the Earth to be banana-shaped. - ARTHUR: This new learning amazes me, Sir Bedemir. Explain again how -sheeps' bladders may be employed to prevent earthquakes. - BEDEMIR: Oh, certainly, sir. - LANCELOT: Look, my liege! - ARTHUR: Camelot! - GALAHAD: Camelot! - LANCELOT: Camelot! - PATSY: It's only a model. - ARTHUR: Shhh! Knights, I bid you welcome to your new home. Let us -ride... to... Camelot. - -[singing] -We're knights of the round table -We dance when e'er we're able -We do routines and parlour scenes -With footwork impecc-Able. - -We dine well here in Camelot -We eat ham and jam and spam a lot - -[dancing] - -We're knights of the Round Table -Our shows are for-mid-able -Oh many times we're given rhymes -That are quite unsing-able -We not so fat in Camelot -We sing from the diaphragm a lot - -[tap-dancing] - -Oh we're tough and able -Quite indefatigable -Between our quests we [something] -And impersonate Clark Gable -It's a bit too loud in Camelot -I have to push the pram a lot. - - ARTHUR: Well, on second thought, let's not go to Camelot -- it is -a silly place. - Right. - -Scene 7 - - GOD: Arthur! Arthur, King of the Britons! Oh, don't grovel! If -there's one thing I can't stand, it's people groveling. - ARTHUR: Sorry-- - GOD: And don't apologize. Every time I try to talk to someone it's -"sorry this" and "forgive me that" and "I'm not worthy". What are you -doing now!? - ARTHUR: I'm averting my eyes, oh Lord. - GOD: Well, don't. It's like those miserable Psalms -- they're so -depressing. Now knock it off! - ARTHUR: Yes, Lord. - GOD: Right! Arthur, King of the Britons -- your Knights of the -Round -Table shall have a task to make them an example in these dark times. - ARTHUR: Good idea, oh Lord! - GOD: 'Course it's a good idea! Behold! Arthur, this is the Holy -Grail. Look well, Arthur, for it is your sacred task to seek this Grail. -That is your purpose, Arthur -- the Quest for the Holy Grail. - ARTHUR: A blessing! - LANCELOT: A blessing from the Lord! - GALAHAD: God be praised! - -Scene 8 - -[clop clop] - ARTHUR: Halt! Hallo! Hallo! - GUARD: 'Allo! Who is zis? - ARTHUR: It is King Arthur, and these are the Knights of the Round -Table. Who's castle is this? - GUARD: This is the castle of mumble mumble - ARTHUR: Go and tell your master that we have been charged by God -with a sacred quest. If he will give us food and shelter for the night -he can join us in our quest for the Holy Grail. - GUARD: Well, I'll ask him, but I don't think he'll be very keen... -Uh, he's already got one, you see? - ARTHUR: What? - GALAHAD: He says they've already got one! - ARTHUR: Are you sure he's got one? - GUARD: Oh, yes, it's very nice-uh (I told him we already got one) - ARTHUR: Well, um, can we come up and have a look? - GUARD: Of course not! You are English types-uh! - ARTHUR: Well, what are you then? - GUARD: I'm French! Why do think I have this outrageous accent, you -silly king! - GALAHAD: What are you doing in England? - GUARD: Mind your own business! - ARTHUR: If you will not show us the Grail, we shall take your castle -by force! - GUARD: You don't frighten us, English pig-dogs! Go and boil your -bottoms, sons of a silly person. I blow my nose at you, so-called -Arthur-king, you and all your silly English kaniggets. Thppppt! - GALAHAD: What a strange person. - ARTHUR: Now look here, my good man! - GUARD: I don't want to talk to you no more, you empty headed animal -food trough whopper! I fart in your general direction! You mother was -a hamster and your father smelt of elderberries! - ???: Is there someone else up there we could talk to? - GUARD: No, now go away or I shall taunt you a second time-uh! - ARTHUR: Now, this is your last chance. I've been more than reasonable. - GUARD: (Fetch-a da mush.) - wha? - GUARD: (Fetch-a da mush!) -[moo] - ARTHUR: If you do not agree to my commands, then I shall-- -[twong] -[mooooooo] -Jesus Christ! -Right! Charge! - ALL: Charge! -[mayhem] - GUARD: Ah, this one is for your mother! -[twong] - ALL: Run away! - GUARD: Thpppt! - LANCELOT: Fiends! I'll tear them apart! - ARTHUR: No no, no. - BEDEMIR: Sir! I have a plan, sir. - -[later] - -[chop] -[rumble rumble squeak] -ce labon a bunny do -wha? - un codoo? -a present! -oh, un codoo. -oui oui hurry! -wha-? -let's go! -[rumble rumble squeak] - - ARTHUR: What happens now? - BEDEMIR: Well, now, uh, Lancelet, Galahad, and I wait until nightfall, -and then leap out of the rabbit, taking the French by surprise -- not only -by surprise, but totally unarmed! - ARTHUR: Who leaps out? - BEDEMIR: Uh, Lancelot, Galahad, and I. Uh, leap out of the rabbit, uh -and uh.... - ARTHUR: Oh.... - BEDEMIR: Oh.... Um, l-look, if we built this large wooden badger-- -[twong] - ALL: Run away! Run away! Run away! Run away! -[splat] - FRENCH: Oh, haw haw haw. - -Scene 9 - - Pictures for Schools, take 8. - DIRECTOR: Action! - - NARRATOR: Defeat at the castle seems to have utterly disheartened -King Arthur. The ferocity of the French taunting took him completely -by surprise, and Arthur became convinced that a new strategy was required -if the quest for the Holy Grail were to be brought to a successful -conclusion. Arthur, having consulted his closest knights, decided that -they should separate, and search for the Grail individually. Now, this -is what they did-- -[tromp tromp] -[slash] - WOMAN: Greg! - -Scene 10 - - NARRATOR: The Tale of Sir Robin.... -So each of the knights went their separate ways. Sir Robin rode north, -through the dark forest of Ewing, accompanied by his favorite minstrels. - - MINSTREL (singing): Bravely bold Sir Robin, rode forth from Camelot. - He was not afraid to die, o Brave Sir Robin. - He was not at all afraid to be killed in nasty ways. - Brave, brave, brave, brave Sir Robin! - - He was not in the least bit scared to be mashed - into a pulp, - Or to have his eyes gouged out, and his elbows broken. - To have his kneecaps split, and his body burned away, - And his limbs all hacked and mangled, brave Sir Robin! - - His head smashed in and his heart cut out, - And his liver removed and his bowels unplugged, - And his nostrils ripped and his bottom burned off, - And his penis-- - ROBIN: That's -- that's, uh, that's enough music for now, lads. -Looks like there's dirty work afoot. - DENNIS: Anarchosyndicalism is a way of preserving freedom. - WOMAN: Oh, Dennis, forget about freedom. Now I've dropped my mud. - ALL HEADS: Halt! Who art thou? - MINSTREL (singing): He is brave Sir Robin, brave Sir Robin, who-- - ROBIN: Shut up! Um, n-n-nobody really, I'm j-just um, just passing -through. - ALL HEADS: What do you want? - MINSTREL (singing): To fight, and-- - ROBIN: Shut up! Um, oo, n-nothing, nothing really -- I, uh, j-j-ust -to um, just to p-pass through good Sir knight. - ALL HEADS: I'm afraid not! - ROBIN: Ah. W-well, actually I am a Knight of the Round Table. - ALL HEADS: You're a Knight of the Round Table? - ROBIN: I am. -TJ:In that case I shall have to kill you. -GC:Shall I? -MP:Oh, I don't think so. -GC:Well, what do I think? -TJ:I think kill him. -MP:Well let's be nice to him. -GC:Oh shut up. -TJ:Perhaps- -GC:And you. -TJ:Oh quick get the sword out I want to cut his head off! -MP:Oh, cut your own head off! -GC:Yes, do us all a favor! -TJ:What? -MP:Yapping on all the time. -GC:You're lucky, you're not next to him. -TJ:What do you mean? -GC:You snore. -TJ:Oh I don't -- anyway, you've got bad breath. -GC:Well its only because you don't brush my teeth. -MP:Oh stop bitching and let's go have tea. -TJ:All right all right all right we'll kill him first and then have tea - and biscuits. -GC:Yes. -MP:Oh, but not biscuits. -TJ:All right all right not biscuits, but lets kill him anyway. - ALL HEADS: Right! -TJ:He buggered off. -MP:So he has, he scarpered. - - MINSTREL (singing): Brave Sir Robin ran away - ROBIN: No! - MINSTREL (singing): Bravely ran away away - ROBIN: I didn't! - MINSTREL (singing): When danger reared its ugly head, - He bravely turned his tail and fled - ROBIN: No! - MINSTREL (singing): Yes Brave Sir Robin turned about - ROBIN: I didn't! - MINSTREL (singing): And gallantly he chickened out - Bravely taking to his feet - ROBIN: I never did! - MINSTREL (singing): He beat a very brave retreat - ROBIN: Oh, lie! - MINSTREL (singing): Bravest of the brave Sir Robin - ROBIN: I never! - -Scene 11 - NARRATOR: The Tale of Sir Galahad - -[boom crash] -[angels singing] - -[pound pound pound] - GALAHAD: Open the door! -Open the door! -[pound pound pound] -In the name of King Arthur, open the door! -[squeak thump] -[squeak boom] - ALL: Hello! - ZOOT: Welcome gentle Sir knight, welcome to the Castle Anthrax. - GALAHAD: The Castle Anthrax? - ZOOT: Yes... oh, it's not a very good name is it? Oh! but we are -nice and we shall attend to your every, every need! - GALAHAD: You are the keepers of the Holy Grail? - ZOOT: The what? - GALAHAD: The Grail -- it is here? - ZOOT: Oh, but you are tired, and you must rest awhile. Midget! -Crepper! - MIDGET and CREPPER: Yes, oh Zoot! - ZOOT: Prepare a bed for our guest. - MIDGET and CREPPER: Oh thank you thank you thank you-- - ZOOT: Away away vilatesses[?]! The beds here are warm and soft -- and -very, very big. - GALAHAD: Well, look, I-I-uh-- - ZOOT: What is your name, handsome knight? - GALAHAD: Sir Galahad... the Chaste. - ZOOT: Mine is Zoot... just Zoot. Oh, but come! - GALAHAD: Look, please! In God's name, show me the Grail! - ZOOT: Oh, you have suffered much! You are delirious! - GALAHAD: L-look, I have seen it! It is here, in the-- - ZOOT: Sir Galahad! You would not be so ungallant as to refuse our -hospitality. - GALAHAD: Well, I-I-uh-- - ZOOT: Oh, I am afraid our life must seem very dull and quiet compared -to yours. We are but eight score young blondes and brunettes, all between -sixteen and nineteen and a half, cut off in this castle with no one to -protect us! Oh, it is a lonely life -- bathing, dressing, undressing, -making exciting underwear.... We are just not used to handsome knights. -Nay, nay, come, come, you may lie here. Oh, but you are wounded! - GALAHAD: No, no -- i-it's nothing! - ZOOT: Oh, but you must see the doctors immediately! No, no, please, -lie down. [clap clap] - PIGLET: Ah. What seems to be the trouble? - GALAHAD: They're doctors?! - ZOOT: Uh, they've had a basic medical training, yes. - GALAHAD: B-but-- - ZOOT: Oh, come come, you must try to rest! Doctor Piglet, Doctor -Winston, practice your art. - PIGLET: Try to relax. - GALAHAD: Are you sure that's necessary? - PIGLET: We must examine you. - GALAHAD: There's nothing wrong with that! - PIGLET: Please -- we are doctors. - GALAHAD: Get off the bed! I am sworn to chastity! - PIGLET: Back to your bed! - GALAHAD: Torment me no longer! I have seen the Grail! - PIGLET: There's no grail here. - GALAHAD: I have seen it, I have seen it. I have seen-- - GIRLS: Hello. - GALAHAD: Oh-- - VARIOUS GIRLS: Hello. -Hello. -Hello. -Hello. -Hello. -Hello. - Hello. -Hello. -Hello. -Hello. -Hello. -Hello. - GALAHAD: Zoot! - DINGO: No, I am Zoot's identical twin sister, Dingo. - GALAHAD: Oh, well, excuse me, I-- - DINGO: Where are you going? - GALAHAD: I seek the Grail! I have seen it, here in this castle! - DINGO: No! Oh, no! Bad, bad Zoot! - GALAHAD: What is it? - DINGO: Oh, wicked, bad, naughty Zoot! She has been setting alight -to our beacon, which, I just remembered, is grail-shaped. It's not the -first time we've had this problem. - GALAHAD: It's not the real Grail? - DINGO: Oh, wicked, bad, naughty, evil Zoot! Oh, she is a naughty -person, and she must pay the penalty -- and here in Castle Anthrax, we -have but one punishment for setting alight the grail-shaped beacon. You -must tie her down on a bed and spank her! - GIRLS: A spanking! A spanking! - DINGO: You must spank her well. And after you have spanked her, you -may deal with her as you like. And then, spank me. - VARIOUS GIRLS: And spank me. -And me. -And me. - DINGO: Yes, yes, you must give us all a good spanking! - GIRLS: A spanking! A spanking! - DINGO: And after the spanking, the oral sex. - GIRLS: Oral sex! Oral sex! - GALAHAD: Well, I could stay a BIT longer. - LANCELOT: Sir Galahad! - GALAHAD: Oh, hello. - LANCELOT: Quick! - GALAHAD: What? - LANCELOT: Quick! - GALAHAD: Why? - LANCELOT: You're in great peril! - GALAHAD: - ZOOT: - LANCELOT: Silence, foul temptress! - GALAHAD: Now look, it's not important. - LANCELOT: Quick! Come on and we'll cover your escape! - GALAHAD: Look, I'm fine! - LANCELOT: Come on! - GALAHAD: Now look, I can tackle this lot single-handed! - DINGO: Yes! Let him tackle us single-handed! - GIRLS: Yes! Tackle us single-handed! - LANCELOT: No, Sir Galahad, come on! - GALAHAD: No, really, honestly, I can go back and handle this lot easily! - DINGO: Oh, yes, he can handle us easily. - GIRLS: Yes, yes! - GALAHAD: Wait! I can defeat them! There's only a hundred and fifty -of them! - DINGO: Yes, yes, he'll beat us easily, we haven't a chance. - GIRLS: Yes, yes. -[boom] - DINGO: Oh, shit. -[outside] - LANCELOT: We were in the nick of time, you were in great peril. - GALAHAD: I don't think I was. - LANCELOT: Yes you were, you were in terrible peril. - GALAHAD: Look, let me go back in there and face the peril. - LANCELOT: No, it's too perilous. - GALAHAD: Look, my particular knight sob as much peril as I can. - LANCELOT: No, we've got to find the Holy Grail. Come on! - GALAHAD: Well, let me have just a little bit of peril? - LANCELOT: No, it's unhealthy. - GALAHAD: Bet you're gay! - LANCELOT: No, I'm not. - - Narrative Interlude - - NARRATOR: Sir Lancelot had saved Sir Galahad from almost certain -temptation, but they were still no nearer the Grail. Meanwhile, King -Arthur and Sir Bedemir, not more than a swallow's flight away, had -discovered something. Oh, that's an unladen swallow's flight, obviously. -I mean, they were more than two laden swallow's flights away -- four, -really, if they hadn't a cord of line between them. I mean, if the birds -were walking and dragging-- - CROWD: Get on with it! - NARRATOR: Oh, anyway, on to scene twenty-four, which is a smashing -scene with some lovely acting, in which Arthur discovers a vital clue, -in which there aren't any swallows, although I think you can hear a -starling -oolp! - -Scene 12 - - OLD MAN: Ah, hee he he ha! - ARTHUR: And this enchanter of whom you speak, he has seen the grail? - OLD MAN: Ha ha he he he he! - ARTHUR: Where does he live? Old man, where does he live? - OLD MAN: He knows of a cave, a cave which no man has entered. - ARTHUR: And the Grail... The Grail is there? - OLD MAN: Very much danger, for beyond the cave lies the Gorge - of Eternal Peril, which no man has ever crossed. - ARTHUR: But the Grail! Where is the Grail!? - OLD MAN: Seek you the Bridge of Death. - ARTHUR: The Bridge of Death, which leads to the Grail? - OLD MAN: Hee hee ha ha! - -Scene 13 - - HEAD KNIGHT: Nee! -Nee! -Nee! -Nee! - ARTHUR: Who are you? - HEAD KNIGHT: We are the Knights Who Say... Nee! - ARTHUR: No! Not the Knights Who Say Nee! - HEAD KNIGHT: The same! - BEDEMIR: Who are they? - HEAD KNIGHT: We are the keepers of the sacred words: Nee, Pen, and -Nee-wom! - RANDOM: Nee-wom! - ARTHUR: Those who hear them seldom live to tell the tale! - HEAD KNIGHT: The Knights Who Say Nee demand a sacrifice! - ARTHUR: Knights of Nee, we are but simple travellers who seek the -enchanter who lives beyond these woods. - HEAD KNIGHT: Nee! Nee! Nee! Nee! - ARTHUR and PARTY: Oh, ow! - HEAD KNIGHT: We shall say 'nee' again to you if you do not appease us. - ARTHUR: Well, what is it you want? - HEAD KNIGHT: We want... a shrubbery! -[chord] - ARTHUR: A what? - HEAD KNIGHT: Nee! Nee! - ARTHUR and PARTY: Oh, ow! - ARTHUR: Please, please! No more! We shall find a shrubbery. - HEAD KNIGHT: You must return here with a shrubbery or else you will -never pass through this wood alive! - ARTHUR: O Knights of Nee, you are just and fair, and we will return -with a shrubbery. - HEAD KNIGHT: One that looks nice. - ARTHUR: Of course. - HEAD KNIGHT: And not too expensive. - ARTHUR: Yes. - HEAD KNIGHTS: Now... go! - -Scene 14 - - NARRATOR: The Tale of Sir Lancelot. - - FATHER: One day, lad, all this will be yours! - HERBERT: What, the curtains? - FATHER: No, not the curtains, lad. All that you can see! Stretched -out over the hills and valleys of this land! This'll be your kingdom, lad! - HERBERT: But, Mother! - FATHER: Father, I'm Father. - HERBERT: But Father, I don't want any of that. - FATHER: Listen, lad. I've built this kingdom up from nothing. When -I started here, all there was was swamp. All the kings said I was daft -to build a castle in a swamp, but I built it all the same, just to show -'em. It sank into the swamp. So, I built a second one. That sank into the -swamp. So I built a third one. That burned down, fell over, then sank -into the swamp. But the fourth one stayed up. An' that's what your gonna -get, lad -- the strongest castle in these islands. - HERBERT: But I don't want any of that -- I'd rather-- - FATHER: Rather what?! - HERBERT: I'd rather... just... -[music] -...sing! - FATHER: Stop that, stop that! You're not going to do a song while -I'm here. Now listen lad, in twenty minutes you're getting married to -a girl whose father owns the biggest tracts of open land in Britain. - HERBERT: But I don't want land. - FATHER: Listen, Alex,-- - HERBERT: Herbert. - FATHER: Herbert. We live in a bloody swamp. We need all the land we -can get. - HERBERT: But I don't like her. - FATHER: Don't like her?! What's wrong with her? She's beautiful, -she's rich, she's got huge... tracts of land. - HERBERT: I know, but I want the girl that I marry to have... -a certain... special... -[music] -...something... - FATHER: Cut that out, cut that out. Look, you're marryin' Princess -Looky, so you'd better get used to the idea. [smack] Guards! Make sure -the Prince doesn't leave this room until I come and get 'im. - GUARD #1: Not to leave the room even if you come and get him. - GUARD #2: Hic! - FATHER: No, no. Until I come and get 'im. - GUARD #1: Until you come and get him, we're not to enter the room. - FATHER: No, no, no. You stay in the room and make sure 'e doesn't -leave. - GUARD #1: And you'll come and get him. - GUARD #2: Hic! - FATHER: Right. - GUARD #1: We don't need to do anything, apart from just stop him -entering the room. - FATHER: No, no. Leaving the room. - GUARD #1: Leaving the room, yes. - FATHER: All right? - GUARD #1: Right. Oh, if-if-if, uh, if-if-if, uh, if-if-if we... - FATHER: Yes, what is it? - GUARD #1: Oh, if-if, oh-- - FATHER: Look, it's quite simple. - GUARD #1: Uh... - FATHER: You just stay here, and make sure 'e doesn't leave the room. -All right? - GUARD #2: Hic! - FATHER: Right. - GUARD #1: Oh, I remember. Uh, can he leave the room with us? - FATHER: N- No no no. You just keep him in here, and make sure-- - GUARD #1: Oh, yes, we'll keep him in here, obviously. But if he had -to leave and we were-- - FATHER: No, no, just keep him in here-- - GUARD #1: Until you, or anyone else,-- - FATHER: No, not anyone else, just me-- - GUARD #1: Just you. - GUARD #2: Hic! - FATHER: Get back. - GUARD #1: Get back. - FATHER: Right? - GUARD #1: Right, we'll stay here until you get back. - FATHER: And, uh, make sure he doesn't leave. - GUARD #1: What? - FATHER: Make sure 'e doesn't leave. - GUARD #1: The Prince? - FATHER: Yes, make sure 'e doesn't leave. - GUARD #1: Oh, yes, of course. I thought you meant him. Y'know, it -seemed a bit daft, me havin' to guard him when he's a guard. - FATHER: Is that clear? - GUARD #2: Hic! - GUARD #1: Oh, quite clear, no problems. - FATHER: Right. -[starts to leave] -Where are you going? - GUARD #1: We're coming with you. - FATHER: No no, I want you to stay 'ere and make sure 'e doesn't leave. - GUARD #1: Oh, I see. Right. - HERBERT: But, Father! - FATHER: Shut your noise, you! And get that suit on! And no singing! - GUARD #2: Hic! - FATHER: Oh, go get a glass of water. - -Scene 15 - - LANCELOT: Well taken, Concorde! - CONCORDE: Thank you, sir! Most kind. - LANCELOT: And again... Over we go! Good. Steady! And now, the big -one...Ooof! Come on, Concorde! -[thwonk] - CONCORDE: Message for you, sir. -[fwump] - LANCELOT: Concorde! Concorde, speak to me! "To whoever finds this -note, I have been imprisoned by my father, who wishes me to marry against -my will. Please, please, please come and rescue me. I am in the tall -tower of Swamp Castle." At last! A call, a cry of distress! This could -be the sign that leads us to the Holy Grail! Brave, brave Concorde! You -shall not have died in vain! - CONCORDE: Uh, I'm-I'm not quite dead, sir. - LANCELOT: Well, you shall not have been mortally wounded in vain! - CONCORDE: Uh, I-I think uh, I could pull through, sir. - LANCELOT: Oh, I see. - CONCORDE: Actually, I think I'm all right to come with you-- - LANCELOT: No, no, sweet Concorde! Stay here! I will send help as -soon as I have accomplished a daring and heroic rescue in my own -particular... (sigh) - CONCORDE: Idiom, sir? - LANCELOT: Idiom! - CONCORDE: No, I feel fine, actually, sir. - LANCELOT: Farewell, sweet Concorde! - CONCORDE: I'll-uh, I'll just stay here, then, shall I, sir? Yeah. - -Scene 16 - - LANCELOT: Ha-ha! etc. - GUARD #1: Now, you're not allowed to come in here, and we're-ugh! - LANCELOT: O fair one, behold your humble servant Sir Lancelot -of Camelot. I have come to take -- oh, I'm terribly sorry. - HERBERT: You got my note! - LANCELOT: Uh, well, I got A note. - HERBERT: You've come to rescue me! - LANCELOT: Uh, well, no, you see-- - HERBERT: I knew that someone would, I knew that somewhere out there... -there must be... -[music] -...someone... - FATHER: Stop that, stop that, stop it! Stop it! Who are you? - HERBERT: I'm your son! - FATHER: No, not you. - LANCELOT: I'm Sir Lancelot, sir. - HERBERT: He's come to rescue me, father. - LANCELOT: Well, let's not jump to conclusions. - FATHER: Did you kill all the guard? - LANCELOT: Uh..., oh, yes. Sorry. - FATHER: They cost fifty pounds each. - LANCELOT: Well, I'm awfully sorry, I'm -- I really can explain everything. - HERBERT: Don't be afraid of him, Sir Lancelot, I've got a rope all ready! - FATHER: You killed eight wedding guests in all! - LANCELOT: Well, you see, the thing is, I thought your son was a lady. - FATHER: I can understand that. - HERBERT: Hurry, Sir Lancelot! Hurry! - FATHER: Shut up! You only killed the bride's father, that's all! - LANCELOT: Well, I really didn't mean to... - FATHER: Didn't mean to?! You put your sword right through his head! - LANCELOT: Oh, dear. Is he all right? - FATHER: You even kicked the bride in the chest! This is going to cost -me a fortune! - LANCELOT: Well, I can explain. I was in the forest, um, riding north -from Camelot, when I got this note, you see-- - FATHER: Camelot? Are you from, uh, Camelot? - HERBERT: Hurry, Sir Lancelot! - LANCELOT: Uh, I am a Knight of King Arthur, sir. - FATHER: Pretty nice castle, Camelot. Uh, pretty good pig country.... - LANCELOT: Yes. - HERBERT: Hurry, I'm ready! - FATHER: Would you, uh, like to come and have a drink? - LANCELOT: Well, that's, uh, awfully nice of you. - HERBERT: I am ready! -[start to leave] - LANCELOT: --I mean to be, so understanding. -[thonk] - HERBERT: Oooh! - LANCELOT: Um, I think when I'm in this idiom, I sometimes get a bit, -uh, sort of carried away. - FATHER: Oh, don't worry about that. - HERBERT: Oooh! -[splat] - -Scene 17 -[wailing] - FATHER: Well, this is the main hall. We're going to have all this -knocked through, and made into one big, uh, living room. - RANDOM: There he is! - FATHER: Oh, bloody hell. - LANCELOT: Ha-ha! etc. - FATHER: Hold it, hold it! Please! - LANCELOT: Sorry, sorry. See what I mean, I just get carried away. -I really must -- sorry, sorry! Sorry, everyone. - RANDOM: He's killed the best man! -[yelling] - FATHER: Hold it, please! Hold it! This is Sir Lancelot from the - gorge of Camelot -- a very brave and influential knight, and my special -guest here today. - LANCELOT: Hello. - RANDOM: He killed my auntie! -[yelling] - FATHER: Please, please! This is supposed to be a happy occasion! -Let's not bicker and argue about who killed who. We are here today to -witness the union of two young people in the joyful bond of the holy -wedlock. Unfortunately, one of them, my son Herbert, has just fallen -to his death. But I think I've not lost a son, so much as... gained -a daughter! For, since the tragic death of her father-- - RANDOM: He's not quite dead! - FATHER: Since the near fatal wounding of her father-- - RANDOM: He's getting better! - FATHER: For, since her own father... who, when he seemed about to -recover, suddenly felt the icy hand fo death upon him,-- -[ugh] - RANDOM: Oh, he's died! - FATHER: And I want his only daughter to look upon me... as her own -dad -- in a very real, and legally binding sense. -[clapping] -And I feel sure that the merger -- uh, the union -- between the Princess -and the brave, but dangerous, Sir Lancelot of Camelot-- - LANCELOT: What? - RANDOM: Look! The dead Prince! - CONCORDE: He's not quite dead! - HERBERT: Oh, I feel much better. - FATHER: You fell out of the cold tower, you creep! - HERBERT: No, I was saved at the last minute. - FATHER: How?! - HERBERT: Well, I'll tell you... -[music] - FATHER: Not like that! Not like that! No, stop it! - SINGING: He's going to tell! He's going to tell! - FATHER: Shut up! - SINGING: He's going to tell! He's going to tell! - He's going to tell! He's going to tell! - He's going to tell! He's going to tell! - He's going to tell! He's going to tell! - CONCORDE: Quickly, sir! This way! - LANCELOT: No, it's not in my idiom! I must escape more....(sigh) - CONCORDE: Dramatically, sir? - LANCELOT: Dramatically! Hee! Ha! -[crash] -Excuse me, could, uh, could somebody give me a push, please...? - -Scene 18 - - [clop clop] - ARTHUR: Old crone! Is there anywhere in this town where we could buy -a shrubbery! -[chord] - CRONE: Who sent you? - ARTHUR: The Knights Who Say Nee. - CRONE: Agh! No! Never! We have no shrubberies here. - ARTHUR: If you do not tell us where we can buy a shrubbery, my friend -and I will say... we will say... 'nee'. - CRONE: Agh! Do your worst! - ARTHUR: Very well! If you will not assist us voluntarily,... nee! - CRONE: No! Never! No shrubberies! - ARTHUR: Nee! - BEDEMIR: Noo! Noo! - ARTHUR: No, no, no, no -- it's not that, it's 'nee'. - BEDEMIR: Noo! - ARTHUR: No, no -- 'nee'. You're not doing it properly. - BEDEMIR: Noo! Nee! - ARTHUR: That's it, that's it, you've got it. - ARTHUR and BEDEMIR: Nee! Nee! - ROGER: Are you saying 'nee' to that old woman? - ARTHUR: Um, yes. - ROGER: Oh, what sad times are these when passing ruffians can 'nee' -at will to old ladies. There is a pestilence upon this land, nothing is - sacred. Even those who arrange and design shrubberies are under -considerable economic stress at this period in history. - ARTHUR: Did you say 'shrubberies'? - ROGER: Yes, shrubberies are my trade -- I am a shrubber. My name -is Roger the Shrubber. I arrange, design, and sell shrubberies. - BEDEMIR: Nee! - ARTHUR: No! No, no, no! No! - -Scene 19 - - ARTHUR: O, Knights of Nee, we have brought you your shrubbery. May we -go now? - HEAD KNIGHT: It is a good shrubbery. I like the laurels particularly. -But there is one small problem. - ARTHUR: What is that? - HEAD KNIGHT: We are now... no longer the Knights Who Say Nee. - RANDOM: Nee! - HEAD KNIGHT: Shh shh. We are now the Knights Who Say Ecky-ecky-ecky- -ecky-pikang-zoom-boing-mumble-mumble. - RANDOM: Nee! - HEAD KNIGHT: Therefore, we must give you a test. - ARTHUR: What is this test, O Knights of-- Knights Who 'Til Recently -Said Nee? - HEAD KNIGHT: Firstly, you must find... another shrubbery! - [chord] - ARTHUR: Not another shrubbery! - HEAD KNIGHT: Then, when you have found the shrubbery, you must place -it here beside this shrubbery, only slightly higher so you get a -two-level effect with a little path running down the middle. - RANDOM: A path! A path! Nee! - HEAD KNIGHT: Then, when you have found the shrubbery, you must cut -down the mightiest tree in the forest... with... a herring! -[chord] - ARTHUR: We shall do no such thing! - HEAD KNIGHT: Oh, please! - ARTHUR: Cut down a tree with a herring? It can't be done. - KNIGHTS: Aaaaugh! Aaaugh! - HEAD KNIGHT: Don't say that word. - ARTHUR: What word? - HEAD KNIGHT: I cannot tell, suffice to say is one of the words -the Knights of Nee cannot hear. - ARTHUR: How can we not say the word if you don't tell us what it is? - KNIGHTS: Aaaaugh! Aaaugh! - ARTHUR: What, 'is'? - HEAD KNIGHT: No, not "is" -- we couldn't get vary far in life not - -Ooops I'm out of time. i'll send the rest tomorrow. - -Eric diff --git a/Mac/Demo/speech/grail.py b/Mac/Demo/speech/grail.py deleted file mode 100644 index 4f95b9a..0000000 --- a/Mac/Demo/speech/grail.py +++ /dev/null @@ -1,228 +0,0 @@ -# Pass this program the Holy Grail script on stdin. -import sys -import string -import stdwin -from stdwinevents import * - -try: - import macspeech -except ImportError: - macspeech = None - -WINWIDTH = 1000 -scrw, scrh = stdwin.getscrsize() -if WINWIDTH > 0.8*scrw: - WINWIDTH = int(0.8*scrw) -BLACK = stdwin.fetchcolor('black') -RED = stdwin.fetchcolor('red') -BLUE = stdwin.fetchcolor('blue') - -done='done' - -class MacSpeaker: - def __init__(self): - self.voices = [] - self.nvoices = macspeech.CountVoices() - self.curvoice = 1 - self.rate = 1.0 - - def _newvoice(self): - vd = macspeech.GetIndVoice(self.curvoice) - sc = vd.NewChannel() - self.curvoice = self.curvoice + 1 - if self.curvoice > self.nvoices: - self.curvoice = 1 - return sc - - def newvoices(self, n): - self.voices = [] - for i in range(n): - self.voices.append(self._newvoice()) - if self.rate <> 1.0: - self.setrate(1.0) - - def setrate(self, factor): - self.rate = self.rate*factor - for v in self.voices: - r = v.GetRate() - v.SetRate(r*factor) - - def speak(self, i, text): - self.voices[i-1].SpeakText(text) - - def busy(self): - return macspeech.Busy() - -[NOTHING, NEWSCENE, ACT, TEXT, MORETEXT] = range(5) -def parseline(line): - stripline = string.strip(line) - if not stripline: - return NOTHING, '' - if stripline[:5] == 'Scene': - return NEWSCENE, stripline - if line[0] == '[': - return ACT, stripline - if line[0] == ' ' and ':' in line: - splitline = string.splitfields(stripline, ':') - stripline = string.joinfields(splitline[1:], ':') - return TEXT, (splitline[0], string.strip(stripline)) - return MORETEXT, stripline - -def readscript(file): - lines = file.readlines() - acts = [] - actor_dict = {} - longest = 0 - prev_act = 0 - for i in range(len(lines)): - tp, data = parseline(lines[i]) - if tp == NEWSCENE: - acts.append((actor_dict.keys(), lines[prev_act:i])) - prev_act = i - actor_dict = {} - elif tp == TEXT: - actor_dict[data[0]] = 1 - lines[i] = tp, data - return acts[1:] - -class Main: - def __init__(self): - if macspeech: - self.speaker = MacSpeaker() - else: - self.speaker = None - sys.stdin = open('SCRIPT', 'r') - self.acts = readscript(sys.stdin) - maxactor = 0 - for actorlist, actdata in self.acts: - if len(actorlist) > maxactor: - maxactor = len(actorlist) - if not self.loadnextact(): - print 'No acts to play!' - raise done - self.lh = stdwin.lineheight() - self.winheight = (maxactor+2)*self.lh - stdwin.setdefwinsize(WINWIDTH, self.winheight) - self.win = stdwin.open('The Play') - self.win.setdocsize(WINWIDTH, self.winheight) - self.win.change(((0,0),(WINWIDTH, self.winheight))) - self.menu = self.win.menucreate('Play') - self.menu.additem('Faster', '+') - self.menu.additem('Slower', '-') - self.menu.additem('Quit', 'Q') - self.speed = 4 - - def done(self): - del self.win - del self.menu - - def loadnextact(self): - if not self.acts: return 0 - actors, lines = self.acts[0] - del self.acts[0] - prevactor = 0 - for i in range(len(lines)): - tp, data = lines[i] - if tp == NOTHING: - continue - elif tp in (NEWSCENE, ACT): - lines[i] = 0, data - elif tp == TEXT: - prevactor = actors.index(data[0]) - lines[i] = prevactor+1, data[1] - else: - lines[i] = prevactor+1, data - self.lines = lines - self.actors = [''] + actors - self.actorlines = [''] * len(self.actors) - if self.speaker: - self.speaker.newvoices(len(self.actors)-1) - self.prevline = 0 - self.actwidth = 0 - for a in self.actors: - w = stdwin.textwidth(a) - if w > self.actwidth: - self.actwidth = w - return 1 - - def loadnextline(self): - if not self.lines: return 0 - self.actorlines[self.prevline] = '' - top = self.lh*self.prevline - self.win.change(((0, top), (WINWIDTH, top+self.lh))) - line, data = self.lines[0] - del self.lines[0] - self.actorlines[line] = data - self.prevline = line - top = self.lh*self.prevline - self.win.change(((0, top), (WINWIDTH, top+self.lh))) - if line == 0: - self.win.settimer(5*self.speed) - else: - if self.speaker: - self.speaker.speak(line, data) - tv = 1 - else: - nwords = len(string.split(data)) - tv = self.speed*(nwords+1) - self.win.settimer(tv) - return 1 - - def timerevent(self): - if self.speaker and self.speaker.busy(): - self.win.settimer(1) - return - while 1: - if self.loadnextline(): return - if not self.loadnextact(): - stdwin.message('The END') - self.win.close() - raise done - self.win.change(((0,0), (WINWIDTH, self.winheight))) - - def redraw(self, top, bottom, draw): - for i in range(len(self.actors)): - tpos = i*self.lh - bpos = (i+1)*self.lh-1 - if tpos < bottom and bpos > top: - draw.setfgcolor(BLUE) - draw.text((0, tpos), self.actors[i]) - if i == 0: - draw.setfgcolor(RED) - else: - draw.setfgcolor(BLACK) - draw.text((self.actwidth+5, tpos), self.actorlines[i]) - - def run(self): - self.win.settimer(10) - while 1: - ev, win, arg = stdwin.getevent() - if ev == WE_DRAW: - ((left, top), (right, bot)) = arg - self.redraw(top, bot, self.win.begindrawing()) - elif ev == WE_TIMER: - self.timerevent() - elif ev == WE_CLOSE: - self.win.close() - raise done - elif ev == WE_MENU and arg[0] == self.menu: - if arg[1] == 0: - if self.speed > 1: - self.speed = self.speed/2 - if self.speaker: - self.speaker.setrate(1.4) - elif arg[1] == 1: - self.speed = self.speed * 2 - if self.speaker: - self.speaker.setrate(0.7) - elif arg[1] == 2: - self.win.close() - raise done - -if 1: - main = Main() - try: - main.run() - except done: - pass - del main diff --git a/Mac/Demo/speech/hum.py b/Mac/Demo/speech/hum.py deleted file mode 100644 index ac05471..0000000 --- a/Mac/Demo/speech/hum.py +++ /dev/null @@ -1,31 +0,0 @@ -# -# Hum - The singing macintosh -# -import macspeech -import sys -import string - -dict = { 'A':57, 'A#':58, 'B':59, 'C':60, 'C#':61, 'D':62, 'D#':63, - 'E':64, 'F':65, 'F#':66, 'G':67, 'G#':68} - -vd = macspeech.GetIndVoice(2) -vc = vd.NewChannel() -print 'Input strings of notes, as in A B C C# D' -while 1: - print 'S(tr)ing-', - str = sys.stdin.readline() - if not str: - break - str = string.split(str[:-1]) - data = [] - for s in str: - if not dict.has_key(s): - print 'No such note:', s - else: - data.append(dict[s]) - print data - for d in data: - vc.SetPitch(float(d)) - vc.SpeakText('la') - while macspeech.Busy(): - pass |