Was ist der Unterschied zwischen System.Speech.Recognition und Microsoft.Speech.Recognition?

Es gibt zwei ähnliche Namespaces und Assemblys für die Spracherkennung in .NET. Ich versuche, die Unterschiede zu verstehen und wann es angebracht ist, den einen oder anderen zu verwenden.

Es gibt System.Speech.Recognition von der Assembly System.Speech (in System.Speech.dll). System.Speech.dll ist eine Kern-DLL in der .NET Framework-Klassenbibliothek 3.0 und höher.

Es gibt auch Microsoft.Speech.Recognition von der Assembly Microsoft.Speech (in microsoft.speech.dll). Microsoft.Speech.dll ist Teil des UCMA 2.0 SDK

Ich finde die Dokumente verwirrend und habe folgende Fragen:

System.Speech.Recognition gibt an, dass es sich um "The Windows Desktop Speech Technology" handelt. Bedeutet dies, dass es nicht auf einem Serverbetriebssystem oder nicht für umfangreiche Anwendungen verwendet werden kann?

Das UCMA 2.0 Speech SDK http: //msdn.microsoft.com/en-us/library/dd266409%28v=office.13%29.asp) gibt an, dass Microsoft Office Communications Server 2007 R2 als Voraussetzung erforderlich ist. Bei Konferenzen und Besprechungen wurde mir jedoch mitgeteilt, dass ich die UCMA 2.0-Sprach-API ohne OCS verwenden kann, wenn ich keine OCS-Funktionen wie Anwesenheit und Workflow benötige. Ist das wahr

Wenn ich eine einfache Erkennungs-App für eine Serveranwendung erstelle (z. B. wollte ich Voicemails automatisch transkribieren) und ich keine OCS-Funktionen benötige, was sind die Unterschiede zwischen den beiden APIs?