Homophone generator |

Is there an algorithm for generating homophones?

Input "cypress", output = { cipress, cipres, cypres, sipress, sypress }

5

6 Answers

Soundex is the reverse of this - mapping homophones to the same value. If you indexed every word in a dictionary by its Soundex value, then you could do a lookup to find all homophones of a given word.

I made one. Source code here:

Try it out in your browser at

Basic idea: Download the CMU Pronouncing Dictionary, and create a file of allowed phoneme substitutions and their costs. Do a depth first search of every possible substitution, backtracking when the partial result is not the beginning of any dictionary word.

You might be better off downloading a list of homophones from a web site somewhere. A quick Google search for "list of homophones" gives a few interesting-looking sites, including .

3

Project Gutenberg has the Webster's Unabridged Dictionary available for download. You could use the pronunciations in the dictionary as a key. Just parsing the dictionary would be a project unto itself, though.

There is a (and I quote..) Homophoner (stiffled giggle) here:

It seems to be using YUI

2

Try It.This Library will generate as you required

npm install homophonizer 

Homophonizer

ncG1vNJzZmirpJawrLvVnqmfpJ%2Bse6S7zGiorp2jqbawutJoa2prZmh%2FeHvHqKSoqJiku6Z5xp6lnqqRqbyz


You Might Also Like