midiReference
Class MidiReference

java.lang.Object
  extended by midiReference.MidiReference

public class MidiReference
extends java.lang.Object

Collection of methods designed to make translating between the language of music to midi values. Contains methods that make note numbers, not names, and frequencies available, as well as simple methods to create scales and chords based on a note.

Author:
gmuller

Method Summary
 java.lang.Object clone()
           
 int[] createChord(int noteNumber, ChordReference chordRef)
          Create a int[] chord using an int note number and a ChordReference using octave 0
 int[] createChord(int note, ChordReference chordRef, int octave)
          Create a int[] chord using an int note number and ChordReference
 int[] createChord(int note, int[] chordDegrees)
          Create a int[] chord using an int note number and int[] chord using octave 0
 int[] createChord(int note, int[] chordDegrees, int octave)
          Create a int[] chord using an int note number and int[] chord
 int[] createChord(NoteReference noteRef, ChordReference chordRef)
          Create a int[] chord using a NoteReference and a ChordReference using octave 0
 int[] createChord(NoteReference noteRef, ChordReference chordRef, int octave)
          Create a int[] chord using an NoteReference and ChordReference
 int[] createChord(NoteReference noteRef, int[] chordDegrees)
          Create a int[] chord using an NoteReference and an int[] chord using octave 0
static int[] createScale(int[] scaleDegrees, int noteNumber)
          Create a scale type using the int note number and int[] scale degrees provided
 int[] createScale(int[] scaleDegrees, NoteReference baseNote)
          Create a scale from a NoteReference and int[] scale degrees
static int[] createScale(ScaleReference baseScale, NoteReference baseNote)
          Create a scale from a NoteReference and a ScaleReference
static MidiReference getMidiReference()
          Create a midiReference class.
 float getNoteFrequency(int noteNumber)
          Get note frequency from midi note number
 float getNoteFrequency(java.lang.String noteName)
          Get note frequency from note name.
 int getNoteFromFrequency(float frequency)
          Get approximate midi note number from frequency
 java.lang.Integer getNoteFromSamples(java.lang.Integer sampleRate, float samples)
          Get note number from samples
 java.lang.String getNoteName(int noteNumber)
          Get note name from note number.
 java.lang.String getNoteName(int noteNumber, boolean transformNote)
          Get note name from midi note number.
 java.lang.String getNoteName(int noteNumber, boolean transformNote, boolean stripOctave)
          Get note name from midi note number.
 int getNoteNumber(java.lang.String noteName)
          Get midi note number from note name
 int[] getRelatedMode(int[] scaleIn, ScaleReference scaleRef)
          NOT YET IMPLEMENTED
 boolean isScale(int[] scale, int noteNumber)
          Check if a note is in a scale
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getNoteName

public java.lang.String getNoteName(int noteNumber)
Get note name from note number.

Parameters:
noteNumber -
Returns:
String note name with no formatting (B Flat at octave 6 will appear as "Bb6/A#6") ;

getNoteName

public java.lang.String getNoteName(int noteNumber,
                                    boolean transformNote)
Get note name from midi note number. If transform note is true, return only one note name (i.e. B flat at octave 6 returns "Bb6")

Parameters:
noteNumber -
transformNote -
Returns:
String note name

getNoteName

public java.lang.String getNoteName(int noteNumber,
                                    boolean transformNote,
                                    boolean stripOctave)
Get note name from midi note number. If transform note is true, return only one note name (i.e. B flat at octave 6 returns "Bb" when both transform note and stripOctave are true)

Parameters:
noteNumber -
transformNote -
stripOctave -
Returns:
String note name

getNoteNumber

public int getNoteNumber(java.lang.String noteName)
Get midi note number from note name

Parameters:
noteName -
Returns:
int midi note number

getNoteFrequency

public float getNoteFrequency(int noteNumber)
Get note frequency from midi note number

Parameters:
noteNumber -
Returns:
float frequency

