I'm doing something which requires me to understand how many syllables are in a word I've retrieved.
Anyone have any experience figuring this out in newLisp?
Kanen,
To answer your question, no. But, assuming you mean English words and you want a purely algorithmic approach, it looks like the best you can do it is by heuristic. The first (highest voted answer) on this stackoverflow post (//http) has a link to the TeX hyphenation algorithm. That looks pretty promising.
Also, maybe there is an on-line dictionary of English words that are already hyphenated to which you could appeal (i.e. have a lookup table).
Good luck, man!
If you are looking at syllables in terms of sound (rather than the hyphenation problem), you might do something fun with
//http://svn.code.sf.net/p/cmusphinx/code/trunk/cmudict/cmudict.0.7a
which is an english phonetic dictionary (copyright CMU). You'll probably need to compound certain phoneme series into syllables before counting.
Looks like that could be made into a nice lookup table. It's easy to see the pronounced vowel sounds (in the code) and count them. That count should equal the syllable count. Nice find, Ralph!
You guys are very helpful. With a little training and some newLisp magic, I figured it out and created a giant table from my results.
(set 'phonetics '(
("AABERG" 2)
("AACHEN" 2)
("AACHENER" 3)
("AAKER" 2)
("AALSETH" 2)
("AAMODT" 2)
("AANCOR" 2)
("AARDEMA" 3)
("AARDVARK" 2) ... )
... now with the phonetics association list, you can quickly create a context for lookup:
> (new Tree 'Syllables)
Syllables
> (Syllables phonetics)
Syllables
> (Syllables "AARDEMA")
3
>
see also here: http://www.newlisp.org/downloads/newlisp_manual.html#hash