Moodle plugins directory: Music Theory | Moodle.org
Music Theory
Question types ::: qtype_musictheory
Maintained by Eric Brisson
Question type supporting several exercises for music theory instruction.
Latest release:
496 sites
98 downloads
43 fans
Current versions available: 3
This question type is designed for music theory instruction. It currently supports the following exercises:
Each of the exercises above (except for #3, Keyboard Input) can also be configured so that a specific question is randomly generated upon starting an activity. The randomization can be based on a set of parameters configured when the question is created or edited. For example, it is possible to configure an interval writing question so that it asks for a perfect fifth above a randomly chosen given note. This randomization process, configured during question creation, alleviates the need to create very large question banks, and can be particularly useful for interval and chord/harmonic function questions, given that the number of possible questions for these exercises is very large.
I made a choice to create a framework where the correctness of a given question is automatically computed, without having to enter individual answers during question creation. A framework for adding various grading strategies for each exercise is also in place, and is currently used for the scale writing exercise (currently allowing either an "all-or-nothing" grading strategy, or a "partial grade" approach where each correct note is given partial credit).
This plugin was developed with the hope of creating a music question type that would support a wide range of music theory exercises, using a single graphical user interface that is flexible enough to support such exercises. It is hoped that it will facilitate further development and Moodle server maintenance.
Special thanks to Jay Huber for his very significant contributions to the existing standalone Moodle music question types (Music Key Signature, Music Interval and Music Scale), and for inspiring me to develop this new question type.
- Note writing: The respondent is asked to enter a given note on the staff.
- Note identification: The response is asked to identify a give note.
- Keyboard Input: The respondent is asked to select a given key on the piano keyboard.
- Key signature writing: The respondent is asked to enter a given key signature.
- Key signature identification: The respondent is asked to identify a given major or minor key signature.
- Interval writing: The respondent is asked to enter a given interval above or below a given note.
- Interval identification: The respondent is asked to identify the quality and size of a given interval.
- Scale writing: The respondent is asked to enter a given scale.
- Scale identification: The respondent is asked to identify a given scale.
- Chord quality writing: Given a chord root and quality (e.g. 'G major', 'D minor'), the respondent is asked to enter corresponding chord on the staff.
- Chord quality identification: The respondent is asked to identify the quality of a given chord (e.g. 'major', 'minor', etc.).
- Harmonic function writing: The respondent is asked to enter a given harmonic function in a given key (e.g. 'IV in D minor').
- Harmonic function identification: The respondent is asked to identify the harmonic function of a given chord in a given key.
Each of the exercises above (except for #3, Keyboard Input) can also be configured so that a specific question is randomly generated upon starting an activity. The randomization can be based on a set of parameters configured when the question is created or edited. For example, it is possible to configure an interval writing question so that it asks for a perfect fifth above a randomly chosen given note. This randomization process, configured during question creation, alleviates the need to create very large question banks, and can be particularly useful for interval and chord/harmonic function questions, given that the number of possible questions for these exercises is very large.
I made a choice to create a framework where the correctness of a given question is automatically computed, without having to enter individual answers during question creation. A framework for adding various grading strategies for each exercise is also in place, and is currently used for the scale writing exercise (currently allowing either an "all-or-nothing" grading strategy, or a "partial grade" approach where each correct note is given partial credit).
This plugin was developed with the hope of creating a music question type that would support a wide range of music theory exercises, using a single graphical user interface that is flexible enough to support such exercises. It is hoped that it will facilitate further development and Moodle server maintenance.
Special thanks to Jay Huber for his very significant contributions to the existing standalone Moodle music question types (Music Key Signature, Music Interval and Music Scale), and for inspiring me to develop this new question type.
Many thanks to colleagues in Winona State University's TLT and IT departments for their support of my Moodle development efforts.
Contributors
Eric Brisson (Lead maintainer): Question type author
Please login to view contributors details and/or to contact them
Please note the non-English strings are not supposed to ship with the plugins any more. Instead, you may wish to import them into AMOS at lang.moodle.org or just email them to the relevant language pack maintainers.
You are cleared to land now, welcome to the Plugins directory.
It is work like this that makes Moodle stand out from other Learning Management Systems.
Moodle Community - If you download and use this plugin, paste a thank you here. He has hundreds of hours invested into writing/coding and collaborating with others on this plugin!
Cheers! I hold you in high regard!
Jay Huber
I hope you don't mind my writing a Moodle Docs page for this plugin at https://docs.moodle.org/27/en/Music_theory_question_type . Please feel free do add or amend it as necessary.
I also added an entry in the page https://docs.moodle.org/27/en/Third-party_question_types .
Congratulations on this nice plugin. With this plugin, Moodle now has 4 additional plugins for Music (https://docs.moodle.org/27/en/Category:Music ) ; and a total of 48 additional question types for quizzes I do not know of any other LMS with so many question types.
Eric
problem with casesesitive letters????
Debug info: Duplicate entry 'de-83-Anm' for key 'mdl_toolcust_lancomstr_uix'
INSERT INTO mdl_tool_customlang (lang,componentid,stringid,original,master,timemodified,outdated,local,timecustomized) VALUES(?,?,?,?,?,?,?,?,?)
[array (
0 => 'de',
1 => '83',
2 => 'Anm',
3 => 'A minor',
4 => 'A minor',
5 => 1413630951,
6 => 0,
7 => NULL,
8 => NULL,
)]
Error code: dmlwriteexception
The source of the problem is that I have used case sensitive string keys in the plugin's language file (e.g. "AnM" and "Anm", which are two distinct keys in the plugin but are detected as being the same key in AMOS). I didn't anticipate this potential issue during development.
The way to fix it would be to create a new version of the plugin with distinct string keys. I will put this on my list of development tasks and will plan to let you know once I have applied the fix. I will do the best that I can to get to it soon but it could take me some time given my current teaching commitments.
Thank you for your contribution to this project - I appreciate it very much!
Eric
A workaround is to add in every line in the language-file an letter "a" for the major-Strings
$string['CnMa'] = 'C major';
then minor "cnm" and major "cnma" are different strings
Will it work with Moodle 2.8??
-Derek
$string['CnMa'] = 'C major';
Or you make the database field stringid casesensitive ...
I changed the languagefile , by adding an a in every Major-text like $string['CnMa'] = 'C major';
I can send you this version, that is based on Version 2014071400 --- send me a with your eMail-Adress PM
This version is now completely compatible with AMOS for purposes of translation (all case-sensitive language string keys have been replaced). It includes scale identification as a new exercise, and has a number of additional enhancements as well as bug fixes. The list of changes is the following:
https://github.com/brissone/moodle-qtype_musictheory/issues?q=is%3Aissue+is%3Aclosed
Thank you all for bug reports and suggestions - I appreciate it very much!
Best,
Eric