-
Notifications
You must be signed in to change notification settings - Fork 3
Notes on MPAi Code Structure
The MPAi project has been going on for 8 years. Many developers, languages and iterations have been involved in getting it to its current state. As such, there are various components that have been implemented in different languages, and to an outsider going in, the architecture can seem a little confusing. This document is a general guide to the structure of the application, to aid future developers in understanding the application, so that they can change it with more information at their disposal.
The main portion of MPAi is written in C sharp. The GUI was created using the WinForms library, which Windows Visual Studio includes a designer for. The VideoPlayer and AudioPlayer use the VLC.DotNet open source media player library to play media. The C Sharp code handles all the models, including the database model. It also handles the logic for all the GUI elements, excepting the Formant Plot and Vowel Target.
Python was used to write the Formant Plot, and subsequently the Vowel Target Plot. This is why the GUIs of these components look different to the rest of the application - they use different GUI libraries. This includes the speech analysis needed for the Formant and Vowel Plots to function.
The Scoreboards are HTML, and are styled using CSS. The actual HTML files are generated in the C Sharp code, in the ReportLauncher class. The HTML files are opened in the default browser by the C Sharp code.
The HTK Engine (used for the speech recognition: see the page on HTK for further details) is written in Batch files.
Again, used with the HTK Engine.
Used by the HTK Engine.
The database MPAi uses.