A rhyming word shares an ending sound with another word. The Rhymer program models this by separating initial consonant sounds from the remaining word, then replacing those initial sounds with alternatives. section 14.0 section 14.1.1
The program handles rhyming candidates by:
- Lowercasing the input and identifying its leading consonant sound, including clusters such as ch, sh, and thr. section 14.0 section 14.1.1
- Replacing the initial consonants while preserving the remaining stem, then sorting the generated strings alphabetically. section 14.0
- Handling vowel-starting words by prepending consonant sounds and rejecting inputs with no usable vowel-containing remainder. section 14.0 section 14.1.1
Generated candidates
Running the program with cake begins bake, blake, and brake, ends with xake, yake, and zake, and produces 56 candidates. Apple produces bapple, blapple, and brapple, with 57 candidates. section 14.0
Inspect the substitution model through the bake example and its initial-consonant replacement algorithm. section 14.0

