go : add wrapper for system info (#456)

This commit is contained in:
Lukas Rist
2023-01-28 17:44:56 +01:00
committed by GitHub
parent beb9512be3
commit 2bee2650c6
4 changed files with 22 additions and 1 deletions

View File

@@ -1,7 +1,9 @@
package whisper
import (
"fmt"
"io"
"runtime"
"strings"
"time"
@@ -117,13 +119,22 @@ func (context *context) PrintTimings() {
context.model.ctx.Whisper_print_timings()
}
// SystemInfo returns the system information
func (context *context) SystemInfo() string {
return fmt.Sprintf("system_info: n_threads = %d / %d | %s\n",
context.params.Threads(),
runtime.NumCPU(),
whisper.Whisper_print_system_info(),
)
}
// Use mel data at offset_ms to try and auto-detect the spoken language
// Make sure to call whisper_pcm_to_mel() or whisper_set_mel() first.
// Returns the probabilities of all languages.
func (context *context) WhisperLangAutoDetect(offset_ms int, n_threads int) ([]float32, error) {
langProbs, err := context.model.ctx.Whisper_lang_auto_detect(offset_ms, n_threads)
if err != nil {
return nil, err
return nil, err
}
return langProbs, nil
}

View File

@@ -61,8 +61,11 @@ type Context interface {
IsLANG(Token, string) bool // Test for token associated with a specific language
IsText(Token) bool // Test for text token
// Timings
PrintTimings()
ResetTimings()
SystemInfo() string
}
// Segment is the text result of a speech recognition.