2017 icon indicating copy to clipboard operation
2017 copied to clipboard

Acrostic Sonnets on Shakespeare's Sonnets

Open nossidge opened this issue 7 years ago • 5 comments

I'm going to try to create a set of Shakespearean sonnets that are acrostics using every one of the letters of every sonnet to start each line. Each line of the result will be selected from elsewhere in the Shakespeare cannon, and they will use the standard 'ababcdcdefefgg' rhyming form.

The first 2 lines of the first sonnet are:

From fairest creatures we desire increase,
That thereby beauty's rose might never die,

So, removing non-alphas and splitting into 14-letter chunks, the first five output poems will be acrostic sonnets on:

fromfairestcre
atureswedesire
increasethatth
erebybeautysro
semightneverdi

There are 154 total sonnets, so the output will definitely be at least 50,000 words.

I think this should be possible with my poefy gem and I hopefully will be able to use the Open Source Shakespeare database as input.

There may well be 14-letter chunks that have no corresponding rhyming lines starting with the correct letters, but I'll cross that bridge when I come to it, in two months time :-)

nossidge avatar Aug 31 '17 14:08 nossidge

Oo, a nice OULIPO-style entry! I'm very keen to see what you produce. :)

cameronedmond avatar Sep 22 '17 12:09 cameronedmond

As I suspected, this is not 100% possible with just starting letters. The problem is the letter 'z', which only matches lines beginning with 'Zounds'. These lines are pretty rare, even in Shakespeare, and there are not enough to match rhymes with all other letters.

I've got some functionality baked into Poefy that handles lines beginning with 'x' -- it searches for lines beginning 'ex' and decreases the indent to align the 'x' with the start of the other lines. Maybe I can use something similar to this for the letter 'z'?

Here's the GitHub repo in progress.

nossidge avatar Nov 04 '17 16:11 nossidge

I figured it out! 'Zounds is formally a contraction. If I get rid of the leading apostrophe it all sorts itself out, without sacrificing authenticity to the corpus or deviating from the constraints.

I probably will have this finished today or tomorrow.

nossidge avatar Nov 06 '17 01:11 nossidge

'Zounds! That's great news!

hugovk avatar Nov 06 '17 05:11 hugovk

It's done!

Full output. wc gives word count as 602,175.

I've also updated the readme to detail the amendments I made to the input, if anyone is interested in the nitty-gritty.

nossidge avatar Nov 06 '17 15:11 nossidge