Projects/Edu/Artikulate/CourseMaterial

From KDE TechBase

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 two 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
    1. word: a single word, letter, or number
    2. expression: an expression of several words that does not form a complete sentence
    3. sentence: a complete sentence
    4. paragraph: several sentences (usually 2-3)

Artikulate Course Material Repository

All course material for Artikulate can be found and edited in the following repository:

For licensing information please see:

You can contribute to this repository with a KDE Developer account. But also if you do not have a KDE Developer account (yet), we are happy to get contributions. For those cases, please write to the mailing list [1].

Using the Repository Directly in Artikulate

To work with Artikulate directly at this course material repository please create a local copy of it (git clone). Then start Artikulate and go to the dialog "Settings" (top-left button) and select the root folder of your local copy in that dialog as your course material repository. After restarting Artikulate the training mode as well as the editor mode operate only on the data from the repository.

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

Diagram of 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.

Course related to Skeleton

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:

  1. phrase is changed in skeleton file
  2. course is updated from skeleton: i18n-text strings of phrases also get updated
  3. if i18n-text strings are changed, the phrase's editorState is set to "unknown"
  4. 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:
    1. the editor translates the string updates the phoneme tags and removes the recording, editorState will be set to "translated"
    2. once a native speaker recorded the phrase, the state is set to "completed"
States
  • 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