mirror of
https://github.com/ggerganov/whisper.cpp.git
synced 2024-12-22 05:57:48 +00:00
86a277f78d
* run `go mod tidy` before building examples Running `make examples` after cloning the repository gives the following error: ``` ... [100%] Built target whisper gmake[3]: Leaving directory '/tmp/exp/whisper.cpp/bindings/go/build' gmake[2]: Leaving directory '/tmp/exp/whisper.cpp/bindings/go/build' gmake[1]: Leaving directory '/tmp/exp/whisper.cpp/bindings/go/build' Build example go-model-download Build example go-whisper examples/go-whisper/process.go:11:2: missing go.sum entry for module providing package github.com/go-audio/wav (imported by github.com/ggerganov/whisper.cpp/bindings/go/examples/go-whisper); to add: go get github.com/ggerganov/whisper.cpp/bindings/go/examples/go-whisper make: *** [Makefile:26: examples/go-whisper] Error 1 ``` * remove executable bit from various files
62 lines
1.4 KiB
Go
62 lines
1.4 KiB
Go
package main
|
|
|
|
import (
|
|
"flag"
|
|
)
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
// TYPES
|
|
|
|
type Flags struct {
|
|
*flag.FlagSet
|
|
}
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
// LIFECYCLE
|
|
|
|
func NewFlags(name string, args []string) (*Flags, error) {
|
|
flags := &Flags{
|
|
FlagSet: flag.NewFlagSet(name, flag.ContinueOnError),
|
|
}
|
|
|
|
// Register the command line arguments
|
|
registerFlags(flags)
|
|
|
|
// Parse command line
|
|
if err := flags.Parse(args); err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
// Return success
|
|
return flags, nil
|
|
}
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
// PUBLIC METHODS
|
|
|
|
func (flags *Flags) GetModel() string {
|
|
return flags.Lookup("model").Value.String()
|
|
}
|
|
|
|
func (flags *Flags) GetLanguage() string {
|
|
return flags.Lookup("language").Value.String()
|
|
}
|
|
|
|
func (flags *Flags) IsSpeedup() bool {
|
|
return flags.Lookup("speedup").Value.String() == "true"
|
|
}
|
|
|
|
func (flags *Flags) IsTokens() bool {
|
|
return flags.Lookup("tokens").Value.String() == "true"
|
|
}
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
// PRIVATE METHODS
|
|
|
|
func registerFlags(flag *Flags) {
|
|
flag.String("model", "", "Path to the model file")
|
|
flag.String("language", "", "Language")
|
|
flag.Bool("speedup", false, "Enable speedup")
|
|
flag.Bool("tokens", false, "Display tokens")
|
|
}
|