How do we identify rhyming words? In pop music there is significant liberty taken in what constitutes a rhyme. Consider the following words that are rhymed:
Really it's insufficient to consult some rhyming dictionary to see if two words match. It's going to require looking at the phonemes.
I'm having a heck of a time figuring out how to identify rhyming words. Here's what I've tried:
“Rhyme creates a sonic roadmap: it tells those eyeless ears where to go and when to stop.” “Rhymes in a lyric are the ear's road signs, just like lines in poetry are the eye's road signs.” “Too often, the available rhymes have been used so much that they've become cliché.” Additive and substractive rhymes are valid alternatives in order to avoid clichéd writing.
See the course
Couplet is the single-most stable unit:
When used as a steady diet, the song feels long.
Fragmentation is the division of lyrics with “stops” where the rhyme scheme has a natural break. The full-stop results from reaching a stability.
Another stable sequence:
Deceptive Cadence is instability created by deviating from the expected. It draws attention to the deviation.
In Memoriam Rhyme Scheme (ABBA) is an unstable rhyme scheme. This is a retrograde, which you're not likely to hear.
Groups are defined by the rhyme scheme.
The pauses or fragmentation delineate ideas. Stability resolves not only the rhyme, but also the idea.
ABAB creates an avalanche or motion, it spotlights the end of the ABAB.
The balancing line turns on spotlights. Asymmetric rhyme scheme creates instability. Transform the same song using different rhyme schemes.
Leonard Bernstein calls the melody the “noun” and the harmony the “adjective”.
What if you had to finish every line with the tonic, root in the bass, sing the root? We want to create different feelings. Rhymes are the same way: there is a scale of rhyme types from most resolved to least resolved.
Perfect rhyme (full resolved):
Identity is when identical words are rhymed.
English is a rhyme-poor language because:
Consonant groupings are groups of consonants that use the air column in the same way:
Family rhyme (less resolved):
Referenced in “Writing Better Lyrics”
Vowels are king, first-class citizens, royalty; consonants are second-class. Lyrics are a “vowel-exaggerated medium”.
7-8x more rhymes by considering family rhymes.
Short rhymes give you more acceleration (e.g., “talking with davy who's still in the navy”). So also do imperfect rhymes.
Using a rhyming dictionary:
Additive rhyme: two words or syllables, the second of which adds something Subtractive rhyme: two words or syllables, the second of which removes something
No families with l,r,y,w,x, but can be used in additive/subtractive rhymes
Additive: go from shorter to match something longer(e.g., cry→smile) - more stable Subtractive: go from longer to match something shorter (e.g., smile→cry) - less stable
Very unstable
Assonance rhyme:
Important because it allows rhyme to be used expressively
Least resolved rhyme
Consonance Rhyme:
Example: friend and wind, one and gone
Great summary with examples of each rhyme type in this video.
Rhyme type itself creates an emotion.
friend and wind are close than friend and wound (i.e., there are some vowel sounds that are closer than others)
The study uses local alignment protein homology detection algorithms and a BLOSUM-like scoring matrix to align rap lyrics (as sequences of syllables) to find rhymes. The matrix scores are computed based on frequencies of matching syllables and random syllables. The results are much better than the “minimal mismatch of articulatory features and Knodrak alignment metrics”, but no detail is provided about these approaches (see Kondrak, “A New Algorithm for the Alignment of Phonetic Sequences”, 2000).
The dataset they created may be helpful for validation purposes, though it is all rap.
Other references of note were:
The general approach is very close to what I was considering. Need to look more closely at what makes the BLOSUM matrix (w/ negative values) different from NW. There are a few options:
The problem here, of course, is finding a dataset against which to validate. But easy enough to create one by hand.
Rhyming robot project in python. Uses a dictionary.
Commercial http://www.rhymegenie.com/index.html that does dynamic rhyming from 30 different types of rhymes. Costs moula.
A python package that computes how closely two lines rhyme. Looks good except that it only counts exact matches of phonemes (no alignment). But it does consider emphasis. Utilizes NLTK