metro — Trigger Metronome


Generate a metronomic signal to be used in any circumstance an isochronous trigger is needed.


ktrig  metro  kfreq [, initphase]


initphase - initial phase value (in the 0 to 1 range)


ktrig - output trigger signal

kfreq - frequency of trigger bangs in cps

metro is a simple opcode that outputs a sequence of isochronous bangs (that is 1 values) each 1/kfreq seconds. Trigger signals can be used in any circumstance, mainly to temporize realtime algorithmic compositional structures.

[Note] Note

metro will produce a trigger signal of 1 when its phase is exactly 0 or 1. If you want to skip the initial trigger, use a very small value like 0.00000001.


Here is an example of the metro opcode. It uses the file metro.csd

Example 601. Example of the metro opcode.

-odac -B441 -b441

sr     =        44100
kr     =        100
ksmps  =        441
nchnls =        2

       instr    1
ktrig metro 0.2
printk2 ktrig

i 1 0 20


Here is another example of the metro opcode. It uses the file metro-2.csd

Example 602. Another example of the metro opcode.

; Select audio/midi flags here according to platform
-odac   ;;;realtime audio out
;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
; For Non-realtime ouput leave only the line below:
; -o metro-2.wav -W ;;; for file output any platform

sr = 44100
ksmps = 32
nchnls = 2
0dbfs  = 1

instr 1

kpch    random   1,20		;produce values at k-rate
ktrig   metro    10		;trigger 10 times per second
kval	samphold kpch, ktrig 	;change value whenever ktrig = 1 
asig	buzz	 1, 220, kval, 1;harmonics
        outs     asig, asig

f 1 0 4096 10 1	; sine

i 1 0 10

See also

Sensing and Control: Tempo and Sequencing

More information on this opcode in the Floss Manuals:


Written by Gabriel Maldonado.

First Example written by Andrés Cabrera.

New in Csound 5 (Previously available only on CsoundAV)