Package com.softsynth.jmsl.util
Class TuningET
java.lang.Object
com.softsynth.jmsl.util.Tuning
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
Fields Modifier and Type Field Description static double
BASE_FREQ
in unstretched 12 tone ET, BASE_FREQ = 8.175 can be used as lowest pitchstatic 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
Constructors Constructor Description 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 baseFrequencyTuningET(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 centsTuningET(int stepsPerOctave, double baseFrequency, int octaveStretchInCents)
Build ET tuning with pitch 0 referenced to baseFrequency, adding octave stretch in cents. -
Method Summary
Modifier and Type Method Description 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 pitchdouble
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 Details
-
BASE_FREQ
public static final double BASE_FREQin 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_FREQin 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_PITCHreference pitch 60- See Also:
- Constant Field Values
-
-
Constructor Details
-
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 Details
-
getFrequency
public double getFrequency(double pitch, int octaveNumber)pitchIndex is 0..stepsPerOctave-1. Includes octave stretch in cents in calculation.- Specified by:
getFrequency
in classTuning
- 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 classTuning
- 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 classTuning
- Returns:
- number of steps in an octave (12 for western 12tet for example)
-
main
public static void main(java.lang.String[] args)
-