ggerganov / whisper.cpp

Port of OpenAI's Whisper model in C/C++
MIT License
33.13k stars 3.32k forks source link

SetMaxTokensPerSegment in go binding causes the segements to end prematurely #984

Open JackKCWong opened 1 year ago

JackKCWong commented 1 year ago

When I use context.SetMaxTokensPerSegment and context.NextSegment, it generates incomplete segments. e.g. when tested using the jfk.wav sample, it gives the following output:

wspr_test.go:33: {Text:And so my fellow Americans ask Start:0s End:30s}

when this value is not set, it gives the correct output:

wspr_test.go:33: {Text:And so my fellow Americans ask not what your country can do for you Start:0s End:8s}
wspr_test.go:33: {Text:ask what you can do for your country. Start:8s End:11s}

test case: https://github.com/JackKCWong/go-whisper-test/blob/main/pkg/whisper/wspr_test.go#L29

pkese commented 1 year ago

I'm seeing the same behavior with dotnet bindings. If MaxTokensPerSegment is set, then only the first segment is returned.

CC @ggerganov