From 1e45911f1ab3424b7125edb965264ef6eb0bca77 Mon Sep 17 00:00:00 2001 From: Jay Binks Date: Sun, 25 Jun 2023 21:45:33 +1000 Subject: [PATCH] go : add support for whisper_full_lang_id() (#1010) * * Add support for whisper_full_lang_id() to go bindings * Expose token.id so we can test beg, eot etc --------- Co-authored-by: Jay Binks --- bindings/go/whisper.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/bindings/go/whisper.go b/bindings/go/whisper.go index 451f3f8d..8a5efa7d 100644 --- a/bindings/go/whisper.go +++ b/bindings/go/whisper.go @@ -338,6 +338,18 @@ func (ctx *Context) Whisper_full_parallel(params Params, samples []float32, proc } } +// Return the id of the autodetected language, returns -1 if not found +// Added to whisper.cpp in +// https://github.com/ggerganov/whisper.cpp/commit/a1c1583cc7cd8b75222857afc936f0638c5683d6 +// +// Examples: +// +// "de" -> 2 +// "german" -> 2 +func (ctx *Context) Whisper_full_lang_id() int { + return int(C.whisper_full_lang_id((*C.struct_whisper_context)(ctx))) +} + // Number of generated text segments. // A segment can be a few words, a sentence, or even a paragraph. func (ctx *Context) Whisper_full_n_segments() int { @@ -451,3 +463,7 @@ func (t TokenData) T0() int64 { func (t TokenData) T1() int64 { return int64(t.t1) } + +func (t TokenData) Id() Token { + return Token(t.id) +}