Class AudioData

java.lang.Object
org.jamdev.jpamutils.wavFiles.AudioData

public class AudioData
extends Object
Holds .wav file data.
Author:
Jamie Macaulay
  • Field Details

  • Constructor Details

    • AudioData

      public AudioData​(int[] samples, float sampleRate)
      Create an AudioData object.
      Parameters:
      samples - - the samples in amplitude units u.
      sampleRate - - the sample rate in samples per second.
    • AudioData

      public AudioData​(short[] samples, float sampleRate)
      Create an AudioData object.
      Parameters:
      samples - - the samples in amplitude units u.
      sampleRate - - the sample rate in samples per second.
    • AudioData

      public AudioData​(double[] wavArray, float sampleRate)
      Create an AudioData object.
      Parameters:
      samples - - the samples in linear amplitude units - 1 to 1
      sampleRate - - the sample rate in samples per second.
  • Method Details

    • getSampleRate

      public float getSampleRate()
      Get the sample rate in samples per second.
      Returns:
      the sample rate in samples per second.
    • getSampleAmplitudes

      public int[] getSampleAmplitudes()
      Get the sample amplitudes in raw bits e.g. +/- 2^16 /2 for 16 bit files.
      Returns:
      the sample amplitudes
    • getLengthInSeconds

      public double getLengthInSeconds()
      Get the length in seconds.
      Returns:
      the length of the file in seconds
    • getScaledSampleAmpliudes

      public double[] getScaledSampleAmpliudes()
      Get the sample amplitudes as a double scaled between -1 and 1.
      Returns:
      the scaled amplitude samples.
    • trim

      public AudioData trim​(int sampleStart, int samplEnd)
      Trim the audio data between two sample indexes.
      Parameters:
      sampleStart - - the sample start.
      samplEnd - - the sample end.
      Returns:
      AudioData object with trimmed data.
    • interpolate

      public AudioData interpolate​(float interpSr)
      Interpolate the audio data (e..g up sample or down sample)
      Parameters:
      interpSr - - the new sample rate.
      Returns:
      AudioData object containing interpolated data and sample rate.
    • preEmphasis

      public AudioData preEmphasis​(double factor)
      Pre-emphasise the audio data so that lower frequencies are attenuated
      Parameters:
      factor - - the pre-emphasis factor
      Returns:
      AudioData object with pre emphasised data.
    • short2Int

      public static int[] short2Int​(short[] samples)
      Convert a short[] array to int[].
      Parameters:
      samples - - the short samples
      Returns:
      the integer array containing the same data.