Tksolfege is a free music ear training program written in Tcl/Tk. It contains exercises for recognizing musical intervals, chords, sight reading and rhythm dictation. Such skills are a requirement in many university music departments and considerable practice is needed to develop such proficiencies. The program was designed for both the novice and experienced user.
The program was inspired by other similar and free programs such as Gnu Solfege and Ricci Adams'musictheory.net. Another program LenMus deserves notable mention in particular for the rhythm exercises.
The software was designed to run on various platforms such Windows on the PC, MacOCX, and Linux. Audio output is produced using Steve Landers' muzic interface.
Download tksolfege_setup.exe and run to install the program on your system. Now proceed directly to the section Using Tksolfege
For other operating systems such a Linux or MacOSX you will require Tcl/Tk 8.4 or higher to be installed. Start tksolfege.tcl by calling the program "wish" (eg. "wish tksolfege.tcl"). If you do not have tcl/tk 8.4 installed you can get it from dev.scriptics.com . You should install the 32-bit version since I had some problems loading the muzic package on the 64-bit system. Alternatively, you can install tclkit from www.equi4.com and run tksolfege.kit. If you are installing tclkit, You should rename the tclkit downloaded file to tclkit, make it executable and put it into one of your bin directories (eg. /usr/bin or /bin) so that tksolfege.kit can be opened by tclkit.
For MacOS X, you require a recent build of Tcl/Tk (i.e. Tcl 8.4.11 or higher) and the aqua version is preferable.
Tksolfege.tcl requires various external packages and files. For convenience, these external packages were wrapped into a starkit or tclkit which is basically something similar to a zip file also but contains a "virtual file system". The tclkits and starkits are created by an application called sdx which is somewhat similar to zip and unzip but not as transparent. The term wrap is used to describe the process of creating a tclkit from a tk/tcl script. The reverse operation called unwrap produces a tclkit folder containing the original script (with a slight modification) and some other stuff. A tclkit folder can be converted into a starkit by another wrap operation which adds the tcl/tk runtime system.
I have not provided a starkit executable for other operating systems so you will need to run either tksolfege.tcl or tksolfege.kit. If you have tcl/tk 8.4 installed, then you can run tksolfege.tcl but you will also need the external package muzic and the external folder called glyphs. These can be found in the tksolfege.zip file. The muzic package was written by Steve Landers, so the latest version can be found in his site, muzic; however, for your convenience an 'unwrapped' version was also included in tksolfege.zip. More details on where to place those folders follow. I have not managed to get the muzic package to load using the 64-bit version of tcl/tk, so you should install the 32-bit version.
If you are running tksolfege.tcl rather than tksolfege.kit, then it requires the muzic package to be in one of your autopath folders. In Windows, assuming you are running tksolfege.tcl instead of tksolfege.exe, you would place the muzic folder in c:/tcl/lib/. In Fedora 4 Linux, you can put it into any one of these folders /lib/, /usr/share, /usr/lib, /usr/share/tcl8.4 or /usr/share/tk8.4. (To get this list, start up tclsh and type "set auto_path" without the double quotes.) The glyphs folder should be in the same place as tksolfege.tcl.
Tksolfege.kit and tksolfege.exe already have the muzic package and glyphs folder built in, so no further configurations is necessary.
Muzic uses the built-in MIDI synthesizer on Windows and MacOSX platforms. (It did not work on the Mac system I tested.) For other systems, such as Unix and Linux, you will need a SoundFont file. (A default sound font comes with the muzic.kit and, for your convenience, is included in tksolfege.zip.) The default.sf2 is provided just to get you started and is low in quality in order to save disk space. I recommend that you find something better. Free soundfont files can be downloaded from http://www.personalcopy.com.
Once you have put a soundfont file on your system, it will be necessary to tell tksolfege.tcl and tksolfege.kit where to find it. Running tksolfege for the first time should create a tksolfege.ini file in your current folder. Edit tksolfege.ini and replace default.sf2 in the line soundfont default.sf2 with the path to the desired soundfont file. If you want to use the built-in MIDI synthesizer on your system, replace default.sf2 with the word none (this is the default on Windows). Note that if for some reason tksolfege.ini becomes corrupted and tksolfege refuses to start, simply delete tksolfege.ini and a new file will be created with the factory settings the next time you start tksolfege.
You may occasionally see a warning such as "fluidsynth: warning: Failed to pin the sample data to RAM; swapping is possible." I do not know how to eliminate this message.
On Linux, tksolfege uses the Open Sound System (OSS). Some new versions of Linux now use the Advanced Linux Sound Architecture (ALSA) instead of OSS. As a result you will get the error message "cannot find /dev/dsp" or "cannot find /dev/mixer" and the program will abort. To get it working you need to install oss-compat and alsa-oss packages on your system. After rebooting, you should find the /dev/dsp and /dev/mixer. This worked on Debian 6.0.4, however I did not manage to fix Ubuntu 11.10.
There are two aspects to learning how to use the program: (1) how to control the operation of the program and (2) how to use the program improve one's skills. Like physical fitness training one does not expect to achieve physical strength in a few days by working out continuously 8 hours a day. One can be easily frustrated by starting with a exercise which is too advanced. One can easily waste a lot of time by not doing the exercise in the right manner. If one is consistently confusing say the major sixth with the minor sixth, then one should configure the exercise so that it concentrates on just these two intervals. Once the user can distinguish the two intervals a new interval is introduced such as a tritone.
The interface will be described in detail using the chord identification and interval identification exercises. Other exercises are discussed more briefly in the rest of this guide.
Starting tksolfege will display a this window or something similar. If you hear a sound when you click the button labeled new, everything should be running ok. Initially the program is set up for distinguishing the major, minor, augmented and diminished triads played in melodic mode. When you press new , you will hear the chords played in sequence. If this is too easy, you can change this mode to harmonic by selecting the menubutton currently labeled melodic; the menu button will now be labeled harmonic and all the notes will be played as a chord. If you chose both then you will hear it both ways. Once you have identified the chord, click one of the buttons in the left column.
If you identified the chord correctly, the program will acknowledge this with a message. If you were incorrect, it will play the chord you have chosen and tell you to try again. If you want to hear the unknown chord again, press the repeat button. If you give up, press the answer button.
After a few trials, you may wish to see how you have been doing. Clicking the stats button will display the confusion matrix illustrated below.
|The overall accuracy and the average number of seconds you took to get the correct answer will also be displayed. Each row of the confusion matrix corresponds to the class of chord or interval chosen by the computer. The column corresponds to your response. Thus in this example there were 8 trials. In one instance the user misidentified the major3rd as a major2nd. In another instance the user misidentified the perfect5th as a perfect4. These appear as off diagonal terms in the matrix. The user spent an average of 3.13 seconds to get the correct answers. On the whole 6/8 or 75 % of the trials were correct.|
If you leave the stats window exposed, tksolfege will update the matrix and other parameters as you proceed. The reset button on the top left will zero everything.
|Tksolfege was designed for music students of any level. The second row of buttons exercise, lesson, config are used to pick the type of exercise, the level, and configure the manner that the exercise is done. The current version has six different exercises. For now, we will concentrate on the first three exercises. The remaining exercises will be discussed in separate sections.|
|This is a fairly advanced exercise. The exercise is a variation of the diatonic chord identification exercise. In this exercise the goal is to identify the scale degree of the chord (eg tonic, dominant, subdominant and etc.) These degrees are indicated using Roman numerals, where lower case characters indicate minor or diminished chords and upper case characters indicate major or augmented chords. (Diminished chords are appended with a little circle while augmented chords end with a plus sign.) The exercise is more difficult if you also include inversions and sevenths which are notated using fractions like 6/3 for the first triad inversion and 6/4 for the second triad inversion. To assist you, clicking on the key signature button (to the right of the submit button) will play the current scale.|
When you click on the scale degree button, the program will play the chord on your speaker; but beware that it can be shifted by an octave from the current test chord depending on how the exercise was configured. This is a fairly difficult exercise and it may be easier if you play the chord in melodic form rather than harmonic so you can hear the sequence of notes. Also you can run the exercise in visual form rather than aural.
The configuration menu (discussed below) is similar to the diatonic and chordal identification menus. The scale mode (major, minor, ...) and key signature as well as the range of notes are relevant to this exercise. The type of chords to be included can be selected using the lesson button.
If you don't like using the mouse like me, there are a few keyboard short cuts. Tab or shift-tab will shift the focus to one of the chord or interval buttons. Pressing the spacebar will then invoke the button under focus. Pressing the keyboard letter r is equivalent to pressing the repeat button. Pressing n, is equivalent to the new button.
For each exercise there is a large menu of lessons. For example,
for the interval identification exercise you would view the
The menu was designed for the beginning student. Generally, it is not easy to develop an ear for distinquishing the intervals and you should initially concentrate in distinguishing certain pairs. It may help to recall these intervals using particular tunes. (See the Easter Egg, mentioned near the end of this document.) More advanced student can configure the lesson using your own menu item.
Configuring TkSolfegeClicking the config button brings up the adjacent window. The program initially sets the instrument to the Acoustic Piano. By pressing the button labeled with this name, a list box appears allowing you to select other instruments. Generally, people develop an ear for recognizing harmonic chords played on a particular instrument. When they switch to other instruments with which they are less familiar they have problems.
Chord and interval identification is easy if they have the same tonality (e.g. Cmaj, Cmin, Cdim and etc.) Handling shifting tonalities, however, is a more challenging task for the user. Tksolfege chooses the tonality from a range of notes that are specified by the two sliders lowest pitch and highest pitch. These are specified in MIDI pitch units where middle C is at 60. Each octave is spaced by 12 MIDI units.
The duration of the note and the speed at which the chord is arpeggiated is adjusted by the note duration slider where the units are in milliseconds. The range of 200 to 1000 milliseconds should be quite adequate for most users.
Once you gain speed, you may want tksolfege to automatically pick a new chord each time you get the correct answer. Ticking the box labeled auto new will put the program in this mode. It will pause for 1.5 seconds after your last correct response. (If you wish to change this time, you will have to edit the tksolfege.ini file.)
Similarly, you may find it undesirable for tksolfege to play the chord or interval of your wrong choice. This can be turned off by unticking the checkbox labeled auto play. Personally, if I have made an error, I would prefer to hear my mistake.
The chord identification and interval identification can be configured to run as an ear training exercise or theory exercise or both. Normally, the aural radio button is selected and the program plays the interval or chord on your speakers. If visual is selected, the program will display the chord or interval in music notation. Selecting both will run the program both ways.
If you are running the diatonic chord identification exercise, you can select the scale and key signature using the menu buttons at the bottom of the screen (here major and C). These buttons are grayed out in the other exercises.
For any form of chordal identification including figured bass,
you have the option of expanding the triad or seventh across two
octaves by ticking the complex chord box at the bottom. For
example the chord C-E-G may be expanded as:
For triads, the bass note is repeated two octaves higher, the other chordal tones can take other octave positions. I suggest you initially try this option in visual mode to see this effect. There are four configurations for expanding the chord, which are selected at random. In order for this exercise to work well, the range of notes for the bass should lie in the bass octave or somewhat lower using the highest pitch and lowest pitch sliders.
Learning to distinguish chords (especially in harmonic mode) is quite difficult. If you are having trouble, I suggest you limit the pitch range and stay in the higher registers. Furthermore, you should work with only two chords (e.g. major and minor). The menu button labeled select lesson allows you to chose one of the levels. If none of the choices is suitable, then you can make your own lesson by selecting the item your own. A list of all the chords built in will displayed; tick the ones you want.
For your reference, here is a description of the chords and sevenths.
|maj||major||1 3 5|
|majinv1||major 1st inversion||3 5 1|
|majinv2||major 2nd inversion||5 3 1|
|min||minor||1 b3 5|
|mininv1||minor 1st inversion||b3 5 1|
|mininv2||minor 2nd inversion||5 1 b3|
|aug||augmented||1 3 #5|
|auginv1||augmented 1st inversion||3 #5 1|
|auginv2||augmented 2nd inversion||#5 1 3|
|dim||diminished||1 b3 b5|
|diminv1||diminished 1st inversion||b3 b5 1|
|diminv2||diminished 2nd inversion||b5 1 b3|
|majmin||dominant 7||1 3 5 b7|
|majmininv1||dominant 7 1st inversion||3 5 b7 1|
|majmininv2||dominant 7 2nd inversion||5 b7 1 3|
|majmininv3||dominant 7 3rd inversion||b7 1 3 5|
|maj7||major 7||1 3 5 7|
|maj7inv1||major 7 1st inversion||3 5 7 1|
|maj7inv2||major 7 2nd inversion||5 7 1 3|
|maj7inv3||major 7 3rd inversion||7 1 3 5|
|min7||minor 7||1 b3 5 b7|
|min7inv1||minor 7 1st inversion||b3 5 b7 1|
|min7inv2||minor 7 2nd inversion||5 b7 1 b3|
|min7inv3||minor 7 3rd inversion||b7 1 b3 5|
|halfdim7||half diminished 7||1 b3 b5 b7|
|halfdim7inv1||half diminished 7 1st inversion||b3 b5 b7 1|
|halfdim7inv2||half diminished 7 2nd inversion||b7 1 b3 b5|
|halfdim7inv3||half diminished 7 3rd inversion||b7 1 b3 b5|
|dim7||diminished 7||1 b3 b5 bb7|
|dim7inv1||diminished 7 1st inversion||b3 b5 bb7 1|
|dim7inv2||diminished 7 2nd inversion||b5 bb7 1 b3|
|dim7inv3||diminished 7 3rd inversion||bb7 1 b3 b5|
When running the chord identification in aural mode, certain chords are disabled due to their inherent ambiguity. For example C E G# -- C augmented, C E Ab -- Ab augmented 1st inversion, and B# E G# -- E augmented 2nd inversion all sound the same.
There are many ways of doing the singing exercises. First configure the lowest and highest pitch to be inside your singing range. If you set the range to include several pitches, then each time you press new you should try to sing a note which is a fixed interval above or below this note. Singing below seems to be more difficult. (It helps to keep some tunes in your head. For example to get a descending major 2nd interval, think of the first two notes in the nursery rhyme "Three Blind Mice") Next try to sing several intervals below or above the note.
If this is too hard, you can work with a fixed tonic. Set the pitch range to only one note. Using the select lesson/your own menud button, display all the major or minor intervals up to an octave. Now try to sing random intervals from the tonic while checking your results aurally.
In general, you should work slowly taking your time to sing the interval if necessary. This is something you practice a few minutes every day. You can find quite a lot of advice from various web sites. (Search on solfege or ear training.)
If you select exercise/rhythmic dictation the tksolfege console will now appear like something here. Now if you press new a random rhythm will created consisting of say 4 beats from the rhythm elements shown in the top right frame of the console. The program will give you a count of 4 beats and then play this rhythm. Your object is to write out the rhythm using these four rhythm elements. To save you the trouble of using a paper and pencil, you can click on these four buttons, and your preliminary guess will appear like this.
At any time you can press repeat to hear the same pattern again. You can make corrections by clicking on any of your choices with your mouse pointer. This will place an edit window on this selection.
Now pressing any rhythm element button will substitute a new rhythm element at that location. When you finish, you should click on the same item to deselect it.
Pressing the answer button will show the correct pattern as illustrated below.
The number of correct beats will also be indicated. Once you have learned to manage with these simple patterns, you are ready to advance to other levels. Press the lesson button and choose one of the lessons. There are various levels and some of them get very hard. In order to handle tied notes some of the rhythm elements contain two beats.
There is another set of eight levels in compound meter, which you can assess by pressing lesson/compound rhythm. For compound rhythm, the beat is now based on a dotted quarter note. You should train yourself to handle both duple and compound meters. At the present time, the stats button has not been implemented for rhythmic dictation.
At some point you will need to customize the lesson, by clicking lesson/your own. A selection of rhythm elements as shown below will be displayed.
Tick the checkboxes of the rhythms that you wish to use and the selected rhythm buttons should appear at the top of the console. If you are having difficulty with particular rhythm patterns, I recommend that you restrict the rhythm elements to those few patterns.
|Tksolfege keeps track of your performance on the rhythm exercise. If you click the stats button the following window should pop up on the screen.|
The time signature, tempo, the MIDI instruments and
loudness are all configurable. Press the config button
and the following window should appear. If you specify more
than one beat per bar, tksolfege will apply an accent to the first
note of the first beat of the bar. (A weaker accent is applied
to the third beat if 4 beats per bar is selected.) The
accent makes that note louder by double (or single) the value
specified in the scale selector assuming there is room to
maneuver. Since the maximum loudness level allowable is 100,
the loudness + 2*accent should be less than 100 in order
for this to be effective. The number of beats
that may occur in a trial is limited to 18, so the number
of allowable measures depends on the number of beats per
This is based on the "moveable doh" system where doh represents the tonic for the particular key signature. A short random melody consisting of a few notes is played and the first note of the piece is indicated using the do/re/mi... vocalizations in the first button of a series of unlabeled buttons. Using the buttons displayed in the above row(s), assign pitch values to the unlabeled buttons corresponding to the notes in the melody. Once you have labeled all the buttons, you can correct any mistakes by pressing the button you wish to edit. The color will change to blue to indicate that it has been selected and pressing any of the upper row buttons will change its designation. You can deselect the modified button by pressing it again or selecting a different button.
The new, repeat and answer buttons behave as usual.
Once you have finalized your designations, press the submit button. The incorrect labels will be highlighted in red.
The configuration menu allows you to select the number of notes in the short melody. The tonic pitch (assuming a major scale) can also be adjusted. 60 is middle C and it goes up or down in semitones. Ticking the small intervals checkbox causes the program to limit melodic intervals to 2 or less adjacent notes in the scale selected, when the program generates a new random sequence.
The MIDI pitch specifies the pitch of the tonic of the major scale.
The lesson menu button provides a choice of 10 lessons of increasing difficulty. If you select your own, the following window
allows you to customize the scale for your own application. Lower and higher octave vocalizations are indicated with either a comma or apostrophe respectively.
Like rhythm dictation, solfege dictation also keeps track of your score. This is accessed using the stats button. The program considers all enharmonic notes as equivalent.
To hear the first note again, press repeat To hear the answer you press the answer button. The program does not have ears, so you must use your own judgement on whether you sang the sequence correctly.
The MIDI pitch parameter in the config window allows you to control
the key signature and octave. The scale used is specified by the
lesson menu button. For example, in lesson level 1,
the scale is restricted to do, re, me . If MIDI pitch 60
(middle C) was chosen, the scale would be C,D, and E. If MIDI pitch
65 (F above middle C), then the scale would be F,G, and A. The
program automatically displays the key signature of the major
scale associated with this pitch. If clef control is
set to automatic the program will choose either the bass
clef or the treble clef based on the value of MIDI pitch. You
can override this choice by specifying a particular clef.
The transpose slider allows you to transpose the audio output
by the specified number of semitones. This allows you to practice
with different key signatures and clefs even though it may be out
of the range of your voice.
If you are having difficulty sight singing these random patterns, you should probably practice singing these regular patterns in order to learn the intervals. You can select one of these patterns using the patternselector. The pattern codes are defined as follows.
Note that these patterns are effected by the notes selected in the lesson menu, and other parameters in the configuration window.
This is another theory exercise. The program displays the clef
with the standard configuration of sharps or flats. Your goal
is to identify the key signature. Click new to start,
and then click the button corresponding to the key signature.
You can adjust the maximum number of flats and sharps by clicking
on the lesson button. The stats indicates how
you are doing. If you wish to concentrate on particular key
signatures you can select the lesson / your own menu
button. The exercise can be configured to use other clefs
or scale modes. Click the config menu button and select
one of the clefs or modes in the configuration window using the
menu buttons on the right.
|The program plays the sequence of notes of one of the musical scales. Your goal is to name the type of scale. In the visual mode, the program lists the sequence of musical intervals in semitone units. For example, the sequence for the major scale is 2212221. There is a choice of 20 different scales that you can select using the lesson menu item. You can play the scales in either ascending or descending mode; however, the descending melodic minor scale is not played as customary so it can be distinguished from the natural minor scale.|
For your reference here are the sequences of intervals for the various scales.
|ionion/major||2 2 1 2 2 2 1||dorian||2 1 2 2 2 1 2|
|phrygian||1 2 2 2 1 2 2||lydian||2 2 2 1 2 2 1|
|mixolydian||2 2 1 2 2 1 2||aeolian||2 1 2 2 1 2 2|
|locrian||1 2 2 1 2 2 2||harmonic minor||2 1 2 2 1 3 1|
|natural minor||2 1 2 2 1 2 2||melodic minor||2 1 2 2 2 2 1|
|blues||3 2 1 1 3 2||bebop||2 2 1 2 1 1 2 1|
|hungarian||3 1 2 1 2 1 2||whole tone||2 2 2 2 2 2|
|major pentatonic||2 2 3 2 3||suspended pentatonic||2 3 2 3 2|
|man gong||3 2 3 2 2||ritusen||2 3 2 2 3|
|minor pentatonic||3 2 2 3 2||neapolitan||1 2 2 2 2 2 1|
A cadence is a progression of chords which ends a musical phrase. They are classified into at least five types (see Wikipedia - musical cadence ). For each test, the program chooses a random root for the musical scale, plays the scale and then the cadence. By default, the major scale is always selected but you may change it to the minor or dorian by going to the lesson menu. You should configure the program to play the cadence in harmonic mode (rather than melodic), though this option is available for debugging purposes. This exercise is still experimental and I entertain any suggestions for improvements.
The exercise is designed for developing the skill of transcribing
drum sequences. The program picks one of many drum sequences encoded
in one of the files in the drumseq folder which comes with the
application and plays the sequence several times. You can use
the repeat button to play the sequence again and adjust the
tempo using the faster and slower buttons. You can
stop the drum sequence by clicking the mouse pointer below the
lattice of blue rectangles on the right side of the window.
Right clicking will restart the sequence.
The lattice of blue rectangles shown on the left
is used to represent the sequence. Clicking on one of
the blue rectangles will flip it from dark
blue to light blue (or vice versa) and play a strike of the
particular percussion instrument. Your goal is to find the
configuration which matches the sequence you heard.
The test button allows you to audition the particular configuration that you have chosen. Clicking the answer button, will mark the actual configuration and tell you what fraction of strikes you have identified correctly.
Once you are finished with this sequence, click the new button to try another sequence.
The program comes with about 20 drum sequences in the drumseq
folder. You can add your own sequences using the included files
as an example. The parameter dirdrumseq in the tksolfege.ini
file specifies the name and path to this folder. A list of
the built-in sequences is displayed when you push the config
Clicking on any one of these file names will test you with that particular file.
The set of drum sequences were derived from actual MIDI files
and may be quite challenging. For example, it is not uncommon
for an open hi-hat to strike at the same time as the Bass Drum.
Beginners, may prefer to generate random drum sequences and
configure the complexity by controlling the number of drums,
strikes and the beats. To get to this mode, go to the lesson
menu button and select randomly generated instead of
from file. Now press the config button and a
window similar to below will be exposed.
The items bar structure, number of drums, and drum arrangement are all menus which adjust how the random drum sequence is created and displayed. You can change the drum arrangement while the program is playing the sequence and you will hear the change immediately. The number of repeats refers to the number of times the sequence is played when you click on the new or repeat button.
The drum sequence generator tends to place a strike at the beginning of the first beat. The generator also favours the beginning of a beat to somewhere in the middle of the beat. Drum strikes do not occur at the same time. If the number of drum strikes is greater ore equal than the number of available slots, the program will automatically reduce it. Adjust these parameters to match your abilities or to provide a challenge. As usual, you can adjust the speed that the sequence is played.
If there is a particular rhythm that you like, can you save the sequence as a drum formatted file by typing S (upper case) on your keyboard. The program will allow you to browse your file system to find a suitable place to save the file. Enter the file name and be sure it has a drum extension.
The graphical user interface has been translated into Portuguese thanks
to Hudson Lacerda at Escola de Música da UEMG - Universidade do Estado
de Minas Gerais (in Brazil). To use this interface, edit
the tksolfege.ini file and change the line
The next time Tksolfege is invoked it will look for the file lang_ptBR.tcl in the folder named language. This folder should be put in the same place that tksolfege is located.
|minor 2nd||A Hard Days Night||Fur Elise|
|major 2nd||Silent Night||Mary Had a Little Lamb|
|minor 3rd||Greensleeves||Star Spangled Banner|
|major 3rd||When the Saints||Summer Time|
|perfect 4th||Here Comes the Bride||Oh Come All You Faithfull|
|tritone||Am I Evil|
|perfect 5th||Twinkle Twinkle Little Star||Flint Stones theme|
|minor 6th||Go Down Moses||Please Don't Talk About Me|
|major 6th||My Bonnie Lies||Over There|
|minor 7th||Somewhere||American in Paris|
|major 7th||Fantasy Island Theme|
|octave||Somewhere over the Rainbow||Willow Weep for Me|
If the same program is used by many students, the program should always start from a standard state rather than revert to its state the last time it was executed. Setting the variable lockconfig to a value greater than 0 will prevent the program from overwriting the tksolfege.ini file (i.e. storing the current state when the program exits).
The program uses a random number generator to pose questions for the student. Each time the program is started the random number generator is initialized with a new seed which is determined from the current date and time. When the program is used for evaluating the student, it would be desirable to be able to use the same sequence of questions. This can be done by setting the variable repeatability to a value greater than 0. When tksolfege is restarted an additional line of widgets will appear on the control window as illustrated below.
The random seed is represented by a 4 letter alphanumeric, here Ecur. (Each letter can get either a number 0-9, or a case sensitive letter A-Z or a-z). You can enter any seed in the entry box and then press the enter key on your keyboard. Alternatively, you can click the random button and a new seed will be chosen. To run the program in a repeatable mode, you should click the reset button before clicking the new button.
For operating systems other than Windows, it is necessary to specify a soundfont file. Otherwise you should enter "none" (without the double quotes). The program searches for the soundfont file in the current folder.
If the variable makelog to 1, tksolfege will create a log file called tksolfege.log of the questions and your responses. This may help you figure out where you are having problems. Presently the log has only been implemented for the chord and interval exercises. A sample log for chord identification is shown here.
E5-dim 7 aug 11 dim E4-aug 6 dim 11 min 18 aug G#3-dim 9 dim G3-min 3 min A#5-dimThe unindented entries are the chord played and the indented entries are the user's response. For example, the first chord is Edim with root E5. It took two tries to get the right answer. The first try 'aug' was made 7 seconds after the chord was first played. The second try 'dim' was made 4 seconds, later or 11 seconds after the chord was first played.
The next sample is for the chord exercise.
C4-perfect5 2 perfect5 G#3-major3rd 1 major3rd A4-major3rd 2 major3rd G3-major3rd 2 major3rd E5-perfect5 3 perfect5 A3-perfect5The first question is a perfect5 starting from C4. The user got the correct answer withen 2 seconds.