2010-12-05 35 views
17

Je me demande commentChrome dispose-t-il d'une reconnaissance vocale intégrée pour les éléments d'entrée "x-webkit-speech"?

<input type="text" x-webkit-speech speech /> 

est-il une reconnaissance vocale Enging intégrée dans Chrome ou est-il accès à un centre de reconnaissance vocale sous-jacente dans le système d'exploitation?

+0

Hacker Nouvelles soumission où vous avez probablement trouvé ce lien: http://news.ycombinator.com/item?id=1972855 – balu

Répondre

6

Ils utilisent leur propre API pour la reconnaissance vocale. Ex: envoi d'une demande de publication à des serveurs.

12

Yup, Chrome fait la reconnaissance vocale via les serveurs de Google. Mais il n'y a aucune raison pour que les autres navigateurs ne choisissent pas de l'implémenter différemment (par exemple en utilisant une fonction de reconnaissance vocale dans le système d'exploitation).

Balu, votre lien est en fait un peu démodé. La dernière proposition de Google est disponible ici: http://www.w3.org/2005/Incubator/htmlspeech/2010/10/google-api-draft.html

Bien que la reconnaissance vocale est disponible dans le canal dev Chrome pendant un certain temps, il n'a pas encore livré et nous ne sommes pas encore sûr quand il sera disponible. Nous voulons absolument que les gens jouent avec l'API et offrent des commentaires à ce sujet, mais nous ne pensons pas qu'elle soit encore prête pour la prime time.

+3

Il existe de graves problèmes de confidentialité ici. –

0

Il y a aussi un groupe de travail qui a produit http://www.w3.org/TR/xhtml+voice/ mais je ne crois pas que cela soit implémenté dans n'importe quel navigateur sauf Opera.

0

Je viens de le confirmer sur mon Chrome Cr-48, ça marche.

9

Selon le code, il envoie les données audio comme une requête POST à:

https://www.google.com/speech-api/v1/recognize?client=chromium&lang=??&lm=??&xhw=??&maxresults=3 

lm est grammar dans le code, xhw est hardware_info qui est facultatif selon un commentaire. L'audio semble être Speex, x-Speex avec en-tête octets:

// Encode the frame and place the size of the frame as the first byte. This 
// is the packet format for MIME type x-speex-with-header-byte. 

On dirait qu'il serait assez trivial de modifier le code de chrome à utiliser dans votre propre application.

Mise à jour:

Vous devez également obtenir un speech recognition API key et ils sont limités à 50 demandes par jour. Il n'y a aucun moyen d'augmenter cette limite - même pas en payant.

+2

Quelqu'un sait-il si Google est d'accord avec l'utilisation directe de cette API par quiconque, ou si elle est contraire aux termes et conditions? Merci. – poshaughnessy

+0

Est-ce que quelqu'un sait comment fonctionne l'attribut "lm" (grammar)? Le brouillon W3C a déclaré que grammar peut être n'importe quelle URL vers un fichier GRXML mais cela ne change rien. – hamczu

1

Oui, Chrome ne support vocal intégré par WebKit; il suffit de regarder la page d'accueil de Google (qui a maintenant un microphone à droite de la boîte de recherche). Je me demande cependant si l'équipe Chrome travaille sur le support de la parole Omnibox. Après tout, Chrome est un navigateur basé sur WebKit!

6

Il existe une branche expérimentale de speexenc qui peut coder le format binaire MIME x-speex-with-header-byte, son référencé sur QXIP Wiki et est disponible sur GitHub. Est-ce que le travail se finit en plaçant la taille du cadre en tant que premier octet des paquets.

+0

Merci beaucoup pour ça! – David