A web toy generating rhymed metrical verse using the CMU pronouncing dictionary. Try it at http://wry.me/sonnetron/. Derived from https://github.com/darius/languagetoys/blob/master/simpleverse.py (but fancier now; but note that simpleverse can also generate use higher-order models and produce other verse forms -- you can see both in https://gist.github.com/darius/2371822 ).
Thanks to Shae Erisson, Flourish Klink, and Halsted Bernard for beta feedback.
To run this locally: point your browser at index.html.
To understand the code, you need to understand the data it's using.
See 'About the CMU dictionary' and 'Phoneme set' at
So, for example, one pronunciation of 'hello' is encoded as
HH AH0 L OW1.
To rebuild the dictionary, you need some files not in the repo, and not handy to me (I'm on an extended trip). If you had them, you'd then:
Fetch cmudict.0.7a into this directory, from http://www.speech.cs.cmu.edu/cgi-bin/cmudict or specifically: