Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
mind:identifying-rhymes [2016/04/26 14:37]
norkish created
mind:identifying-rhymes [2016/06/02 15:54] (current)
norkish
Line 1: Line 1:
 =Identifying Rhymes= =Identifying Rhymes=
 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: 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:
-* "​hard"​ and "​are",​ "​heart"​ and "​are"​ ([[https://​play.google.com/​music/​preview/​Tjmr2lsa2y4ksy2py2e56fmku74?​lyrics=1&​utm_source=google&​utm_medium=search&​utm_campaign=lyrics&​pcampaignid=kp-lyrics&​u=0#​|Just the Way You Are]]+* "​hard"​ and "​are",​ "​heart"​ and "​are"​ ([[https://​play.google.com/​music/​preview/​Tjmr2lsa2y4ksy2py2e56fmku74?​lyrics=1&​utm_source=google&​utm_medium=search&​utm_campaign=lyrics&​pcampaignid=kp-lyrics&​u=0#​|Just the Way You Are]])
 * "​goes"​ and "​clothes",​ "​stoned"​ and "​alone"​ ([[https://​play.google.com/​music/​preview/​Tw74e63f4nvetlwxcbsrc2lehmq?​lyrics=1&​utm_source=google&​utm_medium=search&​utm_campaign=lyrics&​pcampaignid=kp-lyrics&​u=0#​|Piano Man]]) * "​goes"​ and "​clothes",​ "​stoned"​ and "​alone"​ ([[https://​play.google.com/​music/​preview/​Tw74e63f4nvetlwxcbsrc2lehmq?​lyrics=1&​utm_source=google&​utm_medium=search&​utm_campaign=lyrics&​pcampaignid=kp-lyrics&​u=0#​|Piano Man]])
 * "​fireman"​ and "​retire man", "​Mississippi"​ and "​skippy"​ ([[https://​play.google.com/​music/​preview/​Tlewhzwap5hqtrd4at5psxr63xm?​lyrics=1&​utm_source=google&​utm_medium=search&​utm_campaign=lyrics&​pcampaignid=kp-lyrics&​u=0#​|Uptown Funk]]) * "​fireman"​ and "​retire man", "​Mississippi"​ and "​skippy"​ ([[https://​play.google.com/​music/​preview/​Tlewhzwap5hqtrd4at5psxr63xm?​lyrics=1&​utm_source=google&​utm_medium=search&​utm_campaign=lyrics&​pcampaignid=kp-lyrics&​u=0#​|Uptown Funk]])
Line 8: Line 8:
 Really it's insufficient to consult some rhyming dictionary to see if two words match. It's going to require looking at the '''​phonemes'''​. Really it's insufficient to consult some rhyming dictionary to see if two words match. It's going to require looking at the '''​phonemes'''​.
  
 +==Development log==
  
 +I'm having a heck of a time figuring out how to identify rhyming words. Here's what I've tried:
 +* Aligning 2-3 syllables at the end of each line using MSA - this didn't work at all. In fact, everything I've tried that considered anything but the last syllable seemed to tank.
 +* Aligning phonemes for syllables - this worked a little better, but I had to divide by the max number of phonemes in the syllables I was aligning and only when considering the last syllable in each line
 +* Use stop words to filter out words that show up at the end of lines, but aren't really part of the lyrics (e.g., "​aw",​ "​oh",​ etc.)
 +* Next I'll try implementing Pat Pattison'​s rules and see how that works
 +
 +==Literature Search==
 +===Pat Pattison'​s Songwriting book===
 +"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. ​
 +===Pat Pattison'​s Songwriting Coursera Course===
 +See the [[https://​www.coursera.org/​learn/​songwriting/​lecture/​pmjx1/​rhyme-scheme-part-1|course]]
 +====Rhyme Scheme, Part 1====
 +Couplet is the single-most '''​stable'''​ unit:
 +* 2 lines
 +* Equal-length lines
 +* Rhyming lines
 +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:
 +* 4 lines
 +* Pairs of lines are equal-length
 +* First and third lines also rhyme
 +
 +'''​Deceptive Cadence'''​ is instability created by deviating from the expected. It draws attention to the deviation.
 +
 +====Rhyme Scheme, Part 2====
 +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.
 +
 +====Perfect Rhyme====
 +
 +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): ​
 +# vowels (by sound) are identical, ​
 +# consonants after the vowel are identical, ​
 +# rhyming syllables begin differently (required to create some minimal tension)
 +
 +'''​Identity'''​ is when identical words are rhymed.
 +
 +English is a rhyme-poor language because:
 +# It doesn'​t use word endings for grammatical purposes (cf. Italian)
 +# 17 vowel sounds (cf. 5 in Italian)
 +
 +====Family Rhyme====
 +
 +'''​Consonant groupings'''​ are groups of consonants that use the air column in the same way:
 +* plosives (voiced:​p,​t,​k;​ unvoiced:​b,​d,​g) - interrupt sound and explode, unvoiced
 +* fricatives (voiced:​v,​TH,​z,​zh,​j;​ unvoiced:​f,​th,​s,​sh,​ch) - impeding, but not stopping sound
 +* nasals (m,n,ng) - voiced through the nose
 +
 +Family rhyme (less resolved):
 +# like Perfect rhyme EXCEPT
 +# consonants after the vowel are phonetically related (e.g., mud, rut, truck, cup)
 +
 +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.
 +
 +===='''​Finding Family Rhymes'''​====
 +
 +Using a rhyming dictionary:
 +# Find your vowel sound
 +# Search all words by vowel sound and final consonant
 +
 +====Additive and Subtractive Rhyme====
 +
 +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
 +
 +====Assonance Rhyme====
 +
 +Very unstable
 +
 +'''​Assonance rhyme''':​
 +# share same vowel sound
 +# ending consonants come from different families
 +
 +Important because it allows rhyme to be used expressively
 +
 +====Consonance Rhyme====
 +
 +Least resolved rhyme
 +
 +'''​Consonance Rhyme''':​
 +# vowel sounds are different
 +# consonants at the end are the same
 +
 +Example: friend and wind, one and gone
 +
 +Great summary with examples of each rhyme type in this video.
 +
 +Rhyme type itself creates an emotion.
 +
 +====My Thoughts====
 +
 +friend and wind are close than friend and wound (i.e., there are some vowel sounds that are closer than others)
 +
 +===Hirjee and Brown, 2009===
 +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:
 +
 +* Kawahara'​s "Half rhymes in Japanese rap lyrics and knowledge of similarity",​ 2007.
 +* Holtman'​s PhD developing a taxonomy of articulated sounds ("A Generative Theory of Rhyme: An Optimality Approach",​ 1996)
 +* Three papers about extracting song topic, theme, or mood:
 +** "​Keyword Generation for Lyrics"​ (Wei, 2007)
 +** "Oh... Towards Automatic Topic Detection in Song Lyrics"​ (Kleedorfer,​ 2008)
 +** "​Hyperlinking Lyrics: A Method for Creating Hyperlinks Between Phrases in Song Lyrics"​ (Fujihara, 2008)
 +
 +====My Thoughts====
 +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:
 +* Use this approach and cite it
 +* Build on this approach and compare against it:
 +** Try ignoring consonants all-together and just use vowels
 +** Recalculate the scoring matrices for rhymes found in pop songs
 +
 +The problem here, of course, is finding a dataset against which to validate. But easy enough to create one by hand.
 +
 +===Seuss===
 +Rhyming [[https://​github.com/​capnrefsmmat/​seuss|robot project]] in python. Uses a dictionary.
 +
 +===Rhyme Genie===
 +Commercial [[software package|http://​www.rhymegenie.com/​index.html]] that does dynamic rhyming from 30 different types of rhymes. Costs moula.
 +
 +===rhyme-detect===
 +A [[https://​github.com/​kevin-brown/​rhyme-detect|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
mind/identifying-rhymes.1461703020.txt.gz · Last modified: 2016/04/26 14:37 by norkish
Back to top
CC Attribution-Share Alike 4.0 International
chimeric.de = chi`s home Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0