From 3fbceec8de833416bf1ae049f959f222c3f1a4a0 Mon Sep 17 00:00:00 2001
From: Ariver <shanghai3168@gmail.com>
Date: Tue, 02 Jun 2026 14:05:59 +0800
Subject: [PATCH] Prepare Round 1 model profile QA baseline

---
 privatevoice.src/internal/engine/engine_windows.go |   14 ++++++--------
 1 files changed, 6 insertions(+), 8 deletions(-)

diff --git a/VoiceSnapGo/internal/engine/engine_windows.go b/privatevoice.src/internal/engine/engine_windows.go
similarity index 85%
rename from VoiceSnapGo/internal/engine/engine_windows.go
rename to privatevoice.src/internal/engine/engine_windows.go
index d82fcb2..8df88fb 100755
--- a/VoiceSnapGo/internal/engine/engine_windows.go
+++ b/privatevoice.src/internal/engine/engine_windows.go
@@ -5,9 +5,10 @@
 import (
 	"fmt"
 	"voicesnap/internal/logger"
+	"voicesnap/internal/model"
 
-	sherpa "github.com/k2-fsa/sherpa-onnx-go/sherpa_onnx"
 	_ "github.com/k2-fsa/sherpa-onnx-go-windows"
+	sherpa "github.com/k2-fsa/sherpa-onnx-go/sherpa_onnx"
 )
 
 type sherpaEngine struct {
@@ -15,10 +16,7 @@
 	hwInfo     string
 }
 
-func newPlatformEngine() (Engine, error) {
-	modelPath := ModelPath()
-	tokensPath := TokensPath()
-
+func newPlatformEngine(resolved model.ResolvedModel) (Engine, error) {
 	// Try DirectML first, then CPU fallback
 	providers := []struct {
 		name     string
@@ -32,10 +30,10 @@
 		config := sherpa.OfflineRecognizerConfig{}
 		config.FeatConfig.SampleRate = 16000
 		config.FeatConfig.FeatureDim = 80
-		config.ModelConfig.SenseVoice.Model = modelPath
+		config.ModelConfig.SenseVoice.Model = resolved.Files["model"]
 		config.ModelConfig.SenseVoice.UseInverseTextNormalization = 1
-		config.ModelConfig.Tokens = tokensPath
-		config.ModelConfig.NumThreads = 4
+		config.ModelConfig.Tokens = resolved.Files["tokens"]
+		config.ModelConfig.NumThreads = resolved.Profile.NumThreads
 		config.ModelConfig.Provider = p.provider
 		config.DecodingMethod = "greedy_search"
 

--
Gitblit v1.9.3