78 votes

Quelle est la différence entre System.Speech.Recognition et Microsoft.Speech.Recognition?

Il y a deux espaces de noms et d'assemblages pour la reconnaissance vocale .NET. Je suis en train d'essayer de comprendre les différences et quand il est approprié d'utiliser l'un ou l'autre.

Il y a du Système.De la parole.La reconnaissance de l'assemblage du Système.Discours (en System.Speech.dll). System.Speech.dll est l'un des principaux DLL dans le .NET Framework bibliothèque de classe 3.0 et versions ultérieures

Il y a aussi Microsoft.De la parole.La reconnaissance à partir de l'assembly Microsoft.Discours (en microsoft.speech.dll). Microsoft.Speech.dll fait partie du SDK 2.0 UCMA

- Je trouver de la documentation à confusion et j'ai les questions suivantes:

Système.De la parole.La reconnaissance dit que c'est pour "Le Bureau de Windows la Technologie de la Parole", est-ce à dire qu'il ne peut pas être utilisé sur un système d'exploitation serveur ou ne peut pas être utilisé pour les applications à grande échelle?

L'UCMA 2.0 Speech SDK ( http://msdn.microsoft.com/en-us/library/dd266409%28v=office.13%29.aspx ) dit qu'il nécessite Microsoft Office Communications Server 2007 R2 comme une condition préalable. Cependant, j'ai été dit lors de conférences et de réunions que si je n'ai pas besoin OCS caractéristiques comme la présence de flux de travail et je peux utiliser l'UCMA 2.0 Speech API sans OCS. Est-ce vrai?

Si je suis en train de construire une simple app de reconnaissance pour un serveur d'application (dire que je voulais transcrire automatiquement les messages vocaux) et je n'ai pas besoin des fonctionnalités de l'OCS, quelles sont les différences entre les deux Api?

101voto

Eric Brown Points 9233

La réponse courte est que Microsoft.De la parole.La reconnaissance utilise la version Serveur de SAPI, alors que le Système.De la parole.La reconnaissance utilise la version de Bureau de SAPI.

Les Api sont essentiellement les mêmes, mais le sous-jacent moteurs sont différents. Généralement, le Serveur de moteur est conçu pour accepter de téléphone de la qualité audio de commande et de contrôle des applications; le moteur de Bureau est conçu pour accepter meilleure qualité audio pour les deux de commandement et de contrôle et la dictée.

Vous pouvez utiliser le Système.De la parole.La reconnaissance sur un serveur de système d'exploitation, mais il n'est pas conçu à l'échelle presque aussi bien que de Microsoft.De la parole.De la reconnaissance.

Les différences sont que le moteur du Serveur n'aurez pas besoin de formation, et de travailler avec de moindre qualité audio, mais ont une plus faible qualité de la reconnaissance que le moteur de Bureau.

51voto

Michael Levy Points 7236

J'ai trouvé Eric réponse très utile, je voulais juste ajouter un peu plus de détails que j'ai trouvé.

Système.De la parole.La reconnaissance peut être utilisé pour programmer le bureau des modules de reconnaissance. SAPI et de Bureau, et des modules de reconnaissance ont été expédiés dans les produits:

  • Windows XP: SAPI v5.1 et pas de reconnaissance
  • Windows XP Tablet Edition: SAPI v5.1 et de Reconnaissance de la v6.1
  • Windows Vista: SAPI v5.3 Reconnaissance et v8.0
  • Windows 7: SAPI v5.4 Reconnaissance et v8.0?

Les serveurs viennent avec SAPI, mais pas de reconnaissance:

  • Windows Server 2003: SAPI v5.1 et pas de reconnaissance
  • Windows Server 2008 et 2008 R2: SAPI v5.3? et pas de reconnaissance

Bureau des modules de reconnaissance ont également livré dans des produits comme bureau.

  • Microsoft Office 2003: Reconnaissance de la v6.1

Microsoft.De la parole.La reconnaissance peut être utilisé pour programmer le serveur modules de reconnaissance. Serveur de modules de reconnaissance ont été expédiés dans les produits:

  • Serveur vocal (différentes versions)
  • Office Communications Server (OCS) (différentes versions)
  • UCMA – qui est une API managée pour OCS qui (je crois) inclus un redistribuable de reconnaissance
  • Microsoft Server Speech de la Plate – forme de reconnaissance de la v10.2

Le SDK complet pour le Serveur de Microsoft Speech Platform 10.2 version est disponible à l' http://www.microsoft.com/downloads/en/details.aspx?FamilyID=1b1604d3-4f66-4241-9a21-90a294a5c9a4. Le moteur de reconnaissance vocale est disponible en téléchargement gratuit. La Version 11 est maintenant disponible à http://www.microsoft.com/download/en/details.aspx?id=27226.

Pour Microsoft Speech Platform SDK 11 infos et téléchargements, voir:

Bureau des modules de reconnaissance sont conçus pour fonctionner inproc ou partagé. Partagé des modules de reconnaissance sont utiles sur le bureau où les commandes vocales sont utilisées pour le contrôle de toutes les applications ouvertes. Serveur de modules de reconnaissance ne peut exécuter inproc. Inproc modules de reconnaissance sont utilisés lorsqu'une seule application utilise le module de reconnaissance ou lorsque les fichiers wav ou audio besoin d'être reconnu (partagé des modules de reconnaissance ne peut pas traiter les fichiers audio, juste l'audio à partir de périphériques d'entrée).

Bureau des modules de reconnaissance vocale inclure une grammaire de dictée (fourni par le système de la grammaire utilisée pour gratuit texte de la dictée). Le Système de classe.De la parole.De la reconnaissance.DictationGrammar n'a pas de complément dans le Microsoft.Discours de l'espace de noms.

Vous pouvez utiliser l'Api de requête de déterminer votre installés recongizers

  • Bureau: Du Système.De la parole.De la reconnaissance.SpeechRecognitionEngine.InstalledRecognizers()
  • Serveur: Microsoft.De la parole.De la reconnaissance.SpeechRecognitionEngine.InstalledRecognizers()

J'ai trouvé que je peux aussi voir ce que les modules de reconnaissance sont installés en regardant les clés de registre:

  • Bureau des modules de reconnaissance: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Actions\Jetons
  • Serveur de modules de reconnaissance: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech Server\v10.0\Actions\Jetons

--- Mise à jour ---

Comme discuté dans la Reconnaissance Vocale Microsoft - quelle référence dois-je ajouter?, Microsoft.La parole est également l'API utilisée pour le Kinect de reconnaissance. Ceci est documenté dans l'article MSDN http://msdn.microsoft.com/en-us/library/hh855387.aspx

7voto

Switch Commerce Points 44

Voici le lien pour la bibliothèque vocale (plate-forme MS Server Speech):

Lancement de Microsoft Server Speech Platform 10.1 (SR et TTS en 26 langues)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X