The development of GNU Solfege has moved to Savannah because (main author) is stepping down as the only maintainer of the program. Please contact if you want to take over the job.

Release notes

Solfege uses linux kernel versioning. Even releases (2.4.x, 3.0.x,...) are stable, odd ones (2.9.x, 3.1.x,...) are development snapshots.

This page show the release notes for the stable releases. Release notes for development branches: 3.23, 3.21, 3.19, 3.17, 3.15, 3.13, 3.11, 3.9, 3.5, 3.1, 2.9, 2.3, 2.1

Solfege 3.22.2, October 6, 2013

  • Updated Esperanto, Portugese and Turkish translations to the users manual
  • Updated Spannish and Turkish messages
  • distribute solfege/tests/lesson-files/*
  • help/C/scales/modes.html are never translated. So we must link to the C-locale file in every translation.
  • gettext tweaks to make the test suite work both when run as "" and " test_lessonfile". There is still something wrong because we have to disable the test to run debuild
  • distribute solfege/tests/lib/* and solfege/test/include/*

Solfege 3.22.1, September 16, 2013

  • Adjust some of the short interval names used when selecting intervals to practise: u->P1 4->P4, 5->P5, tt->TT, p11->P11, p12->P12, tt8->d12. Added long name for intervals from Eleventh to Double Octave.
  • Fix the bug where we could not select the Default profile
  • Updated Esperanto, Spannish, Polish, Turkish, Vietnamese, Norwegian bokmål, Brazilian Portugese and Vietnamese translations.

Solfege 3.22.0, May 27th 2013

  • Improvements
    • interval exercises: added larger intervals, up to double octave
    • elembuilder: make the answer buttons insensitive when the user is not supposed to click on them.
    • added the header.statistics_matrices lesson file variable
    • mpd: try to avoid crashing noteheads when displaying two noteheads at the same step, but with different accidentals.
    • the statistics page for each exercise now have a button that let us delete the statistics for the exercise.
    • The --debug option will also show the module name as a tooltip for the link button that starts the exercise.
    • Make the "Guess answer" button be sensitive only when the user have entered an answer.
    • Statistics viewer: added a row to the percentages table showing count and percentage correct for all questions asked in the session, day, week and all-time.
    • The frontpage will show the filename if the app is started with the --debug command line option.
    • idtone exercise: show statistics when the user configure the module himself. And remember the config.
    • We can now place exercise modules written in Python in ~/.solfege/exercises/dirname/modules/
  • New modules:
    • added the toneincontext exercise module
    • added solmisation exercise module. Thanks to Jan Baumgart and Folkwang Universitaet der Kuenste
  • Build fixes:
    • version_info build fix
    • move some code so that running a subset of tests also will create and remove tmp directory
    • make dist: include the files in exercises/regression-lesson-files/share/
    • build fix to avoid problem with too long list of files
    • add INSTALLDIR/exercises/standard/lesson-files to the include() functions search path
  • Bug fixes
    • elembuilder: fix the backspace accel
    • fix bug #237
    • rhythmtapping and rhythmtapping2: rest handling bugfix
    • HarmonicProgressionLabel: set_alignment bugfix.
    • compareintervals: fix "Repeat first" and "Repeat last" sensitivity
    • SolfegeApp: don't sync the statistics database until the last exercise is shut down.
  • Lesson file writing:
    • added import and rimport statement
    • remove all support for file formats that depent on lesson_id. Did not remove the lesson_id variable from lesson files since this would reset the statistics.
    • dataparser will parse to a parsetree that we interpret.
    • lesson file modules: tmp hack to let different lesson file modules have different default values to variables.
  • documentation: the intervals lesson file variable was documented wrongly.
  • Linux -> GNU/Linux search-and-replace
  • 140% line-height in the generated user manual
  • the elembuilder module changed how it stored its statistics. So all elembuilder statistics will be lost. We will save a backup of the statistics database the first time 3.21.2 is run.
  • gu.FlashBar: display extra strings (set by kwargs) in the same font as the rest of the string.
  • Put a deprecation notice in the chord modules gui.
  • small fixes here and there...

Solfege 3.20.8, January 13, 2013

  • Updated Esperanto, Spanish, French, Brazilian Portuguese and Vietnamese translations.
  • Updated Esperanto, French and Brazilian Portuguese translations to the user's manual.

Solfege 3.20.7, November 26, 2012

  • Updated Danish, Czech and Norwegian (bokmål) translations
  • Added Kroatian translation by Tomislav Krznar.
  • Big update to the Persian translation by Ilia Vakili.

Solfege, July 11, 2012

Uploaded a new windows installer since some files where missing in the 3.20.6 build.

Solfege 3.20.6, Juni 5, 2012

Because of an error made with versioning the release candidate, we had to bump the version number to 3.20.6 to avoid adding epochs in debian.

  • Don't mark the "elembuilder" string for translation
  • Updated Czeck and Norwegain (bokmål) translations
  • Added a lesson file with lots of chords in root position.

Solfege 3.20.5 Release candidate 2, May 25, 2012



  • Show percentage correct in the idtone exercise in custom mode.
  • Updated Spanish, Dutch, German, Czeck, Italian and Turkish translations
  • user manual bug fix: document the intervals variable correctly
  • nComboBox will validate the stored data, and handle bad variables.
  • Rework the code that creates intervals for harmonicinterval, melodicinterval and singinterval. Also make the «Lock to key» feature work better and have a gui.

Solfege 3.20.4 October 21, 2011

  • Fix rest handling in the rhythmtapping and rhythmtapping2 modules
  • Bug fix to interval tests: select tones that are within the range of the input widgets. (Closes bug #247)
  • Translation updates
  • Downloading of ALSA modules will download 1.0.24 instead of 1.0.22

Solfege 3.20.3 September 25, 2011

  • Translation updated: French
  • Added Spanish translation of the user manual.
  • User manual spelling fix
  • Added a section in the user manual describing the directory structure of user lessonfiles.
  • Quote all labels in the generated user manual theory images. This fixes lilypond build problems.
  • solfege.desktop: add GenericName
  • Help->User Exercises (F9) will now only display lesson files in USERDATA/.exercises/user/lesson-files since users with lots of files would have performance problems.
  • Add a notice in "User Exercises" that files in ~/lessonfiles have to be moved into USERDATA/.exercises because future releases might not list the files.

Solfege 3.20.2 September 12, 2011

  • Add a gtk.ScrolledWindow to the dialog showing file locations to make sure the dialog is smaller than the screen.
  • minor build fixes
  • mark a few more strings for translation and grammar fixes (by Ruslan Fedyarov)
  • Alt-Left will go to the previous menu while navigating exercises.
  • bug fix: make strings in lesson files that use format strings translatable.
  • "Accordion (Belgian Do 2)" interval input widget.
  • Show alsa sequencers that register as alsaseq.SEQ_PORT_TYPE_APPLICATION
  • Updated translations: French, Spanish, Turkish, Russian, German
  • interval_in_key_min: lesson_heading spelling fix
  • make "90%" the the default value if test_requirement is missing.

Solfege 3.20.1 July 9, 2011

  • automate 0install binary tarball creating and script to update solfege.xml
  • Bugfix to Believe it or not, but we defined minor second as 16/12 and not 16/15.
  • Search bar: decode the strings we get from the gtk.Entry into unicode.
  • Always let the staff lines be as wide as the MusicDisplayer
  • Add "Lock to key" feature. This is an experimental feature. Actual GUI solution may improve later.
  • polish folk songs: Fix singlequoted strings that where written as multiline strings. It works, but it does not mean you should do it. Use triple-quoted strings for multiline strings.
  • simplify and rename to get a more precise name: mpdutils.int_to_notename -> int_to_octave_notename, mpdutils.int_to_user_notename -> int_to_user_octave_notename and simplified mpdutils.notename_to_int
  • String fixes:
    • Python should be capitalized
    • Fix bad english thanks to Ruslan Fedyarov
    • Mark one more string for translation
  • the test target will check for bad spellings for "user manual": "users manual" and "user's manual"
  • Updated Russian, French, Dutch and Polish translations
  • configwindow: handle soundcard.alsa_sequencer.get_connection_list() returning an empty list. I think this fixes bug #234
  • set branch to 3.20 in
  • Removing things from the test: target of since tools/ will do more
  • docbook xml markup bug fixes to help/fr and help/pl
  • remove old gandiserver exception

Solfege 3.20.0 June 16, 2011

The list of changes and fixes are incomplete, but this is as good as it gets.

Improvements and changes:

  • New exercise modules: rhythmdictation and rhythmdictation2
  • New middle layer code in the mpd module. The parser now generates objects from the mpd.elems module. This API is also used by the rhythm editor widget.
  • Initial ALSA sequencer support. Added a tool (available on the Help menu) that downloads and compiles ALSA drivers.
  • identifybpm: play rhythms with the normal mpd API instead of gobject.timeout_add
  • singinterval: select violin or bass clef depending on the pitch of the highest and lowest tone.
  • the config window is built with a gtk.TreeView instead of a gtk.Notebok, and interval input accels are now configurable
  • added some missing interval exercise configurations and reorder the sections making them uniform.
  • Change FlashBar to handle labelobjects
  • 0install package for GNU/Linux
  • Timidity is the default midi player on GNU/Linux.

Bug fixes:

  • front page editor: escape titles and file names in saved files, so that ', " and \ are handled correctly.
  • Fix rnc so that it works with the sharp symbol, and the unicode version of both flat and sharp.
  • Make sure the optimisation for very large front page files are used. This is required for very large files, like the Bach choral package.
  • solfege_c_midimodule: don't link libm unless we also link agains librfftw and libffrw
  • Don't rebuild generated music theory images if skipmanual=yes (bug #222)
  • midifilesynth: filter out duplicate %s in the midi player args. Duplicate %s would make the music play twice.
  • Fix the Rhythm music object class so that it uses the percussion instruments selected in the preferences window, as the user manual say it should.
  • RhythmDictation2Lessonfile: fix it so that it uses the percussion instruments selected in the preferences window.
  • don't crash on unicode BOM in lesson files.
  • bug fixes to the instrument selection code in the preferences window.
  • Use different API querying the screen resolution to avoid segfaul on debian lenny.
  • Make elembuilder handle questions where the answer is only one element. Fixed by Andre Maute
  • statistics: handle the deletion of the tests table correctly.
  • win32: fix importing of old format front page files.
  • Lots of other small fixes.


  • Look in "My documents/GNU Solfege/exercises" for the users front pages files.
  • The windows installer is done with gtk+-bundle now, and it has SVG support now.

Solfege 3.18.8 May 25, 2011

  • fix bug #209. Thanks to Ralf Hain for reporting this.
  • Add 3 missing "second to octave" exercises: compare intervals, both melodic and harmonic, and sing-intervals. Small reorder so some sections, so all interval exercises present the lessons in the same order.
  • sing-intervals: the "Second to octave" exercise had a bug only asking for ascending intervals up to octave, not tenth.
  • mpd.parser: bugfix to relative mode. The following code would have wrong octaves:
\transpose d
\relative c''{
 c d e e'
  • Merge revno 1852: show_exercise_theory fix

Solfege 3.18.7 October 29, 2010

revno: 1678

Solfege 3.18.6 October 24, 2010

revno: 1672

  • win32: strftime did not accept unicode strings causing a traceback when the statistics was shown.
  • validate_stored_statistics: don't try to delete from the 'tests' table, since it should be removed by now. Fixes
  • Show dialog explaining things if the database is locked.
  • frontpage: Escape backslash and apostrophe used in titles.
  • Make elembuilder handle questions where the answer is only one element. Fixed by Andre Maute.

Solfege 3.18.5 October 18, 2010

revno: 1667

  • Use different api to get the screen width and height. This to avoid segfault on debian lenny.
  • Make the install target skip compiling the .py files if nopycompile=YES
  • Change to use htmldoc for generating the PDF version of the user manual. We still have encoding troubles for some languages, but doing it manually with openoffice is too much work.
  • Workaround for the bug where 'None' is stored as the key in singinterval exercises.
  • Updates to the russian translation of the user manual

3.18.4 October 12, 2010

  • Should work with swig 2.0 now.
  • Fix bug in the preferences window code that let us select accels for the idtone exercises.
  • Updated Danish, Russian, Vietnamese and Chinese translations

3.18.2 & 3.18.3, October 9, 2010

  • Fix import error in the preferences window.
  • Updated Italian and Vietnamese translations

3.18.1 October 5, 2010

  • Updated Esperanto, Polish and Italian translation.
  • Don't import when running solfege with the --debug option.
  • Windows sound driver: Fix winmidi.reset so that it will reset the correct dev num. Thanks to Krzysztof Foltman for telling me how to fix this. This fix let us use external midi synths on MS Windows.
  • Give the synth a little time to process program changes by calling an extra note_off. The default is 100ms, but this is configurable from the users solfegerc file.

3.18.0 September 21, 2010 revno 1649

  • Profile manager
  • Preferences window: Add gui to delete statistics.
  • Resize main window when selecting exercises to use the scrollbars less.
  • The statistics page of exercises will show the 10 latest test results.
  • Front page editor: option to search for strings in lesson file titles when selecting lesson files.
  • Export Exercises to Audio Files: add checkbutton that names the generated audio files after the answer of the question.
  • Add missing "Repeat Arpeggio" button to sing-the-fifth
  • Updated Esperanto, Brazilian Portugese, Turkish and Persian translation.
  • Spelling fixes by Ruslan Fedyarov and dougkerns
  • Works with Swig 2.0
  • Bug fix to the statistics table, and documented the statistics tables in the user manual.
  • Lots of minor bug fixes and improvements to the code.


3.16 revno 1570

  • Updated Estonian, Russian and Italian translations.
  • Don't raise string exceptions.
  • Use gtk.gdk.screen_width() to get the screen size, since the way we did it earlier caused segfaults on some systems.
  • Fix the abstract.Gui.std_buttons_ API so that the ''New button'' for interval, idtone and other exercises are insensitive when it should be.


3.16 revno 1564

  • Fix front page editor bug: failed while moving sections
  • cfg.parse_file_info_dict: strip each line to avoid newline problems on win32
  • Revert back to Python 2.5.4 since we want to let CSound use our included python interpreter, and the recommended CSound installer is built for Python 2.5
  • French and Polish translation updates.
  • win32: moved some files around and set the PYTHONHOME environment variable.


3.16 revno 1554

  • Interval.get_cname should return "Tritone" and not "Diminished Fifth"
  • Remove some debugging code that accidentally was left in get_percentage_correct(). This broke the "Identify Tone" exercise.

3.16.1 April 9, 2010

3.16 revno 1552

  • Merge revno:1545: diminished fifth->tritone replace. (But Andre Maute found one more place I missed, so that will be fixed in 3.16.2)
  • Merge revno 1546: Add "Recent Tests"
  • Merge revno 1549: harmonic and melodic interval statistics: fix the matrix table
  • spelling fix to source code download to make it work
  • merge revno 1552: one preferences tooltip text: %%s -> %s Yes, I'm stupid, stupid, stupid...
  • Updated Norwegian, Russion, Turkish, Dutch and Vietnamese messages.

3.16.0 March 31, 2010 revno 1544

New features:

  • Added 'atonal' transposition mode.
  • More harmonic progressions from Ruslan Fedyarov.
  • Added "Compare melodic intervals" exercise
  • Statistics are now stored in a sqlite database instead of lots and lots of small files.
  • New main window where we select exercises without the menu bar. Gui editor that let us edit this.
  • Support LilyPond 2.12 in addition to 2.10
  • Internally we now refer to lesson files by filename and not lesson_id. So lesson_id should not be added to new lesson files. But don't modify old files if you care about loosing your statistics.


  • Require Python 2.5. Module reorg. Enable absolute import in all modules.
  • User generated lesson files have moved from $HOME/lesson-files to $HOME/.solfege/exercises/user/lesson-files. The user manual has doc explaining this change.
  • win32: don't show terminal window when running timidity and friends.

3.14.11 February 8, 2010

revno: 1065

  • IntervalCheckBox had a bug that caused the Major Decim to be missing. Reported by Andre Maute.
  • Decim->Tenth replace. The menu entry has not been changed because this will cause loss of statistics. This is because of a bad design decision: using pythons builtin hash function to calculate the hash value of lesson files. The hash function is not the same on different systems.
  • make default.config rcfile version 16 compatible. Thanks to Krause.Chr for fixing this.

Update: The error message about missing txt2man is not fatal, it will only mean that the man page is missing.

3.14.10 December 17, 2009

revno: 1062

  • Fix bug #149: make keyboard accels work for descending melodic intervals.
  • Fix win32 upgrades from 3.11.1 and earlier
  • right-click on piano/guitar/accordion widget got the direction wrong.
  • rcfile: don't loose xxx_player_options

3.14.9 October 9, 2009

revno: 1058

  • bugfix: install and uninstall when swig is not installed
  • don't loose the interval and csound statistics if upgrading from older releases.

3.14.8 September 29, 2009

  • Simplefied Chinese translation by Fan Rui Ji and ZhengYu
  • Mark a few more strings and the music theory pages for translation.
  • Add harmonics to the csound exercises. Contributed by Tarmo Johannes
  • Some build fixes: handle missing swig and lilypond better
  • Translation updates.
  • Remove more debug print statements that I believe causes "bad filedescriptor" errors

3.14.7 August 9, 2009

  • Rebuild of 3.14.6 with the generated html where it should be. No other changes.

3.14.6 August 7, 2009

  • Add missing "import sys" statement to fix "solfege -h". Reported by Tommi Siivola
  • elembuilder: do not popup a new windows and display the music in it if have_music_displayer=no. Fixed by Tommi Siivola.
  • Added Polish screenshots and updated the Norwegians.
  • Updated Italian translations
  • Simplified Chinese translations for GNU Solfege by Fan Rui and Ji ZhengYu

3.14.5 June 29, 2009

  • Unicode error during build fixed by using the codecs module to load learning trees.
  • Updated fr, nl, pt_BR and tr messages.
  • Updated fr and pt_BR user manual translation.

3.14.4 June 9, 2009

  • Fix broken link to the related music theory. It was broken in some exercises.
  • ConflictResolveDialog: set use_underline to False so that filenames containing a underscore ('_') are displayed correctly.
  • Update src/ to check that we have at least Python 2.4 and PyGTK 2.12
  • Updated Danish, Polish, Brazilian Portugues and Russion translations.

3.14.3 April 27, 2009

  • Don't print debug statements, since we get IOErrors because of it when the stdout buffer is full on win32
  • bugfix: the small buttons representing parts of the dictation where all playing the whole music.
  • Updated Russian and Finnish translation.

3.14.2 April 11, 2009

3.14.1 March 31, 2009

  • Updated italian, dutch and turkish translations.

3.14.0 March 13, 2009

  • We now require Python 2.4, Gtk+ 2.14 and pygtk 2.14
  • Improved preferences window 'Instruments' tab layout. Be more consistent.
  • Better handling of external programs (CSound, MMA and lilypond-book), especially on win32. Now spaces in folder names are handled correctly, and the error message you get if the program is not found give better info. And the preferences window will check of binaries are found while you enter the path to the program.
  • Misc bug fixes, including bug:110, bug:111, bug:112. Idtone will now display translated notenames.

3.12.2 February 23 2009

  • Added Galician translation.
  • Updated french and vietnamese translation.

3.12.1 January 18 2009

  • Some updated translations
  • Fix bug # 110
  • Fix bug # 111
  • Windows installer fixes, so that upgrading from 3.10 or 3.8 to 3.12 works

3.12.0 November 8 2008

(List of changes are not complete yet)

  • CSound support.
  • MMA support.
  • New lesson file functions: load, rnc, chordname
  • Allow length modifiers in chord. Contributed by Noam Raphael.
  • Allow lesson names with apostrophe. Contributed by Noam Raphael.
  • Added option in the preferences window to use a web browser for reading the user manual.
  • win32: store user created learning trees in user_data(), not app_data(). Move file from old to new location at startup.
  • The '''File->Learning tree''' submenu is recreated when activated, so new learning trees will show up without restarting the program.
  • added gst-launch as a predefined program for playing mediafiles. New users will by default use gst-launch
  • learning_tree_editor: add button to delete learning tree
  • Added a few solfa syllable exercises.
  • Insert our share/solfege and lib/solfege to the beginning of sys.path to avoid problems with python-mpd

3.10.4 May 1, 2008

  • Bugfix: allow us to run more than one singinterval test before restarting the program.
  • Allow apostrophe in lesson names. Contributed by Noam Raphael.
  • create_practise_and_test_menu: Remove old Actions before adding them again. This to avoid gtk-warnings. Add an integer value to all Action names, so that we can guarantee that the Action names are unique.
  • Updated Vietnamese and Italian translations from the translation project.
  • Singinterval: key mouse-insensitive bug workaround

3.10.3 March 17, 2008

  • dont run "make update-help-C-pot"
  • one less manual step to build the installer: call
  • Removed 3 unused makefile targets
  • encode the copyright notice shown with --version and --warranty
  • "make dist" will run the tests in
  • label string spelling fix, and QSTATUS_SOLVED bugfix to src/
  • bugfix: fix the 3 most difficult csound exercises, they where unusable
  • Added an envelope to the CSound instrument used by the intonation exercises to give the tone an attach and release time.
  • csound-fifth-0.9xxx lesson files are now generated by the script.
  • Do not display python warning about Python C API version mismatch in the traceback window. We get too many SITS-Incoming reports about it, and for most people everything works ok anyway.
  • Check that user/lowest_pitch and user/highest_pitch is valid notenames at startup.
  • Updated translations from the Translation Project:
    • French by Patrick Ficheux
    • Italian by Marco Colombo
    • Vietnamese by Clythie Siddall
    • po-update will create po/solfege.pot and merge with po/*.po
    • manual-po-update will create help/C/solfege.pot and merge with help/*/*.po

