This is my secondary project for assignment 3. I have not yet started implementation.
Based on inspiration I had from making my bot, I decided that I would make a dynamic tree graph that would allow the user to view the possible syllables/phonemes follow a chain of phonemes based on the CMU pronouncing dictionary. I would build a Markov model of the phonemes based on the dictionary and then size the nodes in the tree respectively. This will allow the user to navigate the language in a new way and possibly generate new words. I could also choose to make the number of phonemes a factor in choosing the next syllable, unlike Markov models which are meant to reach an equilibrium (no memory other than current state). I could then add other languages in order to allow the user to compare differences in how languages sound and are patterned.
In order to implement this I plan to start with the d3.layout.tree as can be seen in an example here. From there I will add a display that shows the currently selected chain of phonemes. When a phoneme is selected the next set will be displayed and the already traversed trees will move left to focus on the current choice. If other languages are added, I will add toggles for each language, and overlay different colored circles on each phoneme node to indicate probability per language.
I feel this idea has promise, and I look forward to working on it, but have not yet made it, so there is little to critique.