Start with this:
[G|C] * [T] *
Write a program that generates this:
Cat
Cut
Cute
City <-- NOTE: this one is wrong, because City has an "ESS" sound at the start.
Caught
...
Gate
Gotti
Gut
...
Kit
Kite
Kate
Kata
Katie
Another Example, This:
[C] * [T] * [N]
Should produce this:
Cotton
Kitten
Where should I start my research as I figure out how to write a program/script that does this?
You can do this by using regular expressions against a dictionary containing phonetic versions of words.
Here’s an example in Javascript:
You’ll need to download the list of all words from http://icon.shef.ac.uk/Moby/mpron.tar.Z and put it (uncompressed) in the same folder as the HTML file. I’ve only translated the [C] * [T] * [N] version into a regular expression and the output isn’t very nice but it’ll give you the idea. Here’s a sample of the output: