diff --git a/bindings/go/params.go b/bindings/go/params.go index b480ccf..3c9dd5c 100644 --- a/bindings/go/params.go +++ b/bindings/go/params.go @@ -118,6 +118,11 @@ func (p *Params) SetMaxTokensPerSegment(n int) { p.max_tokens = C.int(n) } +// Set audio encoder context +func (p *Params) SetAudioCtx(n int) { + p.audio_ctx = C.int(n) +} + /////////////////////////////////////////////////////////////////////////////// // PRIVATE METHODS @@ -141,6 +146,7 @@ func (p *Params) String() string { str += fmt.Sprintf(" n_max_text_ctx=%d", p.n_max_text_ctx) str += fmt.Sprintf(" offset_ms=%d", p.offset_ms) str += fmt.Sprintf(" duration_ms=%d", p.duration_ms) + str += fmt.Sprintf(" audio_ctx=%d", p.audio_ctx) if p.translate { str += " translate" } diff --git a/bindings/go/pkg/whisper/context.go b/bindings/go/pkg/whisper/context.go index 6f3c2c7..f51d4f8 100644 --- a/bindings/go/pkg/whisper/context.go +++ b/bindings/go/pkg/whisper/context.go @@ -82,7 +82,7 @@ func (context *context) SetSpeedup(v bool) { } func (context *context) SetSplitOnWord(v bool) { - context.params.SetSplitOnWord(v) + context.params.SetSplitOnWord(v) } // Set number of threads to use @@ -125,6 +125,11 @@ func (context *context) SetMaxTokensPerSegment(n uint) { context.params.SetMaxTokensPerSegment(int(n)) } +// Set audio encoder context +func (context *context) SetAudioCtx(n uint) { + context.params.SetAudioCtx(int(n)) +} + // ResetTimings resets the mode timings. Should be called before processing func (context *context) ResetTimings() { context.model.ctx.Whisper_reset_timings() diff --git a/bindings/go/pkg/whisper/interface.go b/bindings/go/pkg/whisper/interface.go index 771961a..4744271 100644 --- a/bindings/go/pkg/whisper/interface.go +++ b/bindings/go/pkg/whisper/interface.go @@ -48,6 +48,7 @@ type Context interface { SetMaxSegmentLength(uint) // Set max segment length in characters SetTokenTimestamps(bool) // Set token timestamps flag SetMaxTokensPerSegment(uint) // Set max tokens per segment (0 = no limit) + SetAudioCtx(uint) // Set audio encoder context // Process mono audio data and return any errors. // If defined, newly generated segments are passed to the