Logiciel de reconnaissance vocale pour développeurs

Eh bien, les docs ont finalement dit que je devais me détendre au poignet pendant quelques mois. Étant donné que je suis un développeur .NET, cela pourrait mettre fin à mes moyens de subsistance pendant quelque temps, ce que je n’ai pas hâte de faire. Cela dit, existe-t-il de bonnes options mains libres pour les développeurs? Quelqu’un a-t-il réussi à utiliser un logiciel de reconnaissance vocale?

POSTSCRIPT: J’ai retrouvé mon arm au point où la programmation à deux mains n’est plus un problème. Dragon Naturally naturellement a bien fonctionné, mais a été plus lent, pas comme le clavier où je programmais plus vite que je pensais.

C’est dehors et ça marche …

Il existe de nombreux programmes de reconnaissance vocale, dont Dragon NaturallySpeaking est, je pense, l’un des plus utilisés. Je l’ai utilisé moi-même et j’ai été impressionné par sa qualité. Cela fait quelques années, je suppose que les choses se sont encore améliorées.

… mais ce n’est pas facile …

Même si cela fonctionne étonnamment bien, je ne dirai pas que c’est une solution facile. Il faut du temps pour former le programme, et même dans ce cas, cela fera des erreurs. C’est laborieusement lent comparé à la frappe, donc je devais continuer à me dire “Ne saisis pas le clavier, ne saisis pas le clavier, …” (après quoi je prendrais le clavier quand même). J’ai moi-même tendance à bafouiller un peu, ce qui ne rend pas les choses beaucoup mieux non plus ;-). Surtout les premières semaines peuvent être frustrantes. Vous pouvez même avoir des problèmes liés à la voix si vous mettez trop votre voix à rude épreuve .

… surtout pour les programmeurs!

Dans l’ensemble, c’est certainement une solution viable pour les personnes qui écrivent du texte ou de la prose . En tant que programmeur, vous êtes dans un domaine complètement différent, pour lequel il n’ya pas de solutions réelles. Les choses ont peut-être changé maintenant, mais je serais surpris si elles le sont.

Quel est le problème? La plupart des logiciels SR sont conçus pour reconnaître un langage normal. Les programmeurs écrivent des choses très cryptiques, et il est difficile, voire impossible, de trouver un logiciel qui effectue la conversion entre le langage normal et le code. Par exemple, comment dicteriez-vous:

if (somevar == 'a') { print('You pressed a!'); } 

En utilisant les commandes de votre programme SR moyen, c’est très pénible: “si un espace à gauche, signe égal, signe égal, signe apostrophe, une apostrophe …”. Et je ne parle même pas de naviguer dans votre code. Avez-vous déjà remarqué combien vous utilisez le clavier lors de la programmation, et quelle est la différence entre l’utilisation d’un clavier par un utilisateur «normal»?

Comment en tirer le meilleur

Jusqu’à présent, je n’ai travaillé qu’avec Dragon NaturallySpeaking (DNS). Je ne peux donc parler que de ce produit. Il y a des add-ons et des sites Web intéressants destinés aux personnes comme les programmeurs:

  • Vocola est un plugin non officiel qui vous permet d’append facilement vos propres commandes au DNS. Je l’ai trouvé essentiel, essentiellement. Vous pourrez également trouver des jeux de commandes écrits par d’autres programmeurs, par exemple pour le code de navigation. Il est basé sur un logiciel écrit en Python, il existe donc également des paquets plus sophistiqués et sophistiqués. Consultez également la page Ressources de Vocola. (Attention: quand je l’ai utilisé, il y a eu des problèmes avec l’installation de Vocola; consultez le newsgroup ci-dessous pour plus d’informations!)
  • SpeechComputing.com est un forum / newsgroup avec beaucoup de discussions intéressantes. Un bon endroit pour commencer.

Remarques de clôture

Il semble que la meilleure solution à ce problème soit vraiment:

  • Trouvez des moyens de contourner le codage réel.
  • Essayez de récupérer. Je suis un peu réticent à recommander ce livre, mais il semble très bien fonctionner pour les personnes atteintes de RSI / canal carpien et d’autres problèmes de douleur chronique: JE Sarno, la prescription de Mindbody . Je travaille avec ça tout de suite, et je pense que ça vaut vraiment la peine de le lire.

Je dicte VB.net et TSQL en utilisant Dragon NaturallySpeaking 10 Professional. VB.net est insortingnsèquement plus proche d’une langue “parlée”, mais je ne vois aucune raison pour laquelle il ne pourrait pas fonctionner pour C # ou d’autres. Je commence avec un vocabulaire complètement vide, et le construis à partir de zéro pour répondre à mes besoins (c’est pourquoi j’utilise la version professionnelle).

Voici les étapes de base (cela suppose que vous avez déjà créé et formé un utilisateur):

  1. Créez un nouveau vocabulaire basé sur “Base General – Empty Dictation”.
  2. Ne le faites pas scanner vos documents ou email.
  3. Ajoutez des listes de mots-clés avec une prononciation spécifique à votre langage de programmation (Dim, ByVal \ by-val, etc.).
  4. Créez un document .txt contenant tout votre code moins les commentaires.
  5. Récoltez les mots de ce document et ajoutez-les avec les prononciations.
  6. Utilisez le document pour former le modèle linguistique du vocabulaire.

Je vais écrire quelque chose avec plus de détails quand j’ai une chance si quelqu’un est intéressé.

Modifier:

Voici comment dicter le code SQL . La liste de mots créée ici peut être incluse dans d’autres vocabulaires si vous êtes un développeur de bases de données.

Découvrez l’ utilisation de Python pour coder par voix .

Une autre idée est de trouver un autre bon développeur avec lequel le programme sera couplé. Cela a très bien fonctionné pour moi. Je me repose la main sans nécessairement ralentir, finis par produire un code de meilleure qualité – ou du moins, je n’en ai pas à en examiner autant.

Pour tous les gens de Linux, j’aimerais partager des liens.

Commençons par Simon – logiciel de reconnaissance vocale open source:

  • Simon écoute – organisation à but non lucratif pour la recherche et l’apprentissage
  • simon: Open-Source Speech Recognition – blog associé
  • HTK toolkit de reconnaissance vocale – moteur utilisé en interne
  • Moteur CSR Open Source Large Vocabulary Julius
  • Pas sur Shlashdot sur Simon Fetures

et quelques autres:

et

  • Question liée à un stackoverflow sur les outils de reconnaissance de texte en parole pour Linux.

Je sais que je suis un peu hors sujet ici et que je ne connais rien aux logiciels de reconnaissance vocale. Cependant, vous trouverez peut-être utile d’examiner la possibilité de changer votre clavier en Dvorak.

http://en.wikipedia.org/wiki/Dvorak_Simplified_Keyboard

J’ai essayé Dragon il y a quelques années et c’était un cauchemar de mots et de phrases écrasés – pas recommandé. Je comprends que c’était la meilleure chose à ce moment-là, alors je ne suis pas optimiste.

En tant que compagnon d’infortune, les recommandations seraient les suivantes:

  1. Trouvez un emploi qui exige le moins d’ergothérapeute possible
  2. Essayez une variété de claviers. Dans mon expérience, travailler sur un ordinateur portable à plein temps a fonctionné le mieux.
  3. Lancer un programme de levage de poids faible à modéré.

En ce qui concerne la question du poignet, j’ai appris à utiliser la souris à deux mains il y a 10 ans.

C’est étonnamment facile et soulage considérablement la tension. Actuellement, j’utilise un ordinateur portable et appuyer sur le bouton du pavé tactile me fatigue le pouce.

Faites attention. Ces problèmes peuvent durer beaucoup plus longtemps que l’on pourrait le penser.


ps, vous pouvez append une balise «ergonomie» ou quelque chose d’autre – le titre peut être considéré comme un développement pour la reconnaissance vocale.

Le standard de référence pour la programmation par la voix est VoiceCode . Si je me souviens bien, ils supportent C ++ et Python.

Comme mentionné ci-dessus, Dragon Naturally Speaking est le meilleur logiciel de reconnaissance vocale sur le marché, mais Microsoft Speech Recognition n’est pas loin derrière et est livré avec Vista.

Vocola a récemment été porté sur MSR et dispose d’une fonctionnalité d’intégration .Net.

Quelques conseils

  1. Apprendre à dicter prend du temps. Ce n’est pas parce que vous parlez que vous savez utiliser un logiciel de reconnaissance vocale.
  2. Mieux maîsortingser un mélange de SR et de clavier / souris est bien plus simple que le mode mains libres complet.
  3. Utilisez CodeRush ou équivalent pour taper moins.

J’ai commencé à utiliser ma main gauche pour la souris, cela m’aide non seulement un peu, mais m’a permis d’utiliser plus facilement ma main droite, si vous écrivez beaucoup de choses pendant que vous codez, cela vous aide beaucoup. et écris en même temps …

Lorsque mes problèmes ont commencé, j’ai mis un sac d’eau sous mon poignet, j’ai adoré! le sac que j’avais était parfait c’était long et je l’ai mis devant le clavier pour que je puisse y poser mes poignets … jusqu’au jour où je marcherai dessus …

Dragon Naturally Speaking Preferred et Vocola. Autohotkey pour automatiser autant que possible. Pas facile à programmer si. J’ai essayé; presque impossible. Jetez un coup d’œil à Healing Back Pain de John Sarno. Cela m’a rendu meilleur. Je suis de retour à la programmation toute la journée!

Un peu hors sujet ici, j’ai trouvé que le clavier divisé en deux parties et d’autres claviers spéciaux aide, il suffit de vérifier la cinétique. J’ai recueilli des informations sur ce matériel chez diigo:

Qu’en est-il des liens directs:

Encore une chose! Rappelez-vous des pauses pour les exercices. Des exercices réguliers (par exemple, un petit exercice – chaque demi-heure ou heure différente) améliorent vraiment les choses!

Scott Hanselman utilise beaucoup la reconnaissance vocale.

J’ai utilisé Dragon Dictate en 1996 pour la même raison que vous. C’était lent, mais mieux que de ne pas travailler. J’ai trouvé plus facile d’écrire du code en remplissant le tableau blanc 4 x 8 avec du code, puis en demandant à quelqu’un de le taper. Ensuite, j’ai utilisé DD pour déboguer.

Et pendant que vous y êtes, vous pourriez regarder les livres de Deborah Quilter sur RSI. Ils sont très instructifs.

Je n’arrive pas à trouver un lien vers un (j’ai regardé) mais il y a des claviers avec seulement 5 touches, vous permettant de taper avec une seule main, je suppose que vous n’avez qu’un seul mauvais poignet.

Si je trouve un lien, je vais essayer de vous envoyer un message.