The software is the client part of a client-server couple.
It is intended for collecting speech samples from volounteers around the world, in order to create, in the long term, open source acoustic models of various languages.
I will give shallow description of the whole thing here, leaving in depth details aside, by now.
The server side is just a MySQL server.
The client side must:
1. allow for multiple accounts creation, with username and password.
2. allow log in upon start of each new session.
3. allow default log in of one user, as set in the prefernces.
This is much like any IM client does.
5. upon account creation or modification, client downloads from server the suitable text corpora. That is: if one chooses to contribute in english and french, because he feels being bilingual, client asks for both corpora.
6. once a recording session is started, a language is choosen, prompts from one corpora are displayed; the user then reads them one at a time.
7. audio files are tagged with timestamp, username and prompt so that just one file needs to be sent to the server.
8. audio files are stored in a temp folder. No need to separate them by user, just a simple "bucket" folder. They are kept in the hard disk as long as an upload session is started.
9. when receiving a new file, the server stores it in the database. Useful information to complete a new row creation are to be found in the audio file tags as mentioned.
As said, many things are yet to be specified. In particular about tranfer protocol, comunication between client and server, audio file format, sampling options, silence treshold, database table fields.
I will give, possibly, UML specification about all of that.