public static void DemoSpeaker(Model model) { // Output speakers SpkModel spkModel = new SpkModel("model-spk"); VoskRecognizer rec = new VoskRecognizer(model, 16000.0f); rec.SetSpkModel(spkModel); using (Stream source = File.OpenRead("test.wav")) { byte[] buffer = new byte[4096]; int bytesRead; while ((bytesRead = source.Read(buffer, 0, buffer.Length)) > 0) { if (rec.AcceptWaveform(buffer, bytesRead)) { Console.WriteLine(rec.Result()); } else { Console.WriteLine(rec.PartialResult()); } } } Console.WriteLine(rec.FinalResult()); }
public void SetSpkModel(SpkModel spk_model) { VoskPINVOKE.VoskRecognizer_SetSpkModel(handle, SpkModel.getCPtr(spk_model)); }
public VoskRecognizer(Model model, float sample_rate, SpkModel spk_model) : this(VoskPINVOKE.new_VoskRecognizerSpk(Model.getCPtr(model), sample_rate, SpkModel.getCPtr(spk_model))) { }
internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SpkModel obj) { return((obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.handle); }