3.10.2 February 9, 2008

  • Updated italian translation from Marco Colombo
  • Updated vietnamese translation from Clytie Siddall
  • Added tests that automatically check for new translations from the Translation Project when I try to make a release.
  • Some cleanup the the makefile rules that build the users manual.

3.10.1 February 5, 2008

  • Changed license to GPLv3
  • Fix the code that reports if the midi module is missing.
  • User manual: Fix figure 3.12 text: name the interval correctly
  • Raise ExecutableDoesNotExist if we have an empty MIDI player

build system:

  • permanent fix to the problem getting too long command line.

3.10.0 February 3 2008.

A few highlights. Read [[Solfege/ReleaseNotes-3-9]] for more details.

  • Ear training test printout
  • win32: save in My Documents and App data. Fixes [[SITS.00140]].
  • Ogg Vorbis and MP3 support.
  • Added the "Hear tones" exercises
  • Changed the way we select the language on ms windows because there was problems getting stock messages translated on some combinations of python and pygtk. Also, running the old way, it was a little random on my pc how it worked. Now we write to a GNU Solfegelangenviron.bat file that is called by the startup bat file.
  • Be more lilypond compatible by require dotted rests and notes to be written with the integer telling the length. So write c4. and not c. and r8.. and not r... The plan is to be even more lilypond compatible in the next devel series, when we find a ok upgrade path.
  • Improved error messages for people writing their own lesson files.

