Compiling Tony¶
Warning: Not all that easy
At the moment you need to compile three separate parts in order to have a working installation of Tony:
- The Tony application itself
- The pYIN Vamp plugin used for general pitch and note estimation
- The CHP Vamp plugin used for detailed pitch analysis
The source code for the plugins is all included in the source package for Tony, in subdirectories called pyin
and chp
respectively, so you only need to download the one package. But after you've downloaded it, you need to compile and install the plugins separately from the main Tony application. We do intend to change this but that's how it is at the moment I'm afraid!
On Linux¶
Tony depends on a lot of additional packages, including Qt (either Qt4 or Qt5), the Vamp plugin SDK, Rubber Band, libsamplerate, libsndfile, libmad, libid3tag, Serd and Sord, liboggz, libfishsound, FFTW3, JACK, and PulseAudio. The configure script should test for these.
- Download the source code package from the download page, or check out the Mercurial repository.
- Run
./configure
and (if that succeeds) runmake
. - For each of the
pyin
andchp
subdirectories:cd
to that directory- run
make -f Makefile.linux64
- if that succeeds, install the compiled plugin by copying
*.so
to the directory$HOME/vamp/
(create this directory first if it doesn't exist).
You should be able to run ./tony
in the main Tony directory now.
On Windows¶
Compiling from the source package is very hard on Windows because it has so many library dependencies. But if you check out the source from "the Mercurial repository"/projects/tony/repository, most of the dependencies will be checked out for you as subrepositories. So I recommend doing that.
Development of Tony happens in the default branch, so if you want to be sure you have a stable version (without developer churn going on) you should update to the most recent tagged release in the repository.
To build, you will need the Qt5 SDK with Qt Creator IDE. When installing Qt5, make sure you have the MinGW compiler toolset selected (either as well as the Visual C++ one or instead of it).
- Start Qt Creator and open the project
tony.pro
from the main Tony directory. - Configure the project to use Qt5 Desktop with MinGW, in release mode, and disable the Shadow Build option.
- Copy the file
version.h.in
toversion.h
and edit it to replace the text@PACKAGE_VERSION
@ with the appropriate version (this part really shouldn't be necessary -- sorry!) - Build the project
If that succeeds, you will need to build the plugins:
- In Qt creator, open the project
pyin/win32-build/pyin.pro
- Configure the project to use Qt5 Desktop with MinGW, in release mode, and disable the Shadow Build option. (The plugins don't actually use Qt at all, we're just using a Qt project file to enable a build with Qt Creator.)
- Build the project
- Install the plugin by copying
win32-build/release/pyin.dll
to the Vamp plugin directory. - Repeat for the
chp
plugin.