Slim down the Click Track interface

As Robert pointed out recently, the Click Track generator has “many” controls. This is particularly inconvenient for non-mouse users form whom it takes 24 clicks to cycle through the full set of controls.

There have also been occasional complaints about the lack of “musical” click sounds (a “Conga” type sound is frequently favoured in other metronome type applications).

I’m reluctant to remove existing functionality, though I think that the optional duration (minutes seconds) could probably be removed - this option has always been and remains problematic due to:
a) Inability for Nyquist to handle localized decimal separators in string type widgets.
b) Inability for Nyquist to grey out controls, so “optional” items are always a bodge.
c) Ambiguity of “minutes seconds” text format.
d) Duplication of “duration” control which is already defined by the number of measures.

I think that we could safely remove the “Individual click duration (milliseconds)” if we provide a better selection of click tones.

The number of clicks to navigate the controls can also be dramatically decreased by using the new numeric text widgets in place of the old slider widgets.

This is what I have in mind so far:

;control bpm "Beats per minute (1 - 1000 bpm)" float-text "" 120 1 1000
;control t-sig "Beats per measure (1 - 32 beats / bar)" int-text "" 4 1 32
;control measures "Number of measures (1 - 1000 bars)" int-text "" 8 1 1000
;control start-time "Start time (minutes seconds)" string "" "0" 
;control timbre "Click type" choice "Ping,Tick,Click,Conga,Beep,Drum" 0
;control accent "Accent strong beat (0 - 100)" int-text "" 50 0 100
;control pitch "Strong beat tuning (+/- 24 semitones)" float-text "" 0 -24 24
;control pitch "Weak beat tuning (+/- 24 semitones)" float-text "" 0 -24 24

window-Click Track-000.png
I think that this interface preserves just about all of the old functionality, while improving on several features, simplifying usage, and reducing the total number of clicks to navigate the controls from 24 to 13.

When available I would also like to replace the “start time” with a “time widget” (we don’t yet have time widgets for Nyquist plug-ins).

Also, “Start time” will be the actual start time if there is no selection. If there is an existing selection, then “Start time” must (unfortunately) be relative to the start of the selection because it is not currently possible to generate audio before the start of the selection. I would prefer (for clarity) that the start time was always an absolute time, but that is not currently possible for Nyquist generate plug-ins. For now it may be better to call that “Start time offset”.

Does one of those work out to be “3/4 time,” or is that the beats per measure thing? I don’t play the piano, I play at the piano. Big difference.

I don’t see what the problem is with Noise click resonance - discernable pitch [q]:

I know I use that all the time.


Yes, that’s the “beats per measure” thing. I prefer the term “beats per bar”, but “Click Track” has happily called it “beats per measure” for about a decade with no complaints, so I’m taking the “if it ain’t broke…” approach there.

That’s a joke, right? If so, it’s funny :wink:

Certainly a thing one uses only once in a life time.

I’m glad that you’ve picked this up, Steve.

It is good that the ranges are increased as well (Bpm for instance). This allows e.g. practising 16th notes runs at 120 bpm.

I may have been a bit excessive with “1 beat per minute”. Perhaps better to change that back to 30 bpm as the minimum (one beat every 2 seconds).

I can’t exactly recall, but there’s a Jazz Piece for Piano, something like “4:08” that lasts 4:08 min. The pianist doesn’t play a single note during this time. The art comes in by exactly closing the lid after 4:08 min.
What I’m getting at is this means 0.241935 bpm
bpm, if you want to practice this piece… :grin:

I’ve included “Tap along” with my screen reader. The tempi are either in bpm or classic description (according to some mechannical metronoms) and the lowest tempo is 18 bpm but 25 or 30 is certainly slow eeough.

I miss the ability to generate a ritartando or accellerando.
The sliding time effect does not exactly what I want.


and I don’t think that the Time track is accessible, is it?

Of course not.
I could previously focus on the time line (set the mouse there), but it doesn’t seem to work with the newest built.
However, the time line changes the timbre of the sound, this could sound awful with e.g. drums or conga.

Might some users not want MIDI note-based generation, especially if we can include a beep sound? The current scheme is not convenient if you want to generate based on a pitch, because you have to know the MIDI number. But with the new scheme it seems you have to somehow know what the default “untuned” pitch is so you can then calculate the +/- difference required to generate the pitch you want.

I’d rather the weak and strong beat parameters would accept a range of MIDI notes, and ideally a two character letter-number string representing a value in the same range as the MIDI notes. For example you could enter “C4” or “60” for middle “C”.


What “note” does a mechanical wooden metronome have, or how about a bass drum sound with a snare drum sound for the accents, or a “woodblock” or triangle?

If you want a Conga tuned to “C#” would you know whether to select “C#2”, “C#3”, or “C#4” or some other C#?