Bug fix:

3.8.2 July 18, 2007

  • Vietnamese translations by Clytie Siddall
  • Updates to the french translation by Patrick Ficheux
  • Bugfix to the lesson file header parser, so that whitespace is optional after header, making "header{" work as expected.

3.8.1 June 18 2007 -r 408

  • Bugfix: work with pygtk 2.6, not only 2.8 and newer
  • Make the Escape button to close the export dialog and the dialog asking if you want to save work.
  • Merge tweak from
  • Fix for stupid bug. The ask_for_names_changed method would be set to None. Fix this. Didn't see this bug before because only expert mode would trigger this. This fixes
  • MusicDisplaye rat import fix.
  • Added a few Norwegian translation.

3.8.0 May 10 2007

The most user visible changes compared to 3.6.6:

  • added the rhythmtapping and rhythmtapping2 modules.
  • menu reorganisation
  • export training set feature
  • better error messages if you try to write lesson files.

For more details, please see [[ReleaseNotes-3-7]] or the changelog file.

3.6.6 May 10 2007

Arch revision:

  • french clef bugfix
  • learning tree edit window bugfix.

3.6.5 February 14, 2007

Arch revision:

  • make osutils.run_external_program work in MS Windows
  • Handle empty string as .wav or .midi file player
  • Unicode fixes for dataparser, lessonfile and HarmonicProgressionLabel
  • Updated de.po from Marc Schettke
  • fr.po: updates by Patrick Ficheux
  • added pt_BR translations by Elias Dorneles da Silveira Junior
  • help/Makefile bugfix and updated help/README
  • singinterval: no double accidentals
  • make click on web links in the help browser work again.

