Package mel
Class AudioFeatureExtraction
java.lang.Object
mel.AudioFeatureExtraction
Copied from https://github.com/Subtitle-Synchronizer/jlibrosa/blob/master/src/main/java/com/jlibrosa/audio/process/AudioFeatureExtraction.java
This Class calculates the MFCC, STFT values of given audio samples.
Source based on https://github.com/chiachunfu/speech/blob/master/speechandroid/src/org/tensorflow/demo/mfcc/MFCC.java
- Author:
- abhi-rawat1
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfloat[]extractInvSTFTFeaturesAsFloatValues(org.apache.commons.math3.complex.Complex[][] cmplxSTFTValues, boolean paddingFlag) This function extracts the inverse STFT values as complex valuesfloat[]extractMFCCFeatures(float[] doubleInputBuffer) This function extract MFCC values from given Audio Magnitude Values.double[][]extractSTFTFeatures(float[] y) This function extract STFT values from given Audio Magnitude Values.org.apache.commons.math3.complex.Complex[][]extractSTFTFeaturesAsComplexValues(float[] y, boolean paddingFlag) This function extracts the STFT values as complex valuesprotected double[]freqToMel(double[] freqs) To convert hz frequencies into mel frequenciesprotected double[]freqToMelS(double[] freqs) To convert hz frequencies into mel frequencies.doublegetfMax()doublegetfMin()intintintgetN_fft()intintdoubledouble[][]This function is used to create a Filterbank matrix to combine FFT bins into Mel-frequency bins.double[][]melSpectrogram(float[] y) This function generates mel spectrogram valuesfloat[][]melSpectrogramWithComplexValueProcessing(float[] y) This function generates mel spectrogram values with extracted STFT features as complex valuesvoidsetfMax(double fMax) voidsetfMin(double fMin) voidsetHop_length(int hop_length) voidsetLength(int length) voidsetN_fft(int n_fft) voidsetN_mels(int n_mels) voidsetN_mfcc(int n_mfccVal) Variable for holding n_mfcc valuevoidsetSampleRate(double sampleRateVal) Variable for holding Sample Rate valuedouble[][]stftMagSpec(double[] y)
-
Constructor Details
-
AudioFeatureExtraction
public AudioFeatureExtraction()
-
-
Method Details
-
setSampleRate
public void setSampleRate(double sampleRateVal) Variable for holding Sample Rate value- Parameters:
sampleRateVal-
-
getLength
public int getLength() -
setLength
public void setLength(int length) -
getfMax
public double getfMax() -
setfMax
public void setfMax(double fMax) -
getfMin
public double getfMin() -
setfMin
public void setfMin(double fMin) -
getN_fft
public int getN_fft() -
setN_fft
public void setN_fft(int n_fft) -
getHop_length
public int getHop_length() -
setHop_length
public void setHop_length(int hop_length) -
getN_mels
public int getN_mels() -
setN_mels
public void setN_mels(int n_mels) -
getN_mfcc
public int getN_mfcc() -
getSampleRate
public double getSampleRate() -
setN_mfcc
public void setN_mfcc(int n_mfccVal) Variable for holding n_mfcc value- Parameters:
n_mfccVal-
-
extractMFCCFeatures
public float[] extractMFCCFeatures(float[] doubleInputBuffer) This function extract MFCC values from given Audio Magnitude Values.- Parameters:
doubleInputBuffer-- Returns:
-
melSpectrogram
public double[][] melSpectrogram(float[] y) This function generates mel spectrogram values- Parameters:
y-- Returns:
-
melSpectrogramWithComplexValueProcessing
public float[][] melSpectrogramWithComplexValueProcessing(float[] y) This function generates mel spectrogram values with extracted STFT features as complex values- Parameters:
y-- Returns:
-
stftMagSpec
public double[][] stftMagSpec(double[] y) -
extractSTFTFeaturesAsComplexValues
public org.apache.commons.math3.complex.Complex[][] extractSTFTFeaturesAsComplexValues(float[] y, boolean paddingFlag) This function extracts the STFT values as complex values- Parameters:
y-- Returns:
-
extractInvSTFTFeaturesAsFloatValues
public float[] extractInvSTFTFeaturesAsFloatValues(org.apache.commons.math3.complex.Complex[][] cmplxSTFTValues, boolean paddingFlag) This function extracts the inverse STFT values as complex values- Parameters:
y-- Returns:
-
extractSTFTFeatures
public double[][] extractSTFTFeatures(float[] y) This function extract STFT values from given Audio Magnitude Values.- Parameters:
y-- Returns:
-
melFilter
public double[][] melFilter()This function is used to create a Filterbank matrix to combine FFT bins into Mel-frequency bins.- Returns:
-
freqToMelS
protected double[] freqToMelS(double[] freqs) To convert hz frequencies into mel frequencies.- Parameters:
freqs-- Returns:
-
freqToMel
protected double[] freqToMel(double[] freqs) To convert hz frequencies into mel frequencies- Parameters:
freqs-- Returns:
-