NaNoGenMo / 2017

National Novel Generation Month, 2017 edition.
https://nanogenmo.github.io
186 stars 7 forks source link

Acrostic Sonnets on Shakespeare's Sonnets #8

Open nossidge opened 7 years ago

nossidge commented 7 years ago

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 :-)

cameronedmond commented 7 years ago

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

nossidge commented 7 years ago

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 commented 6 years ago

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.

hugovk commented 6 years ago

'Zounds! That's great news!

nossidge commented 6 years ago

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.