Count syllables in text using a dictionary
Counts the number of syllables in given text using the CMU Pronouncing Dictionary, which contains over 134,000 words. This has the benefit of being much more accurate than algorithmic methods, but can fall short on less common words. Unknown words are provided a syllable count of 0.
Alternatively, a fallback function can be used in the case a word is not in the dictionary. A function such as the npm package that counts syllables algorithmically can be passed as an option.
npm install syllables
import syllables from 'syllables';
syllables('Hello!');
//=> 2
syllables('Language is an amazing thing, really.');
//=> 10
syllables("What's an asjhaiuhaiajsos?");
//=> 2
syllables("What's an abcd?", { fallbackSyllablesFunction: (word) => word.length });
//=> 6
Type: string
Text to count syllables of. May include punctuation and contain any case.
Type: object
Type: (word: string) => number
Default: undefined
Fallback function used to calculate the syllable count of a word if the word is not in the dictionary. Must take a word as an input and return a number representing the number of syllables.
The function will be passed a lowercased word stripped of punctuation, but still includes contractions (such as don't
).