Canorus is a free cross-platform music score editor
Canorus is a free music score editor. It supports note writing, scripting support, import/export of various file formats, MIDI input and output and more! Note that Canorus is still in heavy stage of development and not all the features are implemented yet!
Canorus is free (libre) software, licensed under GNU GPL. This means that the program source code is available to public, anyone is welcome to research how the program works, participate in its development, freely distribute the program and spread the word! Canorus runs on Linux, Windows, MacOSX and others!
The latest version of Qt5, Swig and CMake is preferred. Canorus requires the current "LTS" version 5.6 or later.
Qt5 Build (tested with version 5.6.2 and 5.9.5)
Note that if you use the old way of building canorus you have to disable the local installation of Canorus when calling cmake:
Set it to true to do a test installation for a Release version, f.e.
If you built the development version of Canorus, an install folder is created containing a local installation of Canorus.
To run it, first set the library path to the Qt libraries, f.e. $ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/Qt/5.6/gcc_64/lib
Change into resources folder: $ cd install/share/canorus
Run canorus from the bin folder: $ ../../bin/canorus
You need to run it from here so Canorus finds it's libraries, images etc.
$ make install
One-liner to install build dependencies on Ubuntu 18.04 through 22.04: $ sudo apt install cmake g++ make libqt5webkit5-dev libqt5svg5-dev qtbase5-dev qttools5-dev qtwebengine5-dev libasound2-dev zlib1g-dev
For python scripting support, add: $ sudo apt install python3-dev swig
NOTE: If you had installed the Ubuntu qt5 environment and wish to switch to (newer) Qt we recommend to first uninstall the above dev files (include QtCreator): $ sudo apt purge libqt5webkit5-dev libqt5svg5-dev qtbase5-dev qttools5-dev qtwebengine5-dev
Download the SVN/release version of canorus, go to Canorus root directory and run: $ debian/rules binary
Install the created .deb package.
We distribute binaries compiled with the official Qt 5.6 version. Built on xenial. In the near future we will switch to Qt 5.9 version, built on bionic.
The debian package has a wrapper script canorus-qt.sh for the debian package that includes the libraries.
This uses a different directory for the libraries intentionally to avoid problem with an official installation of Qt 5.6
The second debian binaries expect Qt 5.6 to be installed with the official installer in the /opt/Qt folder, precisely /opt/Qt/5.6/gcc_64/lib.
They also may work with libraries of Qt 5.6 from your Distribution. Avoid using these with later versions (f.e. 5.7/5.8/5.9) of Qt, instead rebuild.
There is an unofficial PPA for Ubuntu containing binaries for current Ubuntu series: https://launchpad.net/~ichthyo/+archive/ubuntu/music
If you get the following error (could be only the last line!):
QT_QMAKE_EXECUTABLE set to qmake version: QTVERSION = Unknown QT_QMAKE_EXECUTABLE = /usr/bin/qmake, please set to path to qmake from qt4. Qt qmake not found!
Then you have to run cmake with the following switch: $ cmake -DQT_QMAKE_EXECUTABLE="/usr/lib/qt4/bin/qmake"
(replace the path to fit your needs).
IMPORTANT: Do not run cmake again before removing the cache files CMakeCache.txt and the directory CMakeFiles!
If you use gcc 4.8.x with Qt < 4.8.5 you will get an error. This can be fixed by editing the header qt4/QtCore/qtconcurrentfilter.h and removing the line that caused the error (the fix Qt Team performed too).
If you use gcc 8.x you may be unable to use python plugins with swig. Reason is an issue that was fixed after release of 3.0.12 that may have not been patched by your distribution.
If you get the error "swig not found" then you have the problem that FindSWIG.cmake does not match your system configuration. On my system swig files are in /usr/share/swig3.x.y, so I needed to create a link to it from swig3.x:
$ ln -s /usr/share/swig3.x.y /usr/share/swig3.x
Replace 3.x.y with the real version f.e. 3.0.8.
If you get the following error: "libpython.a: undefined reference to openpty" your system requires the util library to be included to the Canorus link libaries. To do this edit src/CMakeLists.txt file and search for the line containing TARGET_LINK_LIBRARIES. Add " util" as last library to the line f.e. like this:
TARGET_LINK_LIBRARIES(canorus ${QT_LIBRARIES} ${QT_QTXML_LIBRARY} ${RUBY_LIBRARY} ${PYTHON_LIBRARY} util)
To disable Ruby/Python support even when installed call cmake with these options: $ cmake -DNO_RUBY=1 -DNO_PYTHON=1
I hope that the NO_DEFAULT_PATH options gets added to newer cmake releases :)
Settings are stored in $HOME/.config/Canorus directory under POSIX systems and under Local settings directory in your user profile directory under Microsoft Windows.
See windows/Readme.txt for details about building Canorus under Microsoft Windows.
Check macosx/ directory and run Make.
Canorus is licensed under GPLv3. See COPYING for details. Consult documentation of other libraries in folder lib/ for their respective license.