metro
Prev | Orchestra Opcodes and Operators | Next

## metro

metro — Trigger Metronome

## Description

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

## Syntax

    ktrig  metro  kfreq [, initphase]

## Initialization

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

## Performance

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

## Examples

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

Example 587. Example of the metro opcode.

    <CsoundSynthesizer>
    <CsOptions>
    -odac -B441 -b441
    </CsOptions>
    <CsInstruments>

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

           instr    1
    ktrig metro 0.2
    printk2 ktrig
    	endin

    </CsInstruments>
    <CsScore>
    i 1 0 20

    </CsScore>
    </CsoundSynthesizer>

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

Example 588. Another example of the metro opcode.

    <CsoundSynthesizer>
    <CsOptions>
    ; 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
    </CsOptions>
    <CsInstruments>

    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

    endin
    </CsInstruments>
    <CsScore>
    f 1 0 4096 10 1	; sine

    i 1 0 10
    e
    </CsScore>
    </CsoundSynthesizer>

## See also

Sensing and Control: Tempo and Sequencing

More information on this opcode in the Floss Manuals: https://flossmanual.csound.com/csound-language/control-structures

## Credits

Written by Gabriel Maldonado.

First Example written by Andrés Cabrera.

New in Csound 5 (Previously available only on CsoundAV)

Prev | Up | Next
mediank | Home | metro2