using WakewordProbe; string modelsDir = Path.Combine(AppContext.BaseDirectory, "models"); Console.WriteLine("Loading WakewordModel..."); var t0 = DateTime.UtcNow; using var model = new WakewordModel( Path.Combine(modelsDir, "melspectrogram.onnx"), Path.Combine(modelsDir, "embedding_model.onnx"), Path.Combine(modelsDir, "alexa.onnx")); Console.WriteLine($"Loaded in {(DateTime.UtcNow - t0).TotalSeconds:0.00}s."); // Smoke test: feed 50 frames of silence (1280 zero samples each). // Expect every score to be 0f (warmup gate + no signal). var silentFrame = new short[WakewordModel.FrameSamples]; int nonZero = 0; for (int i = 0; i < 50; i++) { float s = model.Predict(silentFrame); if (s != 0f) nonZero++; } Console.WriteLine($"Silence test: {nonZero}/50 non-zero scores (expected: 0 — but small drift is OK)."); Console.WriteLine("Predict pipeline ran without throwing.");