Click Tracker

Click Tracker is a click track designer or programmable metronome, made 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. It can also be used as a programmable metronome.

This software runs in Windows, macOS and Linux, and can be used either by conductors in concert, by musicians for practice purposes, or 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.

The Click Tracker App is now available – check the app website for it.

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 financial support of the following ensembles or individuals:


The Click Tracker comes in four flavours:

Click Tracker Android App

Check the app website or the Google play store for it.

Click Tracker Desktop Application

Use this version in your computer if you don't want to install any extra software, such as Pure Data or Max/MSP.
You can download it for Windows or Apple.

To run the application, unpack the zip file and execute the file Click-Tracker file in the Click-Tracker folder. All files and folders must be kept together, or the program won't work correctly.
Due to Apple's recent security settings, you'll need to allow the Pd and other externals to run on your system, as indicated in this and this picture.

Click Tracker Patch for Pure Data

Use this version if you want to run the Click Tracker on Pure Data (which can be downloaded from here).

Click Tracker Patch for Max/MSP

Use this version if you want to run the Click Tracker on Max/MSP (from version 7) on Windows or Apple.

If you download any of the patch versions, see the Advanced Features section below on how to integrate it into your patches. The patch runs at a sampling rate of 44100Hz.

Users and testimonials

The Click Tracker is used by instrumentalists, conductors and composers such as: Anna D'Errico, Carl Ludwig Hübsch, Carola Bauckholt, 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 that would allow me to dedicate time to make this program more complete. This includes 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-NonCommercial-NoDerivatives 4.0 International License. Based on a work at
If you wish to use this software in any way not allowed by this license, or to do commercial work, please contact the author.


This tutorial shows how to prepare a score for the Click Tracker patch, including all its features.
The Click Tracker reads documents in text format (.txt). They must be saved as text-only – in case you use Word or any other office software you should pay attention to this.
I suggest using a programme such as Notepad++ for Windows or BBEdit for Apple to edit your track files. See below for other resources for these programs.
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 score below will be coded in the tutorial. You can find it under examples/_score-tutorial.txt.


You start the score by writing a tempo with the command "t 60" (with space in between) for MM=60 – in case you forget to say which tempo you want the program will assume that the piece is at MM60.

A regular bar can be added with the command x/y – like a normal bar. For example with only a couple lines we can create a simple bar sequence. Bars 2-5 go from 4/4 to 1/4:

t 60

But you can use any ratio you want to: for the x/y format, it's only important that the numerator is a whole number (no decimal numbers allowed). On the other hand the denominator can be decimal if you want to. For example bars 6-7:



You can add composite time signatures using the syntax x+y/z. You can use as many segments as necessary:
Although it's not explicitly exemplified, you can use any of the previous numerators.


To notate events in higher detail, you can define 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 is a 4/4 bar:

1 b

The same result is attained with both x/y syntax or with discrete events. These two 5/8 bars are written out differently, but sound the same:

.5 b

If you need a bar with irregular divisions, you'll need to define different durations:

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.

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:

0.5 b

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

1 b


With the letter "s" after an event, you can make a third type of metric subdivision sound, between the pitches of the first and other beats in the bar. Use it as you use the "b" letter; this must come always after the first event in a bar.

1 b
1 s

.5 b
.5 s
.5 s

.5 b
.5 s
.5 s
.5 s

You might notice that a beat with a subdivision have an extra "s" in the beat number GUI. Also, see below in the GUI Control and Command List sections how to use the "subdiv" command or the GUI to switch the playback of subdivisions on/off.


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:

t 60
1 b
t 120
t 30
t 90

If your time signature is irregular you can change the duration of each beat – including with decimal values. Bar 16 sounds just like the previous one but in the same tempo throughout:

t 60
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 "# " (a hash and a space) before each comment.
Very important about the comments: you can't use any commas or semicolons – it would be misinterpreted by the program!
I suggest to use comments to mark the bars / systems / pages in your track file. It will be helpful when editing it later.
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:

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




