/gutendelight

Tweeting a mix of hip hop (Rapper's Delight, Fight the Power, The Message, etc.) and classic literature from Project Gutenberg.

Primary LanguagePython

@gutendelight

Build Status Python: 3.6+ Code style: black

Tweeting a mix of hip-hop (Rapper's Delight, Fight the Power, The Message, etc.) and classic literature from Project Gutenberg.

See the Twitter bot in action at @gutendelight and some of the best at Favstar.

Some examples

The brother who rocks so viciously
He gazed at me suspiciously

https://twitter.com/hugovk/status/564387719259111425

He said, "Sit down, punk, I wanna talk to you
Each has his lot, and bears the fate he drew.

https://twitter.com/gutendelight/status/566563697787940865

I guess by now you can take a hunch
"Let us consider," said he, after lunch.

https://twitter.com/gutendelight/status/566563143791673344

Then you throw your hands high in the air,
"I don't see," said the native Bear.

https://twitter.com/gutendelight/status/566560879475687425

Algorithm goes a little something like this

  1. Pick a random line from a file containing a bunch of hip-hop lyrics.
  2. Take the last word and find its rhymes using the Wordnik API.
  3. Pick a rhyme at random.
  4. Find all the sentences from the Project Gutenberg August 2003 CD ("contains 600 of our best Ebooks") that end with that rhyming word (using gutengrep).
  5. Pick one that's about the same number of syllables as the first line (using Akkana Peck's countsyl).
  6. If no rhymes or matches found, or a sentence is too long, try another until something's found.
  7. Tweet 'em!