Skip to content

dkellerman/songrhymes

Repository files navigation

Song Rhymes

A rhyme finder for songwriters — live at songrhymes.com.

Type a word or phrase and get back rhymes the way a songwriter thinks about them: perfect rhymes first, then the whole family of near rhymes, all the way down to multi-word "mosaic" matches like "forgotten one" / "a lot of sun". It's tuned for sung American English, and it handles made-up words, slang, and names just fine.

The scoring is done entirely by a small neural net. It was taught by a rule engine that encodes Pat Pattison's rhyme taxonomy — the rules grade millions of training examples, and the net learns from those grades. No rhyme was ever hand-labeled, and no rules run when you search.

The 1,000 most common supported English words also have pre-rendered pages at URLs such as https://songrhymes.com/rhymes-with/love; arbitrary words and phrases continue to use the live search.

Try it

  • Web: songrhymes.com — search, vote on results, or play pickem (votes help improve the model)
  • CLI: python3 scripts/rhyme.py lonely, or score a pair with python3 scripts/rhyme.py "forgotten one" "a lot of sun"
  • Claude: claude mcp add --transport http rhymes https://songrhymes.com/mcp

Setup

uv sync --all-extras    # install everything (or: pip install -e ".[train]")
make help               # see the common tasks

Learn more

Code layout: sr/ is the library (all the real functionality, plus the web API and tests), scripts/ holds runnable entry points, web/ is the React client, and everything data-ish lives in local/data/ (private, never committed).

About

Neural rhyme finder for songwriters (Pattison-trained siamese net on IPA) — songrhymes.fly.dev

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors