Click Tracker

Click Tracker is a click track designer. It was created for composers, instrumentalists and conductors working with modern music.

Software by João Pais

Click Tracker

Click Tracker is a program designed for composers, conductors and instrumentalists working with modern music. The main goal of the software is to prepare a click track of any score, no matter how complex it is.

This software runs in Windows, macOS and Linux under the open source program Pure Data, and can be used either by conductors in concert, by musicians for practice purposes, by composers while composing.

To prepare a score, just input the values in a plain text file format (.txt) according to the syntax explained in the tutorial online, or sent with the program.

Price / Donations

In order to make its development possible, a one-time donation is suggested. For professional musicians I would suggest 50 EUR, for students 25 EUR - of course, you can donate more or less than that. Keep in mind that if you use this program regularly, it will save much rehearsal and learning time. And also, for the program to reach this stage of development, many hours of work were invested into it.
Donations can be easily made through PAYPAL. Bank transfers to a german account are also possible (contact me for details).
An invoice can be written for donations.

Former sponsors

These versions were launched with the support of the following ensembles or individuals:

Users and testimonials

The Click Tracker is used by instrumentalists, conductors and composers such as: Anna D'Errico, Carl Ludwig Hübsch, Haakon Stene, Matteo Cesari, Pavlos Antoniadis, Stefan Prins, Jack Quartet, and the ensembles Asamisimasa, Nadar, Interface, loadbang and Schlagquartett Köln.
This is what some users have to say about the software:

The Click Tracker is an essential tool for the new generation of musicians. It allows the cautious interpreter to master the intricacy of time structures at ease.
Matteo Cesari flutist

As an interpreter of new music, I am sometimes faced with challenges that deal with extremely complex tempo relations. Some of the foremost composers of our time, like Brian Ferneyhough, Enno Poppe and others, have been incorporating this challenge as a powerful expressive means in their aesthetics. I have been using the Click Tracker in order to refine my performance in works that require this kind of virtuosity.
I would definitely recommend it: its friendly and simple interface allows a performer to set up by himself/herself immediate support tools for challenges that are nothing but "friendly and simple"!
Anna D’Errico pianist

Excellent tool for learning and performing regardless of score complexity. Very easy to learn itself!
Pavlos Antoniadis pianist

With the Click Tracker João Pais offers a highly flexible and long-awaited tool for musicians who require a metronome that meets the multiple work specific demands of contemporary music: combining complex metrical structures, customized sub-divisions, tempo changes, as well as a wide range of other features, all easily and quickly programmed. The Click Tracker fills in the gap between standard mechanical metronome functions and a conductor's flexibility, and is useful in rehearsal as well as in performance.
Håkon Stene  percussionist

Working with Click Tracker is like working on your fundamentals in sports. Your body needs to absorb it. Thanks for your program!
Pieter Matthynssens cellist

As the director of the vocal ensemble Ekmeles and artistic director of ensemble loadbang I am constantly leading rehearsals on new and difficult music. For scores with complex metric and tempo changes, Click Tracker allows for the kind of focused work on rhythm which would be impossible with a traditional metronome. Making click tracks is extraordinarily easy and intuitive, even for the most complicated scores.
Jeff Gavett baritone, conductor, composer

The Click Tracker is extremely easy to use, in 30 minutes you can grasp the nuts and bolts and are able to make a click track! I have used it multiple times, both for rehearsals (the rehearsal mode, starting at whatever measure, and giving the option to change the tempo when necessary is super convenient) and for making click tracks for concerts.
Since I got to know João and this awesome program I haven't used anything else when dealing with click tracks!
Stefan Prins composer

Further development and feature commissioning

I'm searching for any support (residencies, grants, etc.), that would allow me to dedicate time to make this program more complete. These features include not just improvements in the existing possibilities, but also new techniques of input, control and performance, which will make it an even better learning, performance and composition tool. You can consult the list of current and planned features.
If you know any institution / ensemble / individual that could be interested in supporting the further development of this program – or in comissioning any specific features – please contact me. Or if you want me to program a specific feature with your ideas, ask me for a quote.
Every individual or group contributing to the development of this program will be mentioned in future versions.

License and distribution

Click Tracker by João Pais is licensed under a Creative Commons Attribution Non Commercial No Derivs 3.0 Unported License. Based on a work at
If you wish to use this software in any way not allowed by this license, please contact the author.
If you wish to do commercial work with this software, please contact the author.

Download and installation

CLICK HERE to download version 1.6.
If you want to be informed of new versions, please send me your contact.

How to install and run the Click Tracker patch

1 – Install and test Pure Data
The software runs with Pure Data (Pd for short), which you must install first. Pure Data is a free software for live electronics. Follow these steps to install and test the software:

If you have difficulties getting Pd to work, feel free to contact me – I'll try to help as much as I can.

2 – Open and Run the Click Tracker Patch
Once you have Pd installed and running, you can open the zip file with the patch:

And that's it. If you click on the Instructions button you'll find a short explanation of the patch. But to get more detailed informations, and to know how to start a new score, you should open score-tutorial.txt with a text editor. This file isn't only a score, but also a full tutorial explaining how the program works.
Alternatively, look up the same tutorial below.
In the same folder you can find other score excerpts by Stravinsky, Boulez, Stockhausen, Lang and Nunes.


This is a tutorial on how to prepare a score for the Click Tracker patch. At the same time it should teach you on how to use the program.
The Click Tracker reads documents in text format (.txt). For that they should be saved as text-only format – in case you use Word or any other office software you should pay attention to this.
To reproduce a piece with the Click Tracker you must transcribe the score you want to hear to the format readable by this program – basically you must write down the metrical structure of the score.
The following score will be coded in the tutorial. You can find it under examples/score-tutorial.txt.


You start the score by writing the duration of each beat in one line – for example 1 for a full beat. There are 2 possible parameters: the beat duration and the letter "b" to mark the beginning of a bar – separated by a space.
For example here are the first two 4/4 bars of this score. Bars 1+2:

t 60
1 b
1 b

These were two regular bars where each beat has the same duration. The bar symbol (b) only has to be used in the beginning of each bar. After that you only have to write the duration of the beats: the program will count both beats and bars automatically.
The tempo is MM60 as indicated by the command "t 60" (with space in between). You can use the t command anywhere in the piece and how many times you want – just put it before the note you want it to apply for. For example here is a bar where the tempo changes on each note. Bar 3:

t 60
1 b
t 120
t 30
t 90

In case you forget to say which tempo you want the program will assume that the piece is at MM60.
If your time signature is irregular you can change the duration of each beat – including decimal values. Bar 4 sounds just like the previous one but in the same tempo throughout:

t 60
1 b

Notice that all decimal values must be written with a dot instead of a comma.
There is another way to notate factional values – through the fraction that calculates the value. You can use any values on both sides of the fraction. Here follow some values notated in both ways. Bar 5:

0.5 b

And now something completely different: a completely irregular bar with some irrational values.

1 b

There are no limits for the decimal values you can use. Any value (as long as written correctly) can be played back.
As you might have noticed by now this file is at the same time the tutorial for the program and also a score that can be performed. The parts with the numbers are the "music" and comments can be made in any place in the file if you put the # symbol before each comment. If you don't use the # symbol with a space afterwards the file won't be properly read by the program.
Very important about the comments: you can't use any commas or semicolons – it would be misinterpreted by the program!
Also you don't have to layout all you music lines one after the other. They can have empty lines between them – as well as comments in the same line:
Now we're at bar 7. The tempo is 60

1 b 

Here is the beginning of the bar – the letter b is after the beat duration.
Here is an empty space. You can have as many as you want.


And some more beats



And here the end of the bar. It turned out to be a 5/4 bar.
The options that you saw until now allow you to notation quite complex durations to create irregular bars. But in case your piece is simpler than that you can notate it in another way: through the format x/y – like a normal bar. For example with only a couple lines we can create a simple bar sequence. Bars 8-11 go from 4/4 to 1/4:


But you can use any ratio you want to. Important is only that the top number is a whole number (no decimal numbers allowed). On the other hand the lower number can be decimal if you want to. For example bars 12-13:


If you use this method the result will be the y proportion (4 = 1 beat) repeated x times. So if you write 5/8 you will get an 8th-note 5 times instead of the combination 3+2/8. Here is the difference. Bar 14 has 5 8th-notes:


The same written in another way

.5 b

And a bar with the same full duration but another division.

1.5 b  

Also the y number always understands the 4th-note to be the standard duration. In case you're writing a score where another value is the base value for the tempo (for example 8th-note or minim) then you must do some math to get the proportions right. Always think of the beats as individual durations one after the other.


To change the tempo suddenly we already saw the t command. But to create gradual tempo changes – accelerandi and ritardandi – use the command "tc x y" where x is the new tempo and y the number of beats necessary to reach it. The beat duration of the tempo change MUST coincide with the sum of the beats it lasts: for example, if it lasts 1+1+0.75 beats, the result is 2.75.
The "vol x" command scales the loudness of the click so that it fits with the musical content. Values between 0 and 10 are accepted. The scaling is independent of the main output's volume level. If no value is given the score sets to 10.
Here is a 4/4 bar followed by an accelerando with 1 bar duration and one bar in the new tempo. Bar 17:


Here is the tempo change command – always write them before the first tempo change. At the same time the volume goes slightly down.

tc 120 4
vol 7

the accelerando starts here


and now we're in the new tempo. The volume goes lower.

vol 4

And now it slows down to slower as the initial tempo. Bar 20:

tc 50 4

here starts to get slower


and now is at MM50. The volume goes up on each beat until it gets back to the maximum.

vol 5
1 b
vol 7
vol 8
vol 100


Repetitions of the same bar can be used a lot in modern music. Since the program counts the bars automatically it's different to write the repetitions down and to just repeat a sequence. Also a repetition isn't a new bar (with a different bar number) but the same bar again.
In case you want to repeat a fragment just use the command "rep x y" where x is the number of beats you want to repeat and y the number of times. Put this command just before the first beat of the passage to be repeated. Again – x MUST coincide with the actual sum of beats (you can't use 1 as a value for y). The number of the current repetition will be shown in the screen.
In case you use the "Go to bar" feature (more about that later) to start in the middle of a repetition sequence it won't work. For a repetition sequence to be correctly performed you must play the first note (since the command is before it).
Here is a new irregular bar back at MM60. Bar 22:

t 60
1 b

And now the same bar repeated 3 times:

rep 2.5 3
1 b

You can also do the repetitions across the barlines. We stay in the same time signature but dislocate the repetition point:

1 b
rep 2.5 4
1 b


Cues can be added using the syntax "cue x" - where x is the cue number.

cue 1
1 b
1 b

Place the cue before any beat you want to mark. See further details below.

cue 2


In a performance you can't start the click track without warning – with the "pickup x" comand it is possible to repeat the 1st bar as many times as you need in order for the musicians to prepare themselves. The parameter x defines how many times the bar will be repeated.
You can either include this command in the score file (anywhere in the score but I suggest you to leave it on top) – or change it anytime in the patch itself. To have 1 pickup bar write "pickup 1".
As pickup bars aren't exactly repetitions and you must know exactly when the piece is going to start the bar numbers in pickup bars work downwards until they get to 1 – which is point where the score begins. In case you have 1 pickup bar you'll and your chosen output has voice included you'll hear bar "2 [beats] 1". If you have 2 pickup bars then "3 [beats] 2 [beats] 1".


With the comand "first x" you can define the number of the first bar to be played – in case your click track doesn't begin at bar 1. If you want to rehearse with another first number for now you'll have to use the bar numbers as if they would start from 1.


With the command "direction up" or "direction down" you can define if the beats inside a bar are counted upwards or downwards. If no command is used the standard value is "up". This can be set anytime in the patch using the button "beat.dir".


Use the buttons under "Bar.Flt" to define how many bars sound the spoken: all / every 5 bars / every 10 bars. This can be helpful in very dense tracks.
You can also define the setting in your score using the command "bar-filt x" and the number 0 / 1 / 2 for the settings mentioned above:

bar-filt 0


You can prepare your own audio cues to be added to the click track. These must follow the following conventions:

As long as all previous conditions are met you can use any audio content in your cue files. If a cue isn't found you'll see an error message such as "cue1.wav not found".


You can adjust the playback parameters (click format – language – recording format) anytime while working with the patch. But you can also adjust them in the score file. Then you don't need to always reset your patch when you load a new score (assuming each score has a different setting). To set a parameter you just write the command "par [parameters]" anywhere in the score. But like with the pickup command I advise you to put these general remarks in the beginning. Note: if you write down more than one command for the same parameter then the last command is the one to be valid.
The available parameters are:
click format – click / voice + click = cl clst
language – english / german / spanish /portuguese = english deutsch espanol portugues
For example to have a click track performed with clicks you write

par cl

To have a score performed with click and voice in portuguese you write

par clst portugues

The standard format is voice + click / english. Since there were some other commands before let's set it back to the standard preset.

par clst english


The Click Tracker's GUI offers the following possibilities (keyboard shortcuts are between [ ] ):
Open score [o] / reload score [l] – open a score file or reload one (in case file was edited)
Play / Stop [space] – self-explanatory
Resume playing [p] – plays from the beginning of the bar where playback stopped the last time
Set output file [f] – Before you record a click track say where it's going to be recorded and with which name. In case you forget this the program will record it with the same name and place as the score file. You only have to write the name of the file. The termination .wav will be added by the program.
Play + record [r] – Play the score and record it at the same time. The file is also the recording of the performance so you must let the score play the whole piece (or stop it).

Audio – audio output settings
Language – language setting
Output – audio channel settings window
OSC – OSC settings window
Instructions – Click on this for a short reference

Bar / Beat / Dur / Rep – Bar + Beat count / Duration of current beat / Repetition indication
Bars (total) – How many bars are in the score
Duration – Duration of the excerpt you just played.

Go to bar – Start directly from a bar
Pickup bar – How many pickup bars you want to have?
Tempo scaler – if a piece is too fast or slow for you to follow you can just change the scaling factor in the interface. Both original and scaled tempi are shown.
1st beat – Mute other beats besides the 1st one in each bar.
Loop – loops from current bar to the bar indicated in "Loop to"
Volume – Volume as defined in the score
Output volume meter + volume level – self explanatory
Beat.dir – changes beat counting direction up or downwards
Display – shows large window with beat + bar numbers

Keyboard Control – It is possible to control the patch using the keyboard shortcuts (these were just indicated). You can turn this on/off with the Escape key. If the box is crossed keyboard control is on.


t $1 – Tempo in MM – Eg. t 70
[beat duration] b – b marks the beginning of a bar
[beat duration] – duration of a beat
$1:$2 – fractional notation for the duration of beats – Eg. 2:3
$1/$2 – abreviated input of regular bars – Eg. 3/4
tc $1 $2 – tempo change. $1 = new tempo / $2 = number of beats necessary to reach it (beat duration of the tempo change MUST coincide with the sum of the beats it lasts) – Eg. tc 120 5
vol $1 – volume between 0 and 10 – Eg. vol 8
rep $1 $2 – repetition of a fragment. $1 = number of beats to repeat / $2 = number of times to repeat – Eg. rep 4 3
cue $1 – play audio cue $1.wav – Eg. cue 1
pickup $1 – pickup bar repeats the 1st bar $1 times (bar numbers decrease from $1+1 to 1) – Eg. pickup 2
first $1 – number of the first bar of the score – Eg. first 35
par cl/clst/st/stbb english/deutsch/espanol/portugues – playback parameters
direction up/down – changes beat counting direction up or downwards. Default is upwards.
audiooutput $1 $2 ... – set output channels from 1 to 32
osc port $1 – set receiving port
osc sendip $1 – set send IP
osc sendpo $1 – set send port


o – open score
l – reload score
space – play/stop
p – play from last active bar
e – export audio file
f – set output file for recording
r – play + record
Esc – turn keyboard control on/off

See the Advanced Features section for details on other features.

Feature list

Here are the current list of programmed features and features to program. If any of these interest you, you can commission them – or any other suggestions you might have.

Programmed features

Features to program

Advanced Features

These features are designed for Pure Data programmers. You can find an example patch with the following features in examples/tutorial-subpatch osc.pd.

Setting channel output

The audio output is set by default to channels 1 and 2. To change this setting use the command "audiooutput $1 $2 ..." or edit the output window. The parameters are the output channels from 1 to 32 - as many as necessary.

Click Tracker as subpatch

The Click Tracker can be used as a subpatch of another Pure Data patch - it has one inlet for control messages and two outlets for sound and messages.
It is useful if you add the line "subpatch" to your score: this will turn off the keyboard control, and route the sound output out of the main dac to the left outlet.

OSC Controls

Click on OSC to open the OSC settings window. There you can set:

It also displays the IP of the address controlling the Click Tracker.

OSC Setup in the score file

You can setup the OSC parameters in your score. For that, use the following commands:

OSC Variables

These are the OSC variables defined in the Click Tracker. As argument you can use either nothing (-), a symbol (s), float (f), a 0/1 combination, or a range of numbers (x-y).

Outoing variables

Incoming variables

For more informations/requests contact me.

© João Pais 27.12.2018