diff --git a/bindings/java/README.md b/bindings/java/README.md index 2be84890..90426997 100644 --- a/bindings/java/README.md +++ b/bindings/java/README.md @@ -23,26 +23,42 @@ import io.github.ggerganov.whispercpp.WhisperCpp; public class Example { public static void main(String[] args) { + WhisperCpp whisper = new WhisperCpp(); - // By default, models are loaded from ~/.cache/whisper/ and are usually named "ggml-${name}.bin" - // or you can provide the absolute path to the model file. - long context = whisper.initContext("base.en"); try { - var whisperParams = whisper.getFullDefaultParams(WhisperSamplingStrategy.WHISPER_SAMPLING_GREEDY); - // custom configuration if required - whisperParams.temperature_inc = 0f; + // By default, models are loaded from ~/.cache/whisper/ and are usually named "ggml-${name}.bin" + // or you can provide the absolute path to the model file. + whisper.initContext("../ggml-base.en.bin"); + WhisperFullParams.ByValue whisperParams = whisper.getFullDefaultParams(WhisperSamplingStrategy.WHISPER_SAMPLING_BEAM_SEARCH); + + // custom configuration if required + //whisperParams.n_threads = 8; + whisperParams.temperature = 0.0f; + whisperParams.temperature_inc = 0.2f; + //whisperParams.language = "en"; + + float[] samples = readAudio(); // divide each value by 32767.0f + List whisperSegmentList = whisper.fullTranscribeWithTime(whisperParams, samples); + + for (WhisperSegment whisperSegment : whisperSegmentList) { - var samples = readAudio(); // divide each value by 32767.0f - whisper.fullTranscribe(whisperParams, samples); + long start = whisperSegment.getStart(); + long end = whisperSegment.getEnd(); - int segmentCount = whisper.getTextSegmentCount(context); - for (int i = 0; i < segmentCount; i++) { - String text = whisper.getTextSegment(context, i); - System.out.println(segment.getText()); + String text = whisperSegment.getSentence(); + + System.out.println("start: "+start); + System.out.println("end: "+end); + System.out.println("text: "+text); + } + + } catch (IOException e) { + e.printStackTrace(); } finally { - whisper.freeContext(context); + whisper.close(); } + } } ```