i have question for the experts of programming about Lab Institute of Wall streat ?

anhaaar's Avatar
Newbie Member
i have Important question for the experts of programming about Lab Institute of Wall Street??

-------------------------------------------------- ------------------------------

at the begining I took English course at the Institute .it has lap.. And every student has CD
Important ... a system of working is about telling you conversation and sentences then you hear that all ,after that show you some sentences and ask you to read them , then if your pronouncing is correct that programme will let you pass and if you were wrong it will ask you to repeat your reading ...... My question .. What are the steps followed for the work of such a program?

so,, may you help me to find out the answering ,please ?

is that need knowledge of programming ?c# ? ++C ?

please i'm waiting ,,,,,,, thanks for you all
xpi0t0s's Avatar, Join Date: Aug 2004
It's not an easy application to write, what you would need to do is break down the input voice stream into chunks, probably based on where the type of sound changes, then analyse each chunk of sound to determine what phoneme it is likely to be, which will be based on the frequency characteristics. Listen to some sounds, say AAAAA, EEEEEEE, SSSSSSS, ZZZZZZZZZZZ and you will hear these have different characteristics. You would need to start by feeding such recordings into a frequency analyser and determine what differs, say, AAA from EEE, and you would also have to do that for a number of speakers to get an overall view of what makes a phoneme.

There's loads to take into account. The pitch of a phoneme can change the word's meaning as well (cf incense as used in churches and incense as in getting mad) and even the overall sentence. Words can sound the same and the context determines what they mean: cf. fare and fair, and even words like fare can have multiple meanings (a charge for using a service "bus fare", have a good life "fare well" etc). Word splits can be difficult too: cf "in sensitive areas" and "insensitive areas" and the rest of the sentence will be necessary to determine which was meant, e.g. "in sensitive areas we need a light touch" and "insensitive areas can manage quite a good scrub".

Regional differences can throw another spanner in the works. Northern Brits pronounce the a in bath like the a in cat, but southerners pronounce bath to dhyme with Darth. It doesn't have to be regional either; I pronounce book as buk, but my wife pronounces the oo as in too.

Oh, and to/too/two is another good one.

The whole voice recognition business is spectacularly complicated and I've seen computers trying to make sense of it for over 20 years now and with the best brains in the business voice recognition is still, quite frankly, pants. And humans need stuff to be repeated too so clearly even we haven't got it completely nailed yet.

Programming language is largely irrelevant. You would probably use whatever you know best. In just about any language there'll be a lot of low level work to do in analysing the input stream, splitting out phonemes, considering the possible meanings, reconsidering phonemes based on whether or not the sentence makes any sense.

Have a look at http://en.wikipedia.org/wiki/Phonology and linked articles for more info on phonemes than you ever thought was possible.
anhaaar's Avatar
Newbie Member
do u mean that is impossible ?

when i asked the same question in another furom someone told me .... you need to build your own company ..... group is including Experts ,Programmers ,Services ,Advanced machines ,Laboratory , and million dollars

so what do you think about that answering ?
do you think is it true ? or someone want to freaks me out ? ( go too far )

and thank u again
xpi0t0s's Avatar, Join Date: Aug 2004
Not impossible but a huge project that like I say hasn't been solved in 20 years that I know of and probably more, and in fact hasn't been completely solved by humans. By all means have a go and see how far you get.

The project you outline is simpler than the general problem of interpreting speech as you know what you should be hearing but there's still a lot to do. You can't have a fixed recording of a sentence and do a simple byte by byte comparison because you'll never get the same recording twice even from the same person (try it!). You'll still need to do phoneme analysis on the input sound and you'll also need to know a wide range of pronunciations for the same phonemes so that the program has some means of determining, for instance, that both "buk" and "boooook" are correct pronunciations of the same word (book).

One thing is certain: if you attempt this project you will learn a heck of a lot even if you fail, and on that basis I would encourage you to give it a go, although don't make any promises about delivery dates! I recently came across an inspiring quote that went along the lines that the problem today is not that people miss their targets, but that people set targets too low and hit them. Aim high and even if you miss you'll hit a lot higher than if you aimed low.
anhaaar's Avatar
Newbie Member
sorry i'm late
Thank you for your reply and wish you every success ....

