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.
Getting started with Tarsos
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
ctrland mouse movements the peaks kan be moved.
altand mouse movements add a peak
- To delete a peak first use
ctrlto select it and subsequently press either
dto remove it
- 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://JorenSix@github.com/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.