Path: blob/master/examples/java-wav-file-example/src/main/java/org/example/App.java
1171 views
package org.example;12import ai.onnxruntime.OrtException;3import java.io.File;4import java.util.List;56public class App {78private static final String MODEL_PATH = "/path/silero_vad.onnx";9private static final String EXAMPLE_WAV_FILE = "/path/example.wav";10private static final int SAMPLE_RATE = 16000;11private static final float THRESHOLD = 0.5f;12private static final int MIN_SPEECH_DURATION_MS = 250;13private static final float MAX_SPEECH_DURATION_SECONDS = Float.POSITIVE_INFINITY;14private static final int MIN_SILENCE_DURATION_MS = 100;15private static final int SPEECH_PAD_MS = 30;1617public static void main(String[] args) {18// Initialize the Voice Activity Detector19SileroVadDetector vadDetector;20try {21vadDetector = new SileroVadDetector(MODEL_PATH, THRESHOLD, SAMPLE_RATE,22MIN_SPEECH_DURATION_MS, MAX_SPEECH_DURATION_SECONDS, MIN_SILENCE_DURATION_MS, SPEECH_PAD_MS);23fromWavFile(vadDetector, new File(EXAMPLE_WAV_FILE));24} catch (OrtException e) {25System.err.println("Error initializing the VAD detector: " + e.getMessage());26}27}2829public static void fromWavFile(SileroVadDetector vadDetector, File wavFile) {30List<SileroSpeechSegment> speechTimeList = vadDetector.getSpeechSegmentList(wavFile);31for (SileroSpeechSegment speechSegment : speechTimeList) {32System.out.println(String.format("start second: %f, end second: %f",33speechSegment.getStartSecond(), speechSegment.getEndSecond()));34}35}36}373839