I have a question ... Is it possible for one person to design this program, even after 20 years?

Do you require me to study one of the languages of programming? Or algorithms?
Do I need to study sound engineering? Artificial intelligence? Compared to audio?

Please if you know the answer, I hope that you get me what should I do?

What is the first step in the work?

My thanks and gratitude to you
xpi0t0s's Avatar, Join Date: Aug 2004
> Is it possible for one person to design this program, even after 20 years?

I don't see why not. The project you outline is a lot simpler than generic speech recognition as you have a good idea what is supposed to be coming next and you know, for example, if the test is "The quick brown fox", that you should be getting phonemes "voiced-th", "uh", "k", "oo-i", "k" etc and instead of having to work out what the incoming phonemes are from a point of not knowing what they are, all you have to do is check the first against "voiced-th", the second against "uh" and so on.

The software will need to handle people saying stuff clearly wrongly, obviously, for example given "The quick brown fox" and they say "Ten green bottles" then you need to flag that as completely wrong (explaining why might be difficult, but one solution could be to say "no, it should sound like this" and play a sample recording.

It will also need to be able to spot people nearly pronouncing stuff correctly, for example "Ve kooik brone focus" - that's wrong, but sounds in many ways very similar. As the aim is to bring language up to scratch you will need to determine when a sound is wrong and that may depend on the level of ability of the student, maybe for someone just beginning "Ve kooik brone focus" would be good enough and you could actually understand what someone means if they say "Ve kooik brone focus zhamps hovver ze lie-zee dawg".

> Do you require me to study one of the languages of programming? Or algorithms?

Me? I don't require you to do anything. You can just get started and I think if you take a structured approach thinking things through carefully that you will naturally work out any algorithms you need. You will need to be fluent in at least one programming language before you start this project though, and I would suggest that language should be a medium to low level compiled one like C, C++, Java (ok, Java isn't truly compiled, but it's a possible); not assembly, because that is too low, and not an interpreted language like BASIC because those are too high level and the computations you'll need to perform will be hampered by the interpretive nature of the language, and you may find the language gets in the way of what you're trying to do. These are generic languages though and you may find there are languages out there that are more suited to what you need - research is the key here, but if you just need a pointer then C++ would be able to handle the job,

> Do I need to study sound engineering? Artificial intelligence? Compared to audio?

I think those subjects could be of help but you should get started and find what out what you need to study on the way.

> What is the first step in the work?

Start with a few short test sentences/phrases, no more than 4-5 words long.
Get recordings of yourself and some friends saying those sentences. Get fluent English speakers that are male, female, have varying regional accents, and maybe some recordings from some non-native English speakers whose English is "good enough". Recordings from some non-native English speakers who have heavy accents could be useful as well, in a comparative sense, because you will need to determine when a sound goes "too far" wrong to be acceptable.
Split the recordings into phonemes, and if you do a good few of these "manually" then you'll get a feel for how a computer might go about it. Maybe you won't need to use phonemes per se, but, especially if you want to point out where they went wrong you will need to do some separation of the input stream; again phoneme analysis is more a pointer than a "you must do it this way", as in fact is anything I'm saying.
Then start studying the characteristics of each sound, looking in particular at the same phoneme across the different recordings to get a feel for how it varies. They will be different for different people, but in some sense a "v" sound will always sound like a "v" no matter who says it. You'll probably need to take a close look at each sound in both the time domain and the frequency domain; a good audio editor like Audacity will let you zoom right in to look at the detail of the wave, but I don't know of any software that does frequency analysis of sounds; you'll need to do some research into that and maybe consider writing your own utilities that suit your needs in this area.
anhaaar's Avatar
Newbie Member
Thank you very much for this clarification and the healing of my questions answered .... You are a wonderful person
I appreciate your effort you have enriched my knowledge on the subject, I hope that you realized what you wish for
Michal Right's Avatar
I think you've written a good article to entice readers to click on your links.