MIDI note numbers are not without problems either as “Middle C” may be either MIDI note number 60, or MIDI note number 72 (depending on which standard you choose). Also, the GM (General MIDI) standard MIDI notes for (example) Congas are note numbers 62, 63 and 64, which do not relate to the tuned pitch.

If the user selects, for example, a timpani drum sound, then the default tuning should sound like a timpani drum, not like a tin box. Similarly, if they chose a glockenspiel sound, then it should sound like a glockenspiel not like a scaffold pole.

I would suggest that for harmonic sounds (“notes”), the default tuning (tuning set to zero) should be either an “A” or a “C”. The octave (whether A220, A440, A880 etc) should be appropriate for the type of sound selected. I believe that this will be more intuitive and easier to use than using MIDI note numbers (which in the case of noise based sounds are by definition arbitrary).

Exactly, but then why offer “tuning” of non-tuned sounds in the first place? Despite that, it does kind of work.

And the beep sound you want to add will be a tuned sound, no?

What do they relate to? When you propose to tune that sound, what are we adjusting?

OK, I take the point that a default “click” sound should ideally sound “typical” for that kind of sound.

But as you will be aware I am trying to make sure “features” (if useful) are not thrown out un-necessarily. Might someone out there be using the MIDI note feature to provide a tuning reference point for their performance, or even using Click Track as some kind of “instrument”? I know some users are doing the latter.

I am not convinced this is easier to use if the tuning and octave of the default (untuned) sound are hidden from the user. You can’t adjust a tuning to achieve some desired “pitch” if you don’t know the value you’re adjusting.

If MIDI values are problematic for the reasons you state, then we could just use note and octave instead.


You mean that someone might crate a click track and then tune their guitar to it? Like tuning a guitar to a metronome?
If we are going to worry about that then we should make the default A440.

I would not rule out that someone does that, or (what I had in mind) might set the strong beat to the tonic of the key they are performing in. David Sky added “MIDI tuning” to Click Track in direct response to requests that you could set a pitch.


If we have several “tuned” sound types for the click, it will be obvious to those users that they are all tuned to the same note (albeit that they may be in different octaves), so “discovering” the default tuning is trivial. I don’t think that we need to explicitly state that in the interface (we can certainly state the default tuning in the manual). I also think that more users will understand “semitones” than “MIDI note” numbers.

Note also that the proposed “Tuning” controls allow fractional values, so that when using “tuned” sounds, they can be tuned to non-standard tunings (for example, the users may have a piano that is not tuned to A440 concert pitch). That is not possible with either MIDI note numbers (which are by definition “integers”) or with “C4” type notation (unless we also add a “+/- cents” control for each, but the idea here is to slim down the interface, not increase the bloat).

That’s the one reason that I wish to provide a better selection of sounds, including “musical” sounds.
Eventually I would like to add a simple “drum machine” / “sequencer” type effect, but the Nyquist plug-in interface is not yet flexible enough to do that well.

Have I adequately addressed your concerns?

On your advice, I am quite content with dropping MIDI note numbers.

However if users are opening Click Track with the intention of generating a specific “pitch” for one or both clicks, such as A5, then they need to know what the default pitch and octave for that sound is (unless they have “perfect pitch” hearing).

If this was a built in effect, I can’t think of any advantage of tuning controls as opposed to pitch selection controls. Wouldn’t we have just Note, Octave and Cents controls alongside each other, and when you select a particular click type, that trio of controls changes to the values for that click type? The more so if ultimately we added drum machine/sequencer features to it as you suggest.

With the Nyquist interface we have now, I think we should at least show the Pitch/Octave of the click type in its name string.

I’m not sure if fractional tuning of “pitch” is really a necessary feature (I am not aware that anyone has asked for that). If it isn’t necessary I think even with Nyquist as now it would be easier for those targeting a pitch to let them enter the letter-number string they want in the strong and weak boxes. If the box is left empty, user gets the default pitch. I guess it makes specifying valid values more cumbersome?

If fractional tuning is more important than ease of specifying a “normal” pitch, then I agree specifying fractionally tuned pitches is too complex for the interface we have now - we should have the adjustment factor you suggest. But I still say we should show the note/octave with the click name.

Are you sure we should remove the click offset? Or would someone want the effect to add a label at their intended performance start point? Sorry I don’t recall if generate audio and labels is possible.

I notice in my “stored requests” I have 5 votes for a sound that is more like a “real metronome”.


If this was a built in effect, we could be a lot more sophisticated with the interface. We could, for example, show for sounds that have discernible pitch, the pitch of the selected tone, and the pitch could be “per click type” rather than for all click types. For clicks that have no discernible pitch, no pitch would be shown, but tuning would still be possible (even snare drums are “tuned”). Thus the range for a Timpani sound might be C2 to C4, while a glockenspiel sound might have a range of F5 to F7.

