mirror of
https://github.com/kennethreitz/rhymepad.org.git
synced 2026-06-11 17:08:33 +00:00
43bbd527a4414ca10e77450b67cc7967dd2deb30
- Mosaics submode: two-word phrases that rhyme with a word perfectly, built by splitting its rime and searching both halves with reduced- vowel squeezing (placement -> place meant, creation -> way shun) - Definition cards show phonetic anatomy (/phones/ · syllables · stress dots · the rhyming tail) and what the word already rhymes with in your draft - Secondary pronunciations only claim partners within 4 lines, so the verb pred-i-KATE can't hand predicate to a distant hook's "eight" Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
RhymePad
A scratchpad for poets & rappers. Write in the pad; rhymes are detected phonetically (CMU Pronouncing Dictionary) and color-coded as you type — end rhymes, internal rhymes, and slant rhymes included. Comes with a rhyme/synonym lookup, draggable stanza reordering, and synthesized beats with adjustable tempo.
Run
$ uv run uvicorn app:app --reload
Then open http://127.0.0.1:8000.
How rhyme detection works
- Every word is mapped to its CMU phonemes (
pronouncing), with lyric-friendly fallbacks (runnin'→running, possessives, and a spelling heuristic for made-up words). - Perfect rhymes share everything from the last stressed vowel on
(
tonight/light/flight→AY T). These are matched anywhere in a line — that's the internal rhyme detection. - Slant rhymes share just the vowel sounds from the last stressed
vowel (
hold/coal). Applied to line endings that didn't find a perfect match. - Same color = same sound. Underline = line-ending rhyme (the stanza's a/b/a/b scheme); soft glow only = internal rhyme.
API
POST /api/analyze{"text": "..."}→ token spans, rhyme groups, per-stanza schemes, per-line meterGET /api/lookup?word=light&mode=rhyme|near|syn→ frequency-ranked rhymes / near rhymes (by syllable count) and WordNet synonyms (by part of speech)
Dictionary definitions in the UI come from the free dictionaryapi.dev; everything else is served locally.
Languages
Python
60.2%
HTML
39.4%
Dockerfile
0.4%