com.softsynth.jmsl.util
Class TuningET

java.lang.Object
  extended by com.softsynth.jmsl.util.Tuning
      extended by com.softsynth.jmsl.util.TuningET

public class TuningET
extends Tuning

TuningET Equal tempered Tuning

 
  Example:
  TuningET western12 = new TuningET(12, 22.0);
  TuningET quarterTone = new TuningET(24, 22.0);
  
 

Author:
Nick Didkovsky, Phil Burk

Field Summary
static double BASE_FREQ
          in unstretched 12 tone ET, BASE_FREQ = 8.175 can be used as lowest pitch
static double MIDDLE_C_FREQ
          in 12 tone ET, this reference frequency for pitch 60 ( Middle C ) is 261.6255653005986 Hz [This makes A4 440Hz]
static double MIDDLE_C_PITCH
          reference pitch 60
 
Constructor Summary
TuningET()
          Build ET tuning with pitch MIDDLE_C_PITCH (60) referenced to MIDDLE_C_FREQ (261.6255653005986 Hz), No octave stretch.
TuningET(int stepsPerOctave)
          Build ET tuning with specifie stepsPerOctave, uses pitch 0 referenced to BASE_FREQ (8.175 Hz)
TuningET(int stepsPerOctave, double baseFrequency)
          Build ET tuning with pitch 0 referenced to baseFrequency
TuningET(int stepsPerOctave, double referenceFrequency, double referencePitch, int octaveStretchInCents)
          Build ET tuning with pitch MIDDLE_C_PITCH (60) referenced to MIDDLE_C_FREQ (261.625565 Hz), specify octave stretch in cents
TuningET(int stepsPerOctave, double baseFrequency, int octaveStretchInCents)
          Build ET tuning with pitch 0 referenced to baseFrequency, adding octave stretch in cents.
 
Method Summary
 double getBaseFrequency()
          Deprecated. Use getReferenceFrequency() and getReferencePitch()
 double getFrequency(double pitch)
           
 double getFrequency(double pitch, int octaveNumber)
          pitchIndex is 0..stepsPerOctave-1.
 double getNotesPerOctave()
          Deprecated. use getStepsPerOctave()
 double getPitch(double frequency)
          convert frequency to double precision pitch
 double getStepsPerOctave()
           
static void main(java.lang.String[] args)
           
 void setBaseFrequency(double f)
          Deprecated. Use setReferenceFrequency() and setReferencePitch()
 void setNotesPerOctave(double n)
          Deprecated. use setStepsPerOctave()
 void setStepsPerOctave(double n)
           
 
Methods inherited from class com.softsynth.jmsl.util.Tuning
freqPlusCents, getOctaveRatio, getOctaveStretchCents, getReferenceFrequency, getReferencePitch, setOctaveRatio, setOctaveStretchCents, setReferenceFrequency, setReferencePitch, stretch
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

BASE_FREQ

public static final double BASE_FREQ
in unstretched 12 tone ET, BASE_FREQ = 8.175 can be used as lowest pitch

See Also:
Constant Field Values

MIDDLE_C_FREQ

public static final double MIDDLE_C_FREQ
in 12 tone ET, this reference frequency for pitch 60 ( Middle C ) is 261.6255653005986 Hz [This makes A4 440Hz]

See Also:
Constant Field Values

MIDDLE_C_PITCH

public static final double MIDDLE_C_PITCH
reference pitch 60

See Also:
Constant Field Values
Constructor Detail

TuningET

public TuningET()
Build ET tuning with pitch MIDDLE_C_PITCH (60) referenced to MIDDLE_C_FREQ (261.6255653005986 Hz), No octave stretch. Useful for western music, for example. Setting octave stretch will cause pitches above middle C to stretch up, pitches below middle C to stretch down


TuningET

public TuningET(int stepsPerOctave,
                double baseFrequency)
Build ET tuning with pitch 0 referenced to baseFrequency


TuningET

public TuningET(int stepsPerOctave,
                double baseFrequency,
                int octaveStretchInCents)
Build ET tuning with pitch 0 referenced to baseFrequency, adding octave stretch in cents. If you wnat the middle of the tuning to be anchored to a reference frequency, use TuningET(int stepsPerOctave, double referenceFrequency, double referencePitch, int octaveStretchInCents)


TuningET

public TuningET(int stepsPerOctave,
                double referenceFrequency,
                double referencePitch,
                int octaveStretchInCents)
Build ET tuning with pitch MIDDLE_C_PITCH (60) referenced to MIDDLE_C_FREQ (261.625565 Hz), specify octave stretch in cents


TuningET

public TuningET(int stepsPerOctave)
Build ET tuning with specifie stepsPerOctave, uses pitch 0 referenced to BASE_FREQ (8.175 Hz)

Method Detail

getFrequency

public double getFrequency(double pitch,
                           int octaveNumber)
pitchIndex is 0..stepsPerOctave-1. Includes octave stretch in cents in calculation.

Specified by:
getFrequency in class Tuning
Returns:
frequency associated with pitchIndex and octaveNumber.

getPitch

public double getPitch(double frequency)
convert frequency to double precision pitch


getFrequency

public double getFrequency(double pitch)
Specified by:
getFrequency in class Tuning
Returns:
frequency of pitch associated with any pitchIndex. Calculation includes octave stretch in cents (if any). Calls Tuning.stretch() as a last step, which you can override

setBaseFrequency

public void setBaseFrequency(double f)
Deprecated. Use setReferenceFrequency() and setReferencePitch()

Sets referenceFrequency to f, sets reference pitch to 0


getBaseFrequency

public double getBaseFrequency()
Deprecated. Use getReferenceFrequency() and getReferencePitch()


setNotesPerOctave

public void setNotesPerOctave(double n)
Deprecated. use setStepsPerOctave()


getNotesPerOctave

public double getNotesPerOctave()
Deprecated. use getStepsPerOctave()


setStepsPerOctave

public void setStepsPerOctave(double n)

getStepsPerOctave

public double getStepsPerOctave()
Specified by:
getStepsPerOctave in class Tuning
Returns:
number of steps in an octave (12 for western 12tet for example)

main

public static void main(java.lang.String[] args)