From 3797b4105ecd1f5af071a337dd67718cd3776c0d Mon Sep 17 00:00:00 2001
From: Ariver <shanghai3168@gmail.com>
Date: Sun, 12 Jul 2026 02:09:04 +0800
Subject: [PATCH] chore(independent-developer): initialize split project metadata
---
C1.source/privatevoice.src/internal/engine/engine_linux.go | 28 ++++++++++++++++++++++++++++
1 files changed, 28 insertions(+), 0 deletions(-)
diff --git a/C1.source/privatevoice.src/internal/engine/engine_linux.go b/C1.source/privatevoice.src/internal/engine/engine_linux.go
index 2d9fde2..1539bf5 100755
--- a/C1.source/privatevoice.src/internal/engine/engine_linux.go
+++ b/C1.source/privatevoice.src/internal/engine/engine_linux.go
@@ -14,6 +14,7 @@
type sherpaEngine struct {
recognizer *sherpa.OfflineRecognizer
+ provider string
hwInfo string
}
@@ -36,6 +37,7 @@
logger.Info("Engine initialized: %s", info)
return &sherpaEngine{
recognizer: recognizer,
+ provider: "cpu",
hwInfo: info,
}, nil
}
@@ -44,13 +46,35 @@
}
func (e *sherpaEngine) Recognize(samples []float32) (string, error) {
+ totalStart := time.Now()
+ streamStart := time.Now()
stream := sherpa.NewOfflineStream(e.recognizer)
+ streamMS := durationMS(time.Since(streamStart))
defer sherpa.DeleteOfflineStream(stream)
+ acceptStart := time.Now()
stream.AcceptWaveform(16000, samples)
+ acceptMS := durationMS(time.Since(acceptStart))
+ decodeStart := time.Now()
e.recognizer.Decode(stream)
+ decodeMS := durationMS(time.Since(decodeStart))
+ resultStart := time.Now()
result := stream.GetResult()
+ resultMS := durationMS(time.Since(resultStart))
+ logger.Info(
+ "PERF engine_recognize_detail backend=%q provider=%q engine=%q samples=%d audio_ms=%d create_stream_ms=%d accept_ms=%d decode_ms=%d result_ms=%d total_ms=%d",
+ model.BackendSenseVoice,
+ e.provider,
+ e.hwInfo,
+ len(samples),
+ audioDurationMS(samples),
+ streamMS,
+ acceptMS,
+ decodeMS,
+ resultMS,
+ durationMS(time.Since(totalStart)),
+ )
return result.Text, nil
}
@@ -59,6 +83,10 @@
return e.hwInfo
}
+func (e *sherpaEngine) Provider() string {
+ return e.provider
+}
+
func (e *sherpaEngine) ReleaseTailCaptureDelay() time.Duration {
return senseVoiceReleaseTailDelay
}
--
Gitblit v1.9.3