forked from extern/whisper.cpp
go : added wrappers to reset and print timings (#436)
This commit is contained in:
parent
411ea9b833
commit
02c7516c57
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,4 +1,5 @@
|
|||||||
*.o
|
*.o
|
||||||
|
*.a
|
||||||
.cache/
|
.cache/
|
||||||
.vs/
|
.vs/
|
||||||
.vscode/
|
.vscode/
|
||||||
|
@ -64,10 +64,13 @@ func Process(model whisper.Model, path string, flags *Flags) error {
|
|||||||
|
|
||||||
// Process the data
|
// Process the data
|
||||||
fmt.Fprintf(flags.Output(), " ...processing %q\n", path)
|
fmt.Fprintf(flags.Output(), " ...processing %q\n", path)
|
||||||
|
context.ResetTimings()
|
||||||
if err := context.Process(data, cb); err != nil {
|
if err := context.Process(data, cb); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
context.PrintTimings()
|
||||||
|
|
||||||
// Print out the results
|
// Print out the results
|
||||||
switch {
|
switch {
|
||||||
case flags.GetOut() == "srt":
|
case flags.GetOut() == "srt":
|
||||||
|
@ -107,6 +107,16 @@ func (context *context) SetMaxTokensPerSegment(n uint) {
|
|||||||
context.params.SetMaxTokensPerSegment(int(n))
|
context.params.SetMaxTokensPerSegment(int(n))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ResetTimings resets the mode timings. Should be called before processing
|
||||||
|
func (context *context) ResetTimings() {
|
||||||
|
context.model.ctx.Whisper_reset_timings()
|
||||||
|
}
|
||||||
|
|
||||||
|
// PrintTimings prints the model timings to stdout.
|
||||||
|
func (context *context) PrintTimings() {
|
||||||
|
context.model.ctx.Whisper_print_timings()
|
||||||
|
}
|
||||||
|
|
||||||
// Process new sample data and return any errors
|
// Process new sample data and return any errors
|
||||||
func (context *context) Process(data []float32, cb SegmentCallback) error {
|
func (context *context) Process(data []float32, cb SegmentCallback) error {
|
||||||
if context.model.ctx == nil {
|
if context.model.ctx == nil {
|
||||||
|
@ -60,6 +60,9 @@ type Context interface {
|
|||||||
IsNOT(Token) bool // Test for "No timestamps" token
|
IsNOT(Token) bool // Test for "No timestamps" token
|
||||||
IsLANG(Token, string) bool // Test for token associated with a specific language
|
IsLANG(Token, string) bool // Test for token associated with a specific language
|
||||||
IsText(Token) bool // Test for text token
|
IsText(Token) bool // Test for text token
|
||||||
|
|
||||||
|
PrintTimings()
|
||||||
|
ResetTimings()
|
||||||
}
|
}
|
||||||
|
|
||||||
// Segment is the text result of a speech recognition.
|
// Segment is the text result of a speech recognition.
|
||||||
|
Loading…
Reference in New Issue
Block a user