Have you never accompanied an instrument that is out of tune with your piano? If not, believe me, it’s not pleasant :wink:

I’ve kept the start offset. I just dropped the word “offset” because when generating without a selection it’s not really an “offset”, it’s an absolute time. As wrote. I would like to make it always an absolute time, but that is not currently possible with sounds (though it is now possible with labels), so we could put the word “offset” back for now.

No it’s not currently possible to generate audio and labels at the same time, though I hope that will be possible in the future.

Personally I would fix the instrument rather than expect the software to fix it for me. That helps when performing without the software too. :wink:

Setting “pitch” (currently MIDI note) of the three current click sounds does work after a fashion. I do hope, to respect the feature that David added in response to requests, that you will at a minimum indicate in the interface the pitch and octave of sounds that reasonably have a discernible pitch. As I understand it, the sounds will all have the same note, but different octaves. Is that so?

Are these sounds going to be compiled-in functions as now, or actual audio files that will be repeated, and so would be more “realistic”?

Is the proposed “drum” a timpani or an untuned drum?

It might be better to put “offset” back for now. It is always an offset in the generated selection. It is not an absolute time if the cursor is not at zero when generating.


In this use case, the software is an instrument.
What if you have, say, a clarinet tuned to A-432 Hz and you wish to keep that tuning? In that case, the “instrument” that needs tuning is the software instrument. Electronic and software instruments invariably have a facility for tuning, and if we intend that the Click Track effect should be useful as an instrument, then I think that it needs to be tunable, preferably without requiring the code to be edited.

The fact that the proposed interface allows the clicks to be tuned seems to me to exceed the capability that David added. Do you have links to those feature requests? Did they specify that they wanted the pitch to be selected by MIDI note number rather than by my proposed method? Did they perhaps want the plug-in to be a MIDI effect (not currently possible for Nyquist plug-ins) ?

Yes. Synthesized sounds.

Possibly both.
I’ve not yet decided what sounds to include in the initial release, though I would certainly like a more realistic metronome sound. I would also want to include the current default sound. I expect that you will want to argue for keeping all of the old sounds, but that will require adding back the “resonance” option, which I’d rather leave out.

I agree.

There may be other cases for cents tuning than instruments not tuned to concert pitch. Perhaps someone wants a microtone click track generator, for all I know.

I have no problem with cents tuning, and accept that selecting note, octave and cents is too cumbersome in the interface we have now. Also if the user doesn’t care what the “pitch” is but just want to tweak it to sound more agreeable, a “tuning” control is arguably easier (with the current Nyquist interface).

What I would not like is for someone who currently uses Click Track to make a click noise “sound like” E4 to be faced with your interface change and have to figure out for themselves what “tuning” to apply to get the “pitch” they had before. Presumably everyone who had chosen custom MIDI note values will lose those values with the new effect. We should make it easy to recreate the note they had.

Yes. :wink:

But if we don’t display the Note/Octave of the click sound to the user that makes it harder for those who want to create a specific pitch rather than just tune.

None of the requests asked specifically for MIDI tuning or anything to do with MIDI. I agree MIDI for pitch selection is less good than Note/Octave.

The request that started it was That request could be addressed easily enough by a tuning control.

Then when the MIDI note feature was being implemented, the various users I was getting feedback from all liked the ability to set a “pitch” and starting seeing possibilities of using Click Track as an instrument, or setting it to the already known “key” of the song they were overdubbing to make a more pleasant experience.

As I said, I know for fact that some users are now using Click Track as a “tuned” instrument. They will like having some selectable sounds that really are pitched. I don’t think they will like guessing how to set the pitch they want. I think you can address that by stating the “tuning” alongside the sound.

I’m happy to lose the “resonance” option and don’t think any of the current three sounds are indispensable. Most of the complaints about the current effect are about the “sound”.


If, for example, a person wants to play their piano in the key of C major, and wants a “click” that has definable pitch tuned to the tonic (“C”) and the default is A 440 Hz, then surely it would be trivial for them to create a click track with a discernible pitch and find that note on their piano? By doing so, they will have discovered that the default tuning is an “A”. The user that made the original feature request had clearly managed to work out that the click was tuned to G#.

David was also aware that there are drawbacks to having too many controls. Considering that for most users this is simply a “metronome”, even my proposed “slimmed down” version has an extraordinarily large number of controls, making it (possibly) the most complicated metronome in the world. Typically a “metronome” has a tempo control, and that’s all.

I think we can definitely improve on the current sounds. Also, it can be written so that additional sounds can be added in future versions without needing to change the main plug-in code.