getNoteFrequency

public float getNoteFrequency(java.lang.String noteName)
Get note frequency from note name.

Parameters:
noteName -
Returns:
float frequency

getNoteFromFrequency

public int getNoteFromFrequency(float frequency)
Get approximate midi note number from frequency

Parameters:
frequency -
Returns:
int midi note number

getNoteFromSamples

public java.lang.Integer getNoteFromSamples(java.lang.Integer sampleRate,
                                            float samples)
Get note number from samples

Parameters:
sampleRate - (ex: 44100)
samples - (256)
Returns:
Integer midi note number

createScale

public static int[] createScale(int[] scaleDegrees,
                                int noteNumber)
Create a scale type using the int note number and int[] scale degrees provided

Parameters:
scaleDegrees -
noteNumber -
Returns:
int[] scale

createScale

public int[] createScale(int[] scaleDegrees,
                         NoteReference baseNote)
Create a scale from a NoteReference and int[] scale degrees

Parameters:
scaleDegrees -
baseNote -
Returns:
int[] scale
See Also:
createScale(int[], int)

createScale

public static int[] createScale(ScaleReference baseScale,
                                NoteReference baseNote)
Create a scale from a NoteReference and a ScaleReference

Parameters:
baseScale -
baseNote -
Returns:
int[] scale
See Also:
createScale(int[], int)

getRelatedMode

public int[] getRelatedMode(int[] scaleIn,
                            ScaleReference scaleRef)
NOT YET IMPLEMENTED

Parameters:
scaleIn -
scaleRef -
Returns:
int[] scale

isScale

public boolean isScale(int[] scale,
                       int noteNumber)
Check if a note is in a scale

Parameters:
scale -
noteNumber -
Returns:
boolean note is in scale

createChord

public int[] createChord(NoteReference noteRef,
                         ChordReference chordRef)
Create a int[] chord using a NoteReference and a ChordReference using octave 0

Parameters:
noteRef -
chordRef -
Returns:
int[] chord
See Also:
createChord(int, int[])

createChord

public int[] createChord(NoteReference noteRef,
                         ChordReference chordRef,
                         int octave)
Create a int[] chord using an NoteReference and ChordReference

Parameters:
noteRef -
chordRef -
octave -
Returns:
int[] chord
See Also:
createChord(int, int[], int)

createChord

public int[] createChord(int noteNumber,
                         ChordReference chordRef)
Create a int[] chord using an int note number and a ChordReference using octave 0

Parameters:
noteNumber -
chordRef -
Returns:
int[] chord
See Also:
createChord(int, int[])

createChord

public int[] createChord(int note,
                         ChordReference chordRef,
                         int octave)
Create a int[] chord using an int note number and ChordReference

Parameters:
note -
chordRef -
octave -
Returns:
int[] chord
See Also:
createChord(int, int[], int)

createChord

public int[] createChord(NoteReference noteRef,
                         int[] chordDegrees)
Create a int[] chord using an NoteReference and an int[] chord using octave 0

Parameters:
noteRef -
chordDegrees -
Returns:
int[] chord
See Also:
createChord(int, int[])

createChord

public int[] createChord(int note,
                         int[] chordDegrees)
Create a int[] chord using an int note number and int[] chord using octave 0

Parameters:
note -
chordDegrees -
Returns:
int[] chord
See Also:
createChord(int, int[], int)

createChord

public int[] createChord(int note,
                         int[] chordDegrees,
                         int octave)
Create a int[] chord using an int note number and int[] chord

Parameters:
note -
chordDegrees -
octave -
Returns:
int[] chord
See Also:
createChord(int, int[], int)

getMidiReference

public static MidiReference getMidiReference()
Create a midiReference class. Calls is protected to the extent that it will only allow one instantiation.

Returns:
MidiReference

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
Overrides:
clone in class java.lang.Object
Throws:
java.lang.CloneNotSupportedException