Tarsos is a software tool to analyze and experiment with pitch organization in all kinds of musics. Most of the analysis is done using pitch histograms and octave reduced pitch class histograms. Tarsos has an intuitive user interface and contains a couple of command line programs to analyze large sets of music.
To see Tarsos in action you can check the Tarsos screencast. More detailed information, news and updates can be found on the Tarsos website. The Tarsos research article gives more details on the concepts behind it.
To give Tarsos a try, download the executable Tarsos JAR-file. A Java 8 runtime is required, a more recent runtime is preferred. A manual for Tarsos an a complete API reference for Tarsos are also available. Drop me a line if you use Tarsos. Always nice to hear how this software is used.
To analyse the pitch use of a single musical piece, see the main flow below.
- Open the file using the
File - open..
menu or use drag and drop - Use the waveform to select a part of interest.
- The command window allow you to choose peaks in the pitch histogram
- Modify the peaks if needed
- With
ctrl
and mouse movements the peaks kan be moved. alt
and mouse movements add a peak- To delete a peak first use
ctrl
to select it and subsequently press eitherdelete
ord
to remove it
- With
- Export the analysis using the export funtions
The most critical error-prone part of Tarsos is audio decoding. To support almost any format ffmpeg is used in the background. If ffmpeg is not installed, Tarsos automatically tries to download a version fit for your system. However, this can fail. Moreover, more recent and capable versions might be present if you install it manually. E.g. using homebrew in macOS: brew install ffmpeg
or a packet manager like apt-get
on Debian like systems: apt-get install ffmpeg
. The static ffmpeg binaries provided by zeranoe might be practical as well on e.g. windows.
If you want to help develop Tarsos, you are more than welcome to. Please, start by consulting the API documentation. If you want to build from source, you need a JDK, Apache Ant and git installed on your system. The following commands fetch the source and build Tarsos:
git clone https://[email protected]/JorenSix/Tarsos.git
cd Tarsos/build
ant #Build Tarsos
ant javadoc #Creates the documentation in Tarsos/doc
When everything runs correctly you should be able to run Tarsos, also the Javadoc documentation for the API should be available in Tarsos/doc.
Tarsos is developed at the University College Ghent, Faculty of Music and University Ghent. Further development was sponsered by Dr. Patrick Savage, Associate Professor of the Faculty of Environment and Information Studies of Keio University SFC
Tarsos uses a number of open source libraries:
- Gervill: a software sound synthesizer, supports the MIDI Tuning Standard. API.
- Apache Commons Math: a library of lightweight, self-contained mathematics and statistics components API.
- Java-getopt: a port of the GNU getopt family of functions. API.
- TarsosDSP is a Java library for audio processing. Its aim is to provide an easy-to-use interface to practical audio (signal) processing algorithms implemented, as simply as possible, in pure Java and without any other external dependencies.