public final class PitchClassHistogram extends Histogram
! mambuti.scl ! African Mambuti Flutes (aerophone; vertical wooden; one note each) 8 ! 204.000 cents 411.000 cents 710.000 cents 1000.000 cents 1206.000 cents 1409.000 cents 1918.000 cents 2321.001 cents
6.000 cents (1206 - 1200) 204.000 cents | 209.000 cents (1409 - 1200) | 411.000 cents 710.000 cents | 718.000 cents (1918 - 1200) | 1000.000 cents 1121.001 cents (2321 - 1200)The scala scale archive is a collection of 3772 scales; 424 of which do not end on an octave (mostly ambitus descriptions of an instrument).
Constructor and Description |
---|
PitchClassHistogram()
Create a new tone scale using the configured bin width.
|
Modifier and Type | Method and Description |
---|---|
static PitchClassHistogram |
createToneScale(double[] peaks) |
static PitchClassHistogram |
createToneScale(double[] peaks,
double[] heights) |
static PitchClassHistogram |
createToneScale(double[] peaks,
double[] heights,
double[] widths) |
static PitchClassHistogram |
createToneScale(double[] peaks,
double[] heights,
double[] widths,
double[] standardDeviations)
Creates a theoretical tone scale using a mixture of Gaussian functions
See an automatic pitch analysis method for Turkish maqam music.
|
static void |
exportPeaksToScalaFileFormat(java.lang.String fileName,
java.lang.String toneScaleName,
java.util.List<Peak> peaks)
Saves the scale in the Scala scale
file format:
|
void |
exportToScalaScaleFileFormat(java.lang.String fileName,
java.lang.String toneScaleName)
Executes peak detection on this histogram and saves the scale in the Scala scale
file format:
|
boolean |
isMelodic()
Checks if the tone scale is "melodic": it has one or more clearly defined
peaks.
|
add, add, add, addToEachBin, baselineHistogram, clear, clone, correlation, correlation, correlationWithDisplacement, correlationWithDisplacement, displace, displacementForOptimalCorrelation, displacementForOptimalCorrelation, export, exportMatLab, gaussianSmooth, getAbsoluteSumFreq, getClassWidth, getCount, getCountForClass, getCumFreq, getCumPct, getEntropy, getKeyForClass, getMaxBinCount, getMean, getMedian, getNumberOfClasses, getPct, getStart, getStop, getSumFreq, invert, isWrapped, keySet, max, mean, multiply, normalize, raise, setCount, smooth, subtract, toString, toString, valueAddedHook
public PitchClassHistogram()
public void exportToScalaScaleFileFormat(java.lang.String fileName, java.lang.String toneScaleName)
fileName
- The scala file name.toneScaleName
- The name of the tone scale.public static void exportPeaksToScalaFileFormat(java.lang.String fileName, java.lang.String toneScaleName, java.util.List<Peak> peaks)
fileName
- toneScaleName
- peaks
- public static PitchClassHistogram createToneScale(double[] peaks)
public static PitchClassHistogram createToneScale(double[] peaks, double[] heights)
public static PitchClassHistogram createToneScale(double[] peaks, double[] heights, double[] widths)
public static PitchClassHistogram createToneScale(double[] peaks, double[] heights, double[] widths, double[] standardDeviations)
peaks
- the position of the peaks. The position is defined in cents.heights
- the heights of the peaks. If null the heights for all peaks is
200.widths
- the widths of the peaks in cents. If null the width is 25
cents for all peaks. The width is measured at a certain
height. The mean?standardDeviations
- defines the shape of the peak. If null the standard deviation
is 1. Bigger values give a wider peak.public boolean isMelodic()