Training of pronunciation skills is performed with courses. A course is associated with a specific language, consists of different units and each unit is given by a sequence of phrases in different lengths. To ease the further explanation we defined a list of specific notions:
- Language: Languages are only available in Artikulate if they are given by language specifications.
- Course: A course is associated to one language and contains a list of units.
- Unit: A unit consists of phrases that are "somehow" homogenous. E.g. those can be phrases spoken in a restaurant or phrases spoken at a conversation at the street by a tourist searching for the way.
- Course Skeletons: A course skeleton forms the prototype of a course. This is, skeletons help to ease creation of courses in several languages as they state a set of units and phrases (in English) that then can be used as a blueprint to create a course in a new language. Updates of course skeletons can also be imported into courses that are created from a skeleton.
- Phrases: Phrases are given by a text string and a recording by a native speaker. We differ phrases by their lengths. The following phrase lengths exists
- word: a single word, letter, or number
- expression: an expression of several words that does not form a complete sentence
- sentence: a complete sentence
- paragraph: several sentences (usually 2-3)
Workflow and Course Data Life Cycle
The following life cycles explain how courses and the contained phrases shall be created and updated.
Life Cycle of a Course
State Cycle of a Phrase
There are two cycles for phrases. The simple one appears, when creating a course without a skeleton file. Then, a phrase gets created and possible is updated.
The case when working with skeleton files is quite different. Here, the phrases are created (in English) in the skeleton file and then imported, translated and recorded for the course. Yet, when updating a phrase in the skeleton, possibly the phrases in the course file may also need updates. To approach this, we have the following update cycle for phrases:
- phrase is changed in skeleton file
- course is updated from skeleton: i18n-text strings of phrases also get updated
- if i18n-text strings are changed, the phrase's editorState is set to "unknown"
- the editor must check whether the change requires changes to the translated string in the course file or not (in the latter case, the editor can set the state to "completed"), in the former case the following steps must be performed:
- the editor translates the string updates the phoneme tags and removes the recording, editorState will be set to "translated"
- once a native speaker recorded the phrase, the state is set to "completed"
- unknown: phrase is either untranslated or original phrase string from skeleton got updated and it must be checked whether phrase in course file still fits to it
- translated: phrase is translated and all set phoneme tags are correct (possibly none are set), but a recording is missing
- completed: phrase is translated, tagged and a recording exists