3.6.4 December 8, 2006

Arch revision:

  • Bugfix: Correct set of intervals in the "Second to octave" of melodic intervals going down. (patch-22)
  • Learning tree editor: know about debugtree.txt if --debug is used. (patch-23)
  • preferences window select sound widget bug fix. (patch-24)
  • Bugfix: Swap lower and upper instrument if selecting different instruments for the top, the middle and the lowest tone of chords and harmonic intervals. (patch-25)
  • Define the source code encoding in a few files. (patch-26, -27 and -28)
  • Use format string mapping key to make translations better. (patch-29, -31, -32, -34)
  • Added a test to check for bad format string mapping keys. (patch-33)
  • Debian package: handle upgrade from broken 3.0.6-1 (patch-35)
  • melodicinterval: bugfix to test results (patch-36)

3.6.3 October 17, 2006

Arch revision:

  • Added small section about learning trees to the user manual
  • create .solfege/learningtrees if it does not exist. Bug found by Davide Bonetti.
  • Ask if we should save the current learning tree before creating a new.
  • More updates to it.po from Davide Bonetti.

3.6.2 October 15, 2006

Arch revision:

  • Learning tree editor improvements:
    • Do not allow duplicate menu names.
    • Allow to change learning tree in the editor window.
    • Added "New" button
    • Show a message if we try to edit a write protected tree

