Songwrite 3 is a music score and songbook editor. This software is especially designed for musicians who do not master solfege (like me!) and to Linuxian musicians. Songwrite 3 can edit staffs, but also tablatures (for guitar, bass, banjo, lyre, diatonic accordion,...) and flute fingerings (for tin whistle, recorder,...); it also manages lyrics. Songwrite 3 can play and print the partitions.

Songwrite 3 is a free software (libre software) written in Python. It is available under GNU GPL. It requires:

To install Songwrite 3 under Linux:

  • Install Python3, pip and PyQt5 from your Linux distribution.

  • Type the following command in a terminal (as the root user):

pip3 install songwrite3

Songwrite 3 0.1


Songwrite 3 0.1 is out ! This version is a full rewrite with Python 3 and Qt. Enjoy!

It is available on PyPI (Python Package Index) and can be installed under Linux with pip:

pip3 install songwrite3

Before that, do not forget to install Python3, pip and PyQt5 from your Linux distribution.

Songwrite 2 0.4


Songwrite 2 0.4 is out ! This major version adds supports for diatonic accordion tablature and chords. Additionally, repeat symbols have been (greatly) improved, and a new starting screen has been added. And many bugs have been fixed. Enjoy!

Songwrite 2 0.3

Songwrite 2 0.3 is out ! This major version proposes an improved interface, more usable on small screens, and adds many functionalities including appoggiatura, harmonics, F keys on staff, strumming direction, rests,... It also supports Koyabu board, ukulele, and lyre tablatures (my new instrument, although I'll probably be the only one to use them :-)). It requires EditObj 2 0.3.

There are also many bugfixes, and the licence is now GPL v3 (instead of v2).

Here is the full change log:

  • Touchscreen support

  • Lyre, Koyabu board and Ukulele support

  • Support for F key, appoggiatura, harmonics, strumming direction and rests

  • Smarter copy-paste (autochoose between by string / by note pitch more accurately)

  • Name sharp and bemol notes adequately, depending of the tonality

  • Add a window's icon

  • Fontsize options for screen and printing

  • Interval identification: select 2 notes and Songwrite display the corresponding interval in the title bar!

  • Licence changed to GPL v3


  • Lyrics not placed at the bottom were bugged in PS/PDF export/printing

  • Printing tabs with staffs was sometime causing an infinite loop

  • Printing tabs with staffs was not showing # and b rightly on the staff

  • After playing, select the previously selected notes

  • When reducing the length of ALL bars, the newly created bars at the end now use the lew length

  • Take capo into account when playing

  • Can play hammer / pull / legato / slide with no limit of amplitude

  • Fix g8 staff

  • Fix capo

Songwrite 2 0.2.1

Songwrite 2 0.2.1 is out ! It fixes many bugs of version 0.2. It is also possible to run it on Qtopia, e.g. on a Zaurus ! This version requires EditObj 2 0.2.1.

Here is the change log :

  • Qt / Qtopia support (tested on Sharp Zaurus)

  • When selecting a note, take the current duration into account in a smarter way

  • Allow to hide the edition panel


  • Fix songref in songbook edition dialog box

  • Fix default filename when exporting

  • Fix filename filter bug in import / export

  • Fix legato in ABC importer

  • Fix dot in ABC importer

  • Fix playlist analysis in ABC importer

  • Fix partial bars in ABC importer

  • Fix hammer/pull update when the second note is modified

  • Fix zoom when editing a new song

  • Fix quarter tripplets

  • Fix Texttab importer and exporter (string tuning was messing around, thanks Adrian Quark)

  • Fix launching from source directory (thanks Slawek)

Songwrite 2 0.2 : Tin whistle release

Songwrite 2 0.2 is out !

It adds support for flute fingering notations (i.e. small schema showing which holes should be covered in the flute, see the screenshot section) for tin whistle and recorder. It also support 6/8 and jig rhythms and can import file in the ABC format, two useful features for Irish music.

Finally, it also provides a new PDF exporter, which is now independent from Lilypond (Consequently, Lilypond is no longer a requirement for Songwrite 2). Lilypond is no longer used for PDF export, because it has poor support for non-staff notations (like tablature or fingering), and because incompatibilities are frequent between two version of Lilypond.

Songwrite 2 0.2 requires the lastest version of EditObj2 (0.2).

Songwrite 2 0.1.2

Songwrite 2 0.1.2 fixes a few bugs that were remaining in 0.1 and 0.1.1, namely :

  • Guitar pro importer was missing

  • Fix copy / paste of notes with alterations on staffs

  • Fix view name translation

  • Fix "AttributeError: 'ObjectPack' object has no attribute 'song'" when selecting notes

  • Fix copy-paste between different windows

You can get it there.

Songwrite 2 0.1

Here is a first stable release of Songwrite 2!

Songwrite 2 is a tablature editor for Linux, written in Python with GTK and Cairo. A tablature is a guitar partition ; Songwrite 2 supports many string instruments in addition to traditional staffs.

With Songwrite 2 you can...

  • ... edit tablatures (guitar, bass, banjo,...) and staff, and add lyrics to write your own songs !

  • ...create your own songbook

  • ... play your partitions

  • ... print your partitions and your songs

  • ...convert automatically staffs to tablatures and tablatures to staffs

  • ...export your songs into many formats (PDF, Midi, ASCII tablatures, GNU Lilypond, LaTeX, PostScript,...)

  • ... import Guitar Pro 3 / 4 file (experimental)

Songwrite 2 is a complete rewrite of Songwrite 1 with :

  • A new interface based on Gtk 2 and Cairo, with anti-aliasing

  • A new staff rendering engine, now handling tonality and alteration correctly

  • A new plugin system

  • A new documentation

  • Printing support updated for recent version of Lilypond (2.11.20 and above)

Songwrite 2 0.1rc1

This is the very first release of Songwrite 2!

It is a complete rewrite with a new interface based on Gtk 2 and Cairo. Try it immediately!

Towards Songwrite 2 !

Here is a screenshot of an in-development version of Songwrite 2. The interface is totally rewritten.

Technically speaking, it uses GTK2 and Cairo, along with EditObj 2 (an improved version of EditObj which support GTK in addition to Tk).

Graphically speaking, it features antialiased text and graphics, funny icons, and four edition modes corresponding to the four tabs at the bottom of the window : Song mode, Partition mode, Time mode, and Note mode. The notebook automatically displays the attributes of the selected object(s) (possibly several of them).

Hope to release that soon ;-)