public static void main(String[] args) throws Exception { AudioInputStream ais = AudioSystem.getAudioInputStream(new File(args[0])); F0Graph f0Graph = new F0Graph(ais); f0Graph.showInJFrame(args[0], true, true); } }
public F0Graph(double[] signal, int samplingRate, int width, int height) { initialise(new BufferedDoubleDataSource(signal), samplingRate, width, height); }
protected void initialise(DoubleDataSource signal, int samplingRate, int width, int height) { /* * F0Tracker f0Tracker = new F0TrackerAutocorrelationDP(); F0Tracker.F0Contour f0Contour = f0Tracker.analyse(signal, * samplingRate); double frameShiftTime = f0Contour.getFrameShiftTime(); double[] f0Array = f0Contour.getContour(); double * xOffset = 0; */ PitchFileHeader params = new PitchFileHeader(); params.fs = samplingRate; F0TrackerAutocorrelationHeuristic tracker = new F0TrackerAutocorrelationHeuristic(params); tracker.pitchAnalyze(signal); double frameShiftTime = tracker.getSkipSizeInSeconds(); double[] f0Array = tracker.getF0Contour(); double xOffset = tracker.getWindowSizeInSeconds() / 2; super.initialise(width, height, xOffset, frameShiftTime, f0Array); setPrimaryDataSeriesStyle(Color.RED, DRAW_DOTS, DOT_FULLDIAMOND); dotSize = 8; }
spectrogram = new Spectrogram(signal, samplingRate, graphWidth, height * 40 / 100); allGraphs.add(spectrogram); f0Graph = new F0Graph(signal, samplingRate, graphWidth, height * 20 / 100); allGraphs.add(f0Graph); energyGraph = new EnergyGraph(signal, samplingRate, graphWidth, height * 15 / 100);
protected void initialise(DoubleDataSource signal, int samplingRate, int width, int height) { /* * F0Tracker f0Tracker = new F0TrackerAutocorrelationDP(); F0Tracker.F0Contour f0Contour = f0Tracker.analyse(signal, * samplingRate); double frameShiftTime = f0Contour.getFrameShiftTime(); double[] f0Array = f0Contour.getContour(); double * xOffset = 0; */ PitchFileHeader params = new PitchFileHeader(); params.fs = samplingRate; F0TrackerAutocorrelationHeuristic tracker = new F0TrackerAutocorrelationHeuristic(params); tracker.pitchAnalyze(signal); double frameShiftTime = tracker.getSkipSizeInSeconds(); double[] f0Array = tracker.getF0Contour(); double xOffset = tracker.getWindowSizeInSeconds() / 2; super.initialise(width, height, xOffset, frameShiftTime, f0Array); setPrimaryDataSeriesStyle(Color.RED, DRAW_DOTS, DOT_FULLDIAMOND); dotSize = 8; }
spectrogram = new Spectrogram(signal, samplingRate, graphWidth, height * 40 / 100); allGraphs.add(spectrogram); f0Graph = new F0Graph(signal, samplingRate, graphWidth, height * 20 / 100); allGraphs.add(f0Graph); energyGraph = new EnergyGraph(signal, samplingRate, graphWidth, height * 15 / 100);
public static void main(String[] args) throws Exception { AudioInputStream ais = AudioSystem.getAudioInputStream(new File(args[0])); F0Graph f0Graph = new F0Graph(ais); f0Graph.showInJFrame(args[0], true, true); } }
public F0Graph(double[] signal, int samplingRate, int width, int height) { initialise(new BufferedDoubleDataSource(signal), samplingRate, width, height); }
public F0Graph(AudioInputStream ais, int width, int height) { super(); if (!ais.getFormat().getEncoding().equals(AudioFormat.Encoding.PCM_SIGNED)) { ais = AudioSystem.getAudioInputStream(AudioFormat.Encoding.PCM_SIGNED, ais); } if (ais.getFormat().getChannels() > 1) { throw new IllegalArgumentException("Can only deal with mono audio signals"); } AudioDoubleDataSource signal = new AudioDoubleDataSource(ais); initialise(signal, signal.getSamplingRate(), width, height); }
public F0Graph(AudioInputStream ais, int width, int height) { super(); if (!ais.getFormat().getEncoding().equals(AudioFormat.Encoding.PCM_SIGNED)) { ais = AudioSystem.getAudioInputStream(AudioFormat.Encoding.PCM_SIGNED, ais); } if (ais.getFormat().getChannels() > 1) { throw new IllegalArgumentException("Can only deal with mono audio signals"); } AudioDoubleDataSource signal = new AudioDoubleDataSource(ais); initialise(signal, signal.getSamplingRate(), width, height); }