logbtwo() returns the logarithm base two of x. The range of values admitted as argument is .25 to 4 (i.e. from -2 octave to +2 octave response). This function is the inverse of powoftwo().
These functions are fast, because they read values stored in tables. Also they are very useful when working with tuning ratios. They work at i- and k-rate.
Here is an example of the logbtwo opcode. It uses the files logbtwo.orc and logbtwo.sco.
Example 1. Example of the logbtwo opcode.
/* logbtwo.orc */
; Initialize the global variables.
sr = 44100
kr = 4410
ksmps = 10
nchnls = 1
; Instrument #1.
instr 1
i1 = logbtwo(3)
print i1
endin
/* logbtwo.orc */
/* logbtwo.sco */
; Play Instrument #1 for one second.
i 1 0 1
e
/* logbtwo.sco */
instr 1: i1 = 1.585