Using http, get blocks of digitized sound from a client application. Then forward the blocks to a voice recognition engine (using xml/http). Finally return a recognized text back to the client (json).
1) Blocks may come in wrong order, but they should be posted to the recognition engine in their original order (blocks have serial numbers).
2) The recognition engine has limited capacity, it can only process a fixed number of sessions simultaneously. If there are more customers than engines available, the extra requests should be posted in a queue. When an engine gets free, the next queued request is forwarded to it.
3) Recognition takes some time. The text is returned in fragments. Any fragment should be returned to the customer when next request is received. Also it should be possible for a client to keep session active even after voice stream finished by sending empty requests to wait till all result text is returned by the engine.
A client may disappear, then timeouts apply. Blocks of sound should be saved to disk. Dates/times, text and some other data should be saved to an Oracle database.
9 freelancers are bidding on average $599 for this job
Hello Sir, I am Bing ,How are you! I am a senior Java developer and I have lots experience on servlet&http etc Very interested in this project,please let me help you . Thanks Bing
Hi igorostroukhov, Greetings. I have read into project description and it certainly read interesting! As such, I would like to know more on this project and I hope you will response soon. Thank you. /Jason
I have extensive experience in developing enterprise Java/JEE applications. Is this an enhancement to a existing application? Are client app and recognition engine third party apps?