octave — Calculates a factor to raise/lower a frequency by a given amount of octaves.
The value returned by the octave function is a factor. You can multiply a frequency by this factor to raise/lower it by the given amount of octaves.
Here is an example of the octave opcode. Play octave.csd
Example 671. Example of the octave opcode.
See the sections Real-time Audio and Command Line Flags for more information on using command line flags.
<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 octave.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 instr 1 iroot = 440 ; root note is A above middle-C (440 Hz) koct lfo 5, 1, 5 ; generate sawtooth, go from 5 octaves higher to root koc = int(koct) ; produce only whole numbers kfactor = octave(koc) ; for octave knew = iroot * kfactor printk2 knew asig pluck 1, knew, 1000, 0, 1 asig dcblock asig ;remove DC outs asig, asig endin </CsInstruments> <CsScore> i 1 0 5 e </CsScore> </CsoundSynthesizer>
Its output should include lines like:
i1 3520.00000 i1 1760.00000 i1 880.00000 i1 440.00000 i1 7040.00000 i1 3520.00000 i1 1760.00000 i1 880.00000 i1 440.00000 .......