2.6.4 Compiling with Visual Studio Express 2008 on Windows XP
These instructions were used to compile Marsyas using the Microsoft
Visual Studio 2008 Express IDE in Windows XP
- Download and install Microsoft Visual C++ Studio Express 2008
from http://www.microsoft.com/express/vc. (you might need
to install Microsoft Silverlight to view the webpage).
- Download and install Microsoft Direct X SDK
These instructions worked with installing Direct X August 2008
- Download and install the CMake 2.6 binary using the Win32
installer from http://www.cmake.org.
- Downlaod and install the Tortoise SVN GUI client from
- The Tortoise client is integrated with Windows so
right clik on your desktop and checkout Marsyas as described
in the basic installation instructions Compiling.
- Launch cmake and specify the source and build directory you want
to use for Marsyas for example c:\marsyas\src and c:\marsyas\build.
Press configure until all the options are grey and then click ok
- Go to the c:\marsyas\build directory where you will
find a Visual Studio project file named marsyas that you can
open with the Visual Studio 9 Express IDE to compile Marsyas.
- The binaries are created in build\bin\Release or build\bin\Debug
depending on which build configuration is used.
The following optional steps can be used to setup Marsyas to be able to
read MP3 files through libMAD an external MPEG audio decoder.
- Download the libMAD library source code
- In the msvc++ folder of the libMAD package there is a
Visual Studio project file. Double-click on that and build the library.
This should generate a debug (or release) folder depending on your
configuration in msvc++ which contains a libmad.lib file.
- Using cmake, set WITH_MAD to ON and click configure.
The CMake configuration of Marsyas needs to determine the location
of the libmad.lib library file and the location of the mad.h include
file. You can either add the corresponding directory to your PATH
or you can manually point the mad_INCLUDE_DIR to the msvc++ folder
directory and mad_LIBRARY to the libmad.lib file generated
earlier. Finally click configure and okay.
The following optional steps can be used to setup the Marsyas python
bindings using SWIG and setup the NumPy,SciPy,Matlplotlib environment in
Windows. It is a great free substitute for MATLAB and integrates very
nicely with Marsyas all in a Python environment.
- Download and install Python 2.5 (IMPORTANT: NumPy and SciPy don't
yet work with the more recent 2.6) from
http://www.python.org/download/. The easiest way is to just use
the .msi installer.
- Download and install numpy superpack for python 2.5 from the sourceforge webpage of numpy
- Download and install SciPy 2.5. Follow the dowload link at
- Download and install ipython from
http://ipython.scipy.org/dist/ which is an enhanced interactive
python interpreter that can add MATLAB like plot capabilities to
- Download and install matplotlib from
http://matplotlib.sourceforge.net/. This adds plot capabilities.
- If everything has worked so far you should be able to run the
examples shown in the matplotlib webpage in your python or ipython
- Now you it is time to install the SWIG python bindings. First you
will need to download and install SWIG from
http://www.swig.org/. The easiest method is to just unzip
SWIG-1.3.36.zip somewhere in your hard drive. I chooce c:\swig.
Inside this new directory there is a bin directory with the swig
executable. This directory needs to be added to your system PATH
environment variable so that CMake can find the SWIG installation.
- We are almost there. Start CMake and enable WITH_SWIG
and reconfigure Marsyas. If swig is found correctly the corresponding
build files are updated. To install the marsyas python module
you will need to run the INSTALL target of the Marsyas solution inside
Visual Studio. This target can be found on the left side of the Visual Studio
IDE. There is a tree list list of different kinds of things you can compile.
One of them is the INSTALL target. This will build and install all of Marysas including the Python bindings into your system.
- There is one final little step. For some reason I have not figured
out the marsyas module is compiled as _marsyas.dll and gets copies to
the default location for installed Python modules. You will need to
rename this to _marsyas.pyc for things to work for some versions of Python.
It seems that for more recent versions of Python it needs to be called _marsyas.pyd.
- You should now be ready to run Marsyas inside Python.
Try launching a Python interactive interpreter and trying:
If it works you have succeeded and can try the various python Marsyas
scripts in src/swig/python.