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. It uses the files octave.orc and octave.sco.
Example 1. Example of the octave opcode.
/* octave.orc */
/* Written by Kevin Conder */
; Initialize the global variables.
sr = 44100
kr = 4410
ksmps = 10
nchnls = 1
; Instrument #1.
instr 1
; The root note is A above middle-C (440 Hz)
iroot = 440
; Raise the root note by two octaves.
ioctaves = 2
; Calculate the new note.
ifactor = octave(ioctaves)
inew = iroot * ifactor
; Print out of all of the values.
print iroot
print ifactor
print inew
endin
/* octave.orc */
/* octave.sco */
/* Written by Kevin Conder */
; Play Instrument #1 for one second.
i 1 0 1
e
/* octave.sco */
instr 1: iroot = 440.000 instr 1: ifactor = 4.000 instr 1: inew = 1760.149