3.6.1 October 10, 2006

Arch revision:

  • Add missing music displayer to one scale exercise (sc-maj)
  • Updated italian translation from Davide Bonetti.
  • Even more new scale exercises from Davide Bonetti.
  • Move lesson file includes to lesson-files/include and search the files for strings to translate.
  • Add music displayer to the harmonic progression exercises, and removed one of them because.
  • Fix rounding error in auto_new_question timing. Reported by Iain Duncan.
  • Lessonfiles should take the arpeggio tempo from the rc file. Reported by Iain Duncan.
  • This release included some experimental code for the setup of translated messages on MS Windows. The code don't work as expected, so it will not be reverted in later releases.

3.6.0 October 2, 2006

Arch revision:

Major changes since 3.4.2:

  • We now require pygtk 2.6.0 or newer.
  • Added the elembuilder module that is used for harmonic progression dictation, but can be used to many different things.
  • LOTS of new scale exercises from Davide Bonetti.
  • Bug fixes and minor tweaks. Details can be viewed in the 3.5.x release notes and in the ChangeLog file included in the source tarball.

Changes since 3.5.2:

  • nameinterval: There is no thing as a diminished unison. (Mark Veltzer)
  • Adjusted a menu label and updated all .po files
  • Translation updates to no.po
  • Theory-link in nameinterval exercises + filemenu theory link fix + fix missing images in interval docemantation on ms win.
  • get_home_dir() always return unicode.
  • small cleanup in the localisation code to fix a problem with the turkish locale when running python2.4. If the alternate solfege-3.6.0.test1 release works for everybody, then the code will be fixed more for solfege 3.6.1.
  • include used to build in ms windows.

