rhopalic
A Ruby library to detect rhopalic phrases in English, i.e., a phrase in which each word contains one letter or one syllable more than the previous word.
Available as a gem.
Usage
For simple yes or no answers about whether a phrase is rhopalic:
> require 'rhopalic'
=> true
> Rhopalic.letter_rhopalic?("I do not know where family doctors acquired illegibly perplexing handwriting.")
=> true
> Rhopalic.syllable_rhopalic?("Lines thicken approaching termination.")
=> true
There is no exact algorithm for counting syllables in English. For more accurate syllable counting use the CMU pronunciation dictionary:
> require 'rhopalic'
> require 'rhopalic/dictionary'
> dict = Rhopalic::Dictionary.from_file('cmudict.0.7a')
=> ...
> analysis = Rhopalic::Analysis.new(dict)
=> ...
> analysis.analyze_phrase("Add extra syllables gradually").syllable_rhopalic?
=> true
(This is assuming that you have the dictionary file cmudict.0.7a in your working directory.)
License
Distributed under an MIT license.