Showing posts with label Ear-training. Show all posts
Showing posts with label Ear-training. Show all posts

Thursday, 10 March 2011

Customizing GNU Solfege

As part of my work on Music Harmony (and ear-training), I wanted to configure GNU Solfege with my own exercises. I didn't realize it would be so easy. Following the instructions online, I just had to do the following things to get my first customized exercise:
  • Figure out where the pre-loaded lesson files are and where the customized lesson files should go. 
Help:File Locations tells me that in my system the pre-loaded ones are in /usr/share/solfege/lesson-files and the customized ones should go inside lessonfiles in my home directory.
  • Copy one of the pre-loaded lesson files (similar to the exercise I want to obtain) into the customized directory and edit. 
Make sure to delete the lesson_id field, since these have to be unique (later on GNU Solfege will create one automatically and will add it to the file). In my case I wanted to get an exercise to discriminate between major, minor, augmented and diminished chords, so I start with the chord-min-major lesson file:


# Solfege - ear training for GNOME
# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 Tom Cato Amundsen
# License is GPL, see file COPYING

header {
lesson_id = "38bfaa64-c182-4687-aa41-ed6352017342"
help = "idbyname-chords"
module = idbyname
have_music_displayer = yes
fillnum = 2
random_transpose = accidentals, -5, 5
title = _("Minor and major chords")
lesson_heading = _("Identify the chord")
test = "6x"
test_requirement = "90%"
}

# We do in-file translation to norwegian in this file, just
# to show that it is possible.
question { name=_("major") name[no]="dur" chord("c' e' g'") }
question { name=_("minor") name[no]="moll" chord("c' es' g'") }


and change it to:

header {
help = "idbyname-chords"
module = idbyname
have_music_displayer = yes
fillnum = 2
random_transpose = accidentals, -5, 5

title = _("Minor, major, augmented and diminished chords")
lesson_heading = _("Identify the chord")
test = "6x"
test_requirement = "90%"
}

# We do in-file translation to norwegian in this file, just
# to show that it is possible.
question { name=_("major") chord("c' e' g'") }
question { name=_("minor") chord("c' es' g'") }
question { name=_("augmented") chord("c' e' gis'") }
question { name=_("diminished") chord("c' es' ges'") }


  • Add it to lesson tree in GNU Solfege. I create my own learning tree via File:Edit Learning Tree, then New. First add a toplevel menu, then a submenu, and lastly Add lesson, (the first time I have to click on "Search for new lesson files" so that the stuff I just put in my own directory shows up), and look for the lesson to include. Just like that, I have a customized lesson:


Friday, 15 October 2010

Ear-training: fourths and fifths

(A continuation of the Ear-training thread).




Sunday, 10 October 2010

Ear-training: thirds

(A continuation of the Ear-training thread).





Friday, 8 October 2010

Let's get serious about ear-training (seconds)

I seriously need to train my ear, and my ear-training companion is going to be GNU Solfege. The idea is to try (daily or very nearly) one of the many tests that are available with that software and move to the next one when I consistently (three times in a row) can get a higher than 90% accuracy in each one. So, let's start from the beginning, and plot here the performance data for  seconds: