binding : Expose the audio_ctx param through the Go binding (#1368)

* expose the audio_ctx param through the go binding

* expose the audio_ctx param to the go binding context
pull/1381/head
Johan 2023-10-15 05:35:06 -07:00 committed by GitHub
parent 9a7074d4aa
commit 54c978c3a3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 13 additions and 1 deletions

View File

@ -118,6 +118,11 @@ func (p *Params) SetMaxTokensPerSegment(n int) {
p.max_tokens = C.int(n) p.max_tokens = C.int(n)
} }
// Set audio encoder context
func (p *Params) SetAudioCtx(n int) {
p.audio_ctx = C.int(n)
}
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
// PRIVATE METHODS // 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(" n_max_text_ctx=%d", p.n_max_text_ctx)
str += fmt.Sprintf(" offset_ms=%d", p.offset_ms) str += fmt.Sprintf(" offset_ms=%d", p.offset_ms)
str += fmt.Sprintf(" duration_ms=%d", p.duration_ms) str += fmt.Sprintf(" duration_ms=%d", p.duration_ms)
str += fmt.Sprintf(" audio_ctx=%d", p.audio_ctx)
if p.translate { if p.translate {
str += " translate" str += " translate"
} }

View File

@ -82,7 +82,7 @@ func (context *context) SetSpeedup(v bool) {
} }
func (context *context) SetSplitOnWord(v bool) { func (context *context) SetSplitOnWord(v bool) {
context.params.SetSplitOnWord(v) context.params.SetSplitOnWord(v)
} }
// Set number of threads to use // Set number of threads to use
@ -125,6 +125,11 @@ func (context *context) SetMaxTokensPerSegment(n uint) {
context.params.SetMaxTokensPerSegment(int(n)) 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 // ResetTimings resets the mode timings. Should be called before processing
func (context *context) ResetTimings() { func (context *context) ResetTimings() {
context.model.ctx.Whisper_reset_timings() context.model.ctx.Whisper_reset_timings()

View File

@ -48,6 +48,7 @@ type Context interface {
SetMaxSegmentLength(uint) // Set max segment length in characters SetMaxSegmentLength(uint) // Set max segment length in characters
SetTokenTimestamps(bool) // Set token timestamps flag SetTokenTimestamps(bool) // Set token timestamps flag
SetMaxTokensPerSegment(uint) // Set max tokens per segment (0 = no limit) SetMaxTokensPerSegment(uint) // Set max tokens per segment (0 = no limit)
SetAudioCtx(uint) // Set audio encoder context
// Process mono audio data and return any errors. // Process mono audio data and return any errors.
// If defined, newly generated segments are passed to the // If defined, newly generated segments are passed to the