I am a programmer and I was thinking about making a program to simulate a voice. To be clear i'm not looking to make a text-to-speech program, and i'm only really expecting to do vowels. My idea is to basically to generate a frequency(vibrating vocal chords) in a pipe(throat mouth). Having a different shape of the pipe. Unfortunately searching for stuff i come across speech recognition or text to speech(and the best text to speech don't generate sounds they use recordings). I have no idea what i should be looking for. If anyone could point me in the right direction or provide any insight it would be much appreciated. I know little things like vowels have many different frequencies sounding at once, and that they are referred to as formants. Though i don't know how these are determined.