initial commit
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
// worker/handler.go — the worker-side seam. A module process implements
|
||||
// either Transcriber or Synthesizer (rarely both — stt and tts are
|
||||
// independent units with independent model weights and restart lifecycles).
|
||||
// Server dispatches a Method to the matching handler.
|
||||
package worker
|
||||
|
||||
import "context"
|
||||
|
||||
// Transcriber — the stt module's contract. Implementations:
|
||||
// - the daemon's in-process Stub (built-in stt stub handler, for tests +
|
||||
// for the "no models on disk yet" floor; the daemon decides which to wire
|
||||
// from config),
|
||||
// - a real faster-whisper / vosk process's main (cmd/mavsttd/main.go today
|
||||
// ships the Stub handler; production swaps in onnxruntime-backed code in
|
||||
// that same main, no worker-package change).
|
||||
type Transcriber interface {
|
||||
Transcribe(ctx context.Context, req TranscribeReq) (TranscribeResp, error)
|
||||
}
|
||||
|
||||
// Synthesizer — the tts module's contract. Mirrors Transcriber (separate
|
||||
// interface so the two modules can be in separate packages / binaries, and
|
||||
// so a server asked for the wrong verb refuses cleanly).
|
||||
type Synthesizer interface {
|
||||
Synthesize(ctx context.Context, req SynthesizeReq) (SynthesizeResp, error)
|
||||
}
|
||||
Reference in New Issue
Block a user