com.softsynth.jsyn
Class EqualTemperedTuning

java.lang.Object
  extended by com.softsynth.jsyn.EqualTemperedTuning

public class EqualTemperedTuning
extends java.lang.Object

Equal Tempered Tuning Calculates frequencies based on pitch indices. Every interval between successive notes in the tuning is equal to the next, thus the name. A typical Western piano is tuned to twelve tone equal temperament, or "12 TET". A "12 TET" is what many traditional European and American musicians refer to as "in tune". Traditional musicians from other parts of the world, however, tend to use non-equal tempered tunings, for example, the Javanese 5-tone Slendro and 7-tone Pelog tunings.


Constructor Summary
EqualTemperedTuning()
          Create a twelve tone equal tempered tuning with a fundamental of 110.0 Hz.
EqualTemperedTuning(double fundamental)
          Create a twelve tone equal tempered tuning.
EqualTemperedTuning(double fundamental, int notesPerOctave)
          Create a notesPerOctave tone equal tempered tuning.
 
Method Summary
 double getFrequency(double pitch)
          Calculate frequency based on pitch.
 double getFrequency(int pitch)
          Calculate frequency based on integer pitch.
 double getFrequency(int pitch, int cents)
          Calculate frequency based on integer pitch and a detune value in cents.
 double getFundamental()
           
static double getMIDIFrequency(double pitch)
          Calculate frequency in Hertz based on MIDI pitch.
static double getMIDIFrequency(int pitch, int cents)
          Calculate frequency based on MIDI pitch.
static double getMIDIPitch(double frequency)
          Calculate MIDI pitch based on frequency in Hertz.
 int getNotesPerOctave()
           
 double getPitch(double frequency)
          Calculate pitch based on frequency.
static void main(java.lang.String[] args)
           
 void setFundamental(double fundamental)
           
 void setNotesPerOctave(int notesPerOctave)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EqualTemperedTuning

public EqualTemperedTuning()
Create a twelve tone equal tempered tuning with a fundamental of 110.0 Hz.


EqualTemperedTuning

public EqualTemperedTuning(double fundamental)
Create a twelve tone equal tempered tuning.

Parameters:
fundamental - Frequency that will be returned when getFrequency(0) is called.

EqualTemperedTuning

public EqualTemperedTuning(double fundamental,
                           int notesPerOctave)
Create a notesPerOctave tone equal tempered tuning.

Parameters:
fundamental - Frequency that will be returned when getFrequency(0) is called.
notesPerOctave - Frequency will double when pitch increased by this amount. Typically 12 for Western music.
Method Detail

setNotesPerOctave

public void setNotesPerOctave(int notesPerOctave)

getNotesPerOctave

public int getNotesPerOctave()

setFundamental

public void setFundamental(double fundamental)

getFundamental

public double getFundamental()

getPitch

public double getPitch(double frequency)
Calculate pitch based on frequency. The fundamental frequency will return zero.


getFrequency

public double getFrequency(double pitch)
Calculate frequency based on pitch. A pitch of zero will return the fundamental frequency. A pitch of 1.00 will return a frequency one semitone above the fundamental. A pitch of 1.50 will return a frequency one semitone plus 50 cents above the fundamental.


getFrequency

public double getFrequency(int pitch,
                           int cents)
Calculate frequency based on integer pitch and a detune value in cents.


getFrequency

public double getFrequency(int pitch)
Calculate frequency based on integer pitch.


getMIDIPitch

public static double getMIDIPitch(double frequency)
Calculate MIDI pitch based on frequency in Hertz. Middle C is 60.0.


getMIDIFrequency

public static double getMIDIFrequency(double pitch)
Calculate frequency in Hertz based on MIDI pitch. Middle C is 60.0. You can use fractional pitches so 60.5 would give you a pitch half way between C and C#.


getMIDIFrequency

public static double getMIDIFrequency(int pitch,
                                      int cents)
Calculate frequency based on MIDI pitch. Middle C is (60,0).


main

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