Kann jemand Erkennungsprofile aus einer .NET-Anwendung heraus ändern?System.Speech.Recognition Auswählen des Erkennungsprofils
Ich schreibe eine .NET-Anwendung, die Spracherkennung mithilfe der Funktionen im System.Speech.Recognition-Namespace ausführt. Die Audiodaten, die ich in das System einspeise, stammen von mehreren verschiedenen Benutzern. Ich möchte in der Lage sein, das System zu trainieren, um Sprache von jedem der verschiedenen Benutzer genauer zu erkennen.
Ich habe die Systemsteuerung für die Spracherkennung in Windows gefunden (in diesem Fall Windows 7), wo ich Trainingsprofile konfigurieren kann. Das Erstellen eines Profils für mich selbst und das Durchführen des Trainingsprozesses hat die Genauigkeit der Erkennung erheblich verbessert. So konnte ich Profile für jeden Benutzer einrichten und sie den Trainingsprozess durchführen lassen, aber dann muss ich in der Lage sein, das richtige Profil in meiner Anwendung auszuwählen.
Meine Anwendung ist ein "Server", der Audio-Streams von einem oder mehreren Benutzern gleichzeitig empfängt und die Spracherkennung durchführt. Also muss ich in der Lage sein, anzugeben, welches Erkennungsprofil programmatisch für jede Instanz der Erkennungs-Engine verwendet werden soll, die meine Anwendung erstellt. Dies ist keine einzelne Benutzeranwendung, daher kann ich sie nicht einfach über das Windows-Kontrollfeld auswählen lassen.
Danke Oren. Ich habe tatsächlich eine Möglichkeit zu identifizieren, welcher Benutzer eine Verbindung zum Server herstellt. Was ich versuche zu finden, ist, dass ich weiß, welcher Benutzer verbunden ist, wie kann ich der Erkennungs-Engine angeben, dass sie ein bestimmtes vorkonfiguriertes Trainingsprofil verwenden soll, damit sie die Worte, die der Benutzer gesprochen hat, genau erkennt. Es scheint, dass dies durch die C++ API geschehen kann, aber ich hoffe, dass jemand weiß, wie man es über die .NET/C# API macht. –