3.4.2 August 14, 2006

Arch revision:

Bug fixes from the development branch

  • fix random_transpose=yes...
  • learningtree editor fix

3.4.1 July 26, 2006

Arch revision:

  • rhythm: save statistics and upstate statistics page on ex_start
  • Fix add lesson learning tree editor bug
  • Added lessons to practise intervals from second to octave
  • Added missing tests from 2 harmonic interval exercises

3.4.0 June 29, 2006

Arch revision:

The new stable release 3.4.0 adds the following compared to solfege 3.2.0:

  • A new nameinterval exercise module with exercises.
  • We can have more than one menu with exercises.
  • Fix for that long lasting MS Windows permission bug.

Internal changes:

  • Removed the concept of "lesson collections"
  • Dramatically reduced the size of the distributed file by compressing the screenshots in the user manual.

Notes planned for 3.3.4 that was not released:

  • fix the harmonicprogressiondictation exercise module.
  • Updated cs.po and english spelling fixes from Jiri Pejchal.

3.3.3 Juni 17, 2006

Arch revision:

  • Added descending melodic intervals exercise
  • man pages: Removed some junk and use named chars for @ and (C) sign.
  • make ./ --help to pipe work again.
  • make sure C locale is used when generating the man pages.
  • bugfix: "random_transpose = no" did not work
  • documented lessonfile header var help.
  • misc fixes to the debian packaging. Not ready for upload yet.

