Songwrite 3


Songwrite 3 est un éditeur de partitions musicales et de livres de chant. Ce logiciel est en particulier destiné aux musiciens qui ne maîtrisent pas le solfège (comme moi !) et aux musiciens Linuxiens. Songwrite 3 peut éditer des portées, mais aussi des tablatures (pour guitare, basse, banjo, lyre, accordéon diatonique…) et des doigtés de flûte (pour flûte irlandaise, flûte à bec,…) ; il gère aussi les paroles des chansons. Songwrite 3 permet de jouer les partitions et de les imprimer.

Songwrite 3 est écrit en Python, et utilise Qt 5, ainsi que EditObj 3. Les tablatures sont jouées par Timidity et l’impression repose sur LaTeX.

Songwrite 3 est un logiciel libre (Free Software), sous license GNU GPL. Vous aurez besoin de :

  • Python
  • EditObj 3
  • Qt5 et PyQt5
  • LaTeX
  • Timidity (ou n’importe quel autre lecteur MIDI)
  • Atril, Evince, ou n’importe quel autre visualisateur PDF

Pour installer Songwrite 3 sous Linux :

  • Installez Python3, pip et PyQt5 à partir de votre distribution Linux.
  • Exécutez la commande suivante en root dans un terminal :
pip3 install songwrite3


Songwrite 3 0.1


Songwrite 3 0.1 est disponible ! Cette nouvelle version est une réécriture complète avec Python 3 et Qt. Amusez-vous bien!

Elle est disponible sur PyPI (Python Package Index) et peut être installée sous Linux avec la commande pip:

pip3 install songwrite3

Avant cela, n’oubliez pas d’installer Python3, pip et PyQt5 à partir de votre distribution Linux.

Songwrite 2 0.4


Songwrite 2 0.4 est disponible ! Cette nouvelle version majeure ajoute le support des tablature d’accordéon diatonique et des accords. De plus, les symboles de répétitions ont été (grandement) améliorés, et un nouvel écran de démarrage permet de choisir le type de partition voulu. Et de nombreux bogues ont été corrigés. Amusez-vous bien!

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

Voici la toute première version de Songwrite 2 !

Il s’agit d’une réécriture complète de Songwrite 1, avec une nouvelle interface en Gtk 2 et Cairo. À essayer de toute urgence !

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 ;-)