Package mel

Class AudioFeatureExtraction

java.lang.Object
mel.AudioFeatureExtraction

public class AudioFeatureExtraction extends Object
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 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: