return whisper.Whisper_lang_str(context.params.Language())
}
+func (context *context) DetectedLanguage() string {
+ return whisper.Whisper_lang_str(context.model.ctx.Whisper_full_lang_id())
+}
+
// Set translate flag
func (context *context) SetTranslate(v bool) {
context.params.SetTranslate(v)
err = context.Process(data, nil, nil, nil)
assert.NoError(err)
}
+
+func TestDetectedLanguage(t *testing.T) {
+ assert := assert.New(t)
+
+ fh, err := os.Open(SamplePath)
+ assert.NoError(err)
+ defer fh.Close()
+
+ // Decode the WAV file - load the full buffer
+ dec := wav.NewDecoder(fh)
+ buf, err := dec.FullPCMBuffer()
+ assert.NoError(err)
+ assert.Equal(uint16(1), dec.NumChans)
+
+ data := buf.AsFloat32Buffer().Data
+
+ model, err := whisper.New(ModelPath)
+ assert.NoError(err)
+ assert.NotNil(model)
+ defer model.Close()
+
+ context, err := model.NewContext()
+ assert.NoError(err)
+
+ err = context.Process(data, nil, nil, nil)
+ assert.NoError(err)
+
+ expectedLanguage := "en"
+ actualLanguage := context.DetectedLanguage()
+ assert.Equal(expectedLanguage, actualLanguage)
+}
SetTranslate(bool) // Set translate flag
IsMultilingual() bool // Return true if the model is multilingual.
Language() string // Get language
+ DetectedLanguage() string // Get detected language
SetOffset(time.Duration) // Set offset
SetDuration(time.Duration) // Set duration