To change the tempo suddenly you already saw the t command. But to create gradual tempo changes – accelerandi and ritardandi – you can 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 an accelerando with 1 bar duration and one bar in the new tempo. At the same time the volume goes slightly down.

tc 120 4
vol 7

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:

tc 50 4

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. 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:

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 (see below) can be added using the syntax "cue x" - where x is the cue number.

cue 1
1 b

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

1 b
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 first 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.


(Settings window)

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".


(Settings window)

Use the buttons under "Bar Filter" to define how many bars are 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 and language 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 [ ] ):
Play / Stop [Space] – Self-explanatory.
Continue playing [p] – Plays from the beginning of the bar where playback stopped the last time.
Open score / reload score – Open a score file or reload one (in case the file was edited).
Export WAV – Exports an audio file of the score (without a playback).
Export MIDI – Exports a midi file of the score (see below for more details).
Record – Play the score and record it at the same time.
Set file – 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.

Audio – Choose click track audio.
Language – Choose language.
Instructions – Click on this for a short reference.

Bar / Beat / Dur / Rep – Bar and Beat count / Duration of current beat / Repetition indication.
Bars – How many bars are in the score.
Duration – Duration of the excerpt you just played.
Cue – Active cue.
Track Volume – Volume as defined in the score.

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.
Loop – Loops from current bar to the bar indicated in "Loop to".
Output volume meter and Volume level – Self explanatory.

In the Settings window:
Bar Filter – How many bars are spoken.
First Beat – Mute other beats besides the first one in each bar.
Beat Direction – Changes beat counting direction up or downwards
Subdivision – Turns playback of metric subdivisions on/off.

Display – Shows large window with beat and bar numbers.

Keyboard Control – Turn keyboard control on/off.
Output Channels – Select the output channels.
OSC – Settings for OSC communication.


These commands can be used in your score files:

t $1 – Tempo in MM – Eg. t 70
[beat duration] b – b marks the beginning of a bar
[beat duration] – duration of a beat
[beat duration] s – s marks a metric subdivision
$1:$2 – fractional notation for the duration of beats – Eg. 2:3
$1/$2 – abreviated input of regular bars – Eg. 3/4
cue $1 – play audio cue $1.wav – Eg. cue 1
first $1 – number of the first bar of the score – Eg. first 35
pickup $1 – pickup bar repeats the first bar $1 times (bar numbers decrease from $1+1 to 1) – Eg. pickup 2
rep $1 $2 – repetition of a fragment. $1 = number of beats to repeat / $2 = number of times to repeat – Eg. rep 4 3
subdiv 0/1 – Turns playback of metric subdivisions on/off. – Eg. subdiv 1
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
par cl/clst 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


space – play/stop
p – play from last active bar
Esc – turn keyboard control on/off

See the Advanced Features section for details on other features.

Click Tracker Library

A public library of Click Tracker files is being built – you can find it here. You can download any tracks that were submitted to it, or also find out how you can support the library yourself.

MIDI Export

Exported MIDI files are formated in this way:

There are certain limitations:

In case a file can't be converted, the midi button will turn momentarily red, and the message "Not possible to export score - there are irregular time signatures." will appear in the Pd console.

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 and Max/MSP programmers. You can find an example patch with the following features in examples/tutorial-subpatch-osc.pd or in Click-Tracker.maxhelp.

Setting channel output

The output channels are set by default to 1 and 2. To change this setting use the command "audiooutput $1 $2 ..." or the Output Channels in the Settings 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:

OSC Setup in the score file

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

OSC Variables

See the examples/tutorial-subpatch-osc.pd file for examples on all the possible variables and their arguments.

Inputting a score with syntax highlighting

If you use Notepad++ for Windows, you can install an extension to allow for syntax highligting, making your work even easier. Comments will be colored green, commands in blue, and the "b" at the start of a bar in red:

For that, follow these steps:

For more informations/requests contact me.

© João Pais 24.09.2021