3.3.2 Juni 10, 2006

Arch revision:

  • Learning tree editor: make it possible to delete menus.
  • Do not reorder the menubar when saving the learning tree.
  • Rhythm: call the correct constructor
  • Updated po/no.po
  • Display a message box telling that tests are not supported if the user adds a test definition to a lesson file that does not support tests.
  • Compatability fix to work with Make 3.81

3.3.1 June 6, 2006

Arch revision:

  • Fix for that long lasting ms windows permission bug.

3.3.0 June 5, 2006

Arch revision:

This is a development release.

User visible changes.

  • Added the nameinterval exercise and documentation.
  • Ran pngquant on the screenshots to drastically reduce the file sizes.
  • More than one menu with exercises. Updated the learning tree editor.
  • minor bugfixes.

Internal changes:

  • Removed the concept of "lesson collections"
  • i18n module should not use the cfg module.

3.2.2 June 29, 2006

Arch revision:

  • Reduce screenshots size in user manual. Reduce tar.gz file size from 5MB to 1.5MB.
  • Make non-ascii chars in optparser help strings work. Make optparser output to pipe work.
  • 60 updated strings from Olivier Vollmer
  • Fix the file permission bug on MS Windows XP.

3.2.1 May 12, 2006

Arch revision:

  • Correct count-in for the ternary rhythm self config exercise.
  • Bugfix to the code that adds lesson_ids to files.
  • Added music-theory.xml to so it really gets built.
  • updated nl.po, thanks to Dennis van Zoerlandt

