semitone

Name

semitone --  Calculates a factor to raise/lower a frequency by a given amount of semitones.

Description

Calculates a factor to raise/lower a frequency by a given amount of semitones.

Syntax

semitone(x)

This function works at a-rate, i-rate, and k-rate.

Initialization

x -- a value expressed in semitones.

Performance

The value returned by the semitone function is a factor. You can multiply a frequency by this factor to raise/lower it by the given amount of semitones.

Examples

Here is an example of the semitone opcode. It uses the files semitone.orc and semitone.sco.

Example 15-1. Example of the semitone opcode.

/* semitone.orc */
; 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 three semitones to C.
  isemitone = 3

  ; Calculate the new note.
  ifactor = semitone(isemitone)
  inew = iroot * ifactor

  ; Print out all of the values.
  print iroot
  print ifactor
  print inew
endin
/* semitone.orc */
        
/* semitone.sco */
; Play Instrument #1 for one second.
i 1 0 1
e
/* semitone.sco */
        
Its output should include lines like:
instr 1:  iroot = 440.000
instr 1:  ifactor = 1.189
instr 1:  inew = 523.229
      

See Also

cent, db, octave

Credits

Example written by Kevin Conder.

New in version 4.16