Note: You are currently viewing documentation for Moodle 2.3. Up-to-date documentation for the latest stable version is available here: Musical harmonic functions question type.

Musical harmonic functions question type

From MoodleDocs


This question type deals with harmonic functions and may be useful for music theory instruction at the high school or college level. Answers are entered in a graphical user interface.

Current Features

  • Mutiple answers may be configured for specific feedback or partial grade
  • The correct answer for a given harmonic function is automatically generated during question creation (i.e. when selecting I64 in G major during question creation, "D-G-B" will automatically be designated as an answer yielding 100% grade when saving the question)
  • A graphical user interface is used to enter answers

Some Ideas for Future Development

  • Use the Flash interface to enter question options when creating or editing a question
  • Add optional, built-in automated feedback on various wrong answers


  • Moodle 1.9.4, 1.9.5, 1.9.7, 1.9.8 or 1.9.9 (it may work with other versions within 1.9, but has only been tested with these five versions). This question type is not currently compatible with Moodle 2.0.
  • Javascript must be enabled to allow for communication between PHP and the Flash interface


  • Copy the "harmonicFunction" folder into the following folder: {moodle root}/question/type
  • Log in as administrator and load the "Notifications" page on the Moodle home page - this will create database tables used by the question type
  • Within a quiz, select "Harmonic Function" in the "Create new question" dropdown menu


  • Failed to load question options from the table question_harmonicfunction for questionid xxx: The likely cause for this error is that a required database table is missing. To correct the issue, load the "Notifications" page on the Moodle home page (located just under "Site Administration", while logged in as administrator). Please note that any question created before fixing this issue will have to be discarded.

See also