3.2.0 March 26, 2006

Arch revision: Major changes since 3.0.7:

  • The user manual is now translatable using .po files. The wiki was unmaintainable.
  • Cairo version of all input widgets.
  • Improved html widget if GtkHtml is not available.
  • French and turkish translation of the user manual.

Changes since 3.1.6

  • When using other input widgets than the buttons interface: adjust the range of tones used to the widget used so that it is possible to answer.
  • GuitarWidget: don't print stack trace if we press the ctrl key.
  • Multiple melodic intervals: display correct directions in the flash bar.
  • Added missing screenhots to the user manual
  • The windows installer will remove all files from the old version when installing.
  • Added the script used to build on ms windows.

2.4.0 April 25, 2005

Arch revision: solfege--main--2.3--patch-137

  • updated fr.po from Etienne Bourrez
  • Include forgotten doc files for windows installer
  • Added french translation of Theory-intervals

Major changes compared to 2.2.2

  • The program has been ported to the gtk+ 2.4 api
  • The user's manual and its translations are maintained in the wiki ([[SolfegeDocs]])
  • Autopackage binary. This is a binary package for GNU/Linux that should be cross-distro. Can also install in the users $HOME directory.

Please see the release notes for the 2.3.x releases for a more detailed list.

2.2.2 March 21, 2005

Arch revision: solfege--main--2.1--patch-51 (but without the changes in patch-49)

  • Rewrite the pygnome test in It was buggy and ugly.

2.2.1 March 20, 2005

Arch revision: solfege--main--2.1--patch-46

  • Marco Colombo found some more strings that was not marked for translation and fixed some bad english.
  • Removed and because they was only junk.
  • Removed menu entry for the unexisting file theory-scales.html.
  • Updated fr.po and it.po.
  • Distribute the .svg icons for lessonfile_editor, but use the generated .png icons when running.
  • The windows build now uses the default gtk+ theme instead of wimp.

2.2.0 February 28, 2005

Arch revision: solfege--main--2.1--patch-35

This is the new stable release.

Changes since 2.1.93:

  • Updates to the italian translation.
  • Fixes header label to idtone statistics.
  • htmlwidget unicode fix. Maybe I got it correct this time :-)
  • utils(parse_url): bugfix

Summary compared to the 2.0 branch

  • Added a framework to use lilypond to write music theory articles. Not much is written yet.
  • Added the ''sing-answer'' exercise.
  • Don't display more than one dialog complaining that sound init failed.
  • Added ''Repeat arpeggio'' button to the ''sing-answer'' exercise.
  • Lesson files can put have_repeat_slowly_button=yes in the header to get a button that does exactly that.
  • Added a lesson file editor. It is not very advanced, and it can only create chord exercises so far.
  • Added tooltips to the toolbar.
  • The icons used in the program are now themable.
  • Renamed /etc/solfege2.0 to /etc/solfege

Lesson files

There are some changes to the lesson file format. Old lesson files does still work, but it is time to update them to the new standard.

You should not use the variable musicformat in the header block. Instead we now specify the music type for each question:

question {
  name = "major"
  music = chord("c e g")
  question {
  name = "minor"
  music = music("\staff{ <c es g> }")

This change was required because then we can write new exercises that contain several music variables with different music format.

The file lessonfiles.html included in the program describes the file format further, including new functions like voice(), rvoice() and wavfile().

2.0.7 February 28,2 2005

  • More tweaking. Maybe I got it rigth this time :-)
  • updated
  • Added one more test function to __main__ block.
  • Install solfege.desktop in $(datadir)/applications
  • Don't show more than one dialog telling that the sound setup failed.
  • Don't display gtk deprecation messages in the traceback window.
  • Updated italian translations from Marco Colombo

2.0.6 September 6, 2004

  • Unicode fix for MS Windows
  • Updated dutch translation
  • Sound setup: Use synth 0 by default.


  • This release should fix the font issues some people had running Solfege on MS Windows. I believe the cause of the problems was the Wimp theme used.
  • Officially require Python 2.3 to run. It seems we have used features available only in Python 2.3 and newer without noticing it. Nobody complained.
  • Updated german translations, thanks to Michael Becker.
  • The easybuild-tarball is even easier. It does not require swig.
  • Bugfix: run_external_program

User comments

Add your own comment