package ch.retorte.intervalmusiccompositor.spi.audio; import javax.sound.sampled.AudioFormat; import javax.sound.sampled.AudioInputStream; /** * Normalizes an {@link AudioInputStream} so that it has standardized audio properties. * * @author nw */ public interface AudioStandardizer { public static final float SAMPLE_RATE = 44100.0F; public static final AudioFormat.Encoding TARGET_ENCODING = AudioFormat.Encoding.PCM_SIGNED; public static final AudioFormat TARGET_AUDIO_FORMAT = new AudioFormat(TARGET_ENCODING, SAMPLE_RATE, 16, 2, 4, SAMPLE_RATE, false); /** * Standardizes the input stream to our desired format. * * @param audioInputStream * the to be standardized source stream. * @return the standardized stream. */ AudioInputStream standardize(AudioInputStream audioInputStream); }