Metrical rhyming verse in Javascript
JavaScript Python
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Makefile
README.md
convert_cmudict.py
index.html
pronounce_iamb_compat.js
seedrandom.js
verse.js

README.md

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 http://www.speech.cs.cmu.edu/cgi-bin/cmudict 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: wget https://cmusphinx.svn.sourceforge.net/svnroot/cmusphinx/trunk/cmudict/cmudict.0.7a.

  • Run make. This filters and compresses the dictionary for the Javascript code's use. (For a more human vocabulary, quicker start, and lower bandwidth bills.)