Programmazione con software di riconoscimento vocale [chiuso]

10

Ho usato Dragon Naturally Speaking molto brevemente qualche anno fa e stavo pensando se sarebbe stata una soluzione valida per la programmazione?

Stavo pensando più di tanto se ti spezza il braccio o qualcosa che sarebbe un ostacolo alla programmazione.

Questa stessa domanda su SO, ma è stata mai risposto.

    
posta Jim 16.05.2012 - 17:06
fonte

5 risposte

18

Posso rispondere a questa esperienza personale. Alcuni anni fa, ho rotto le braccia di entrambe in un incidente. Poiché il mio lavoro era la programmazione a tempo pieno, questo era un problema. Con un po 'di aiuto, ho installato Dragon sul mio laptop.

È stata una perdita di tempo.

Il codice non è molto simile al linguaggio naturale; è principalmente scritto, non parlato. So esattamente cosa significa y_z = (x < 0 ? -x : x) + 2; , eppure non ho idea di come lo pronuncerò, né mi interessa.

Essendo un linguaggio solo scritto, il codice è molto preciso a livello di personaggio. C'è una grande differenza tra (x+2)*3 e (x+2*3) . I programmi di sintesi vocale sono bravi a prestare attenzione alle parole, non ai personaggi. L'aggiunta di caratteri specifici richiede molte affermazioni come "parentesi sinistra, x, segno più, due, parentesi chiusa".

Quando sto scrivendo, faccio molto movimento e riscrittura. La sintesi vocale è valida per un singolo flusso di linguaggio. Non va bene andare avanti e indietro dappertutto.

Molte delle attività più minute nella codifica non sono equivalenti alla digitazione, il che equivale a tutte le conversazioni vocali. Pensa a quanto spesso cambi le schede per guardare qualche altro modulo di codice, o quanto spesso pieghi e apri una funzione nel tuo editor.

Quindi, se hai un programma di sintesi vocale, provalo e vedilo da solo. Non penso che sarai troppo colpito.

Per inciso, non spezzare entrambe le braccia contemporaneamente. Rompa uno alla volta, è molto più facile in questo modo.

Se avessi avuto solo un braccio rotto, avrei appena fatto tutti i miei codici con una mano sola. Sarebbe ancora più veloce rispetto all'utilizzo del software speech-to-text.

    
risposta data 16.05.2012 - 19:34
fonte
13

Per un programmatore professionista che lavora (dove il tempo è denaro) con un grave tunnel carpale o lesioni alle mani (ecc.), può essere molto più efficiente assumere un "programmatore di coppia" junior / stagista, e lasciare che facciano la "voce" riconoscimento "e digitazione.

    
risposta data 16.05.2012 - 18:40
fonte
4

Ecco un link a un video da una convenzione di Python in cui Tavis Rudd spiega come ha personalizzato Dragon Naturally Speaking usando la loro struttura di plugin Python per creare un vocabolario adatto alla programmazione e all'editing in Emacs, Vim e il terminale. Uno spaccato ispiratore delle possibilità di riconoscimento vocale nel campo della programmazione e dello sviluppo.

Uso di Python in codice per voce

Two years ago I developed a case of Emacs Pinkie (RSI) so severe my hands went numb and I could no longer type or work. Desperate, I tried voice recognition. At first programming with it was painfully slow but, as I couldn't type, I persevered. After several months of vocab tweaking and duct-tape coding in Python and Emacs Lisp, I had a system that enabled me to code faster and more efficiently by voice than I ever had by hand.

In a fast-paced live demo, I will create a small system using Python, plus a few other languages for good measure, and deploy it without touching the keyboard. The demo gods will make a scheduled appearance. I hope to convince you that voice recognition is no longer a crutch for the disabled or limited to plain prose. It's now a highly effective tool that could benefit all programmers...

    
risposta data 30.05.2013 - 14:48
fonte
1

Puoi davvero creare una soluzione di programmazione vocale utilizzando Dragon NaturallySpeaking, ma Dragon NaturallySpeaking sarà solo una piccola parte della soluzione complessiva.

Hai bisogno di molta tecnologia oltre a trasformare semplicemente la voce in parole per programmare con successo la voce. Alcuni esempi dei problemi che devono essere affrontati:

Come si inseriscono parole impronunciabili come ostreambuf_iterator? Come gestisci i pesanti livelli di punteggiatura nei linguaggi di programmazione? Come passerai da una finestra all'altra?

Generalmente occorrono diversi mesi per costruire e apprendere una programmazione tramite la soluzione vocale. Persone come Joe che si aspettano di ottenere qualcosa lavorando in un giorno o due saranno molto delusi.

Lo spostamento avanti e indietro funziona bene con la voce data una serie ragionevole di comandi. Ad esempio, puoi facilmente specificare la linea di destinazione utilizzando il numero di riga visualizzato mod 100. Lo spostamento di parole o caratteri di punteggiatura funziona bene con i linguaggi di programmazione per lo spostamento all'interno di una linea.

Puoi trovare molte più informazioni su questi problemi nella programmazione tramite le domande vocali presenti nel link

    
risposta data 22.03.2015 - 04:09
fonte
0

Basato sulla risposta di Joe dove il problema è che non puoi andare avanti e indietro:

Puoi utilizzare il tracciamento degli occhi in aggiunta per risolvere questo problema.

I linguaggi di programmazione possono essere letti. Smalltalk è abbastanza leggibile.

10 timesRepeat: [
    Transcript show:'hello'.
    Transcript cr.
].

Immagina un linguaggio di programmazione ottimizzato per parlare. Può essere fatto.

If I had asked my customers what they wanted they would have said a faster horse. - Henry Ford

In questi termini: un input di testo parlato potrebbe non esserlo. Ma un ambiente controllato da un discorso con caratteristiche programmabili sarebbe un ulteriore passo avanti.

    
risposta data 30.05.2013 - 15:22
fonte

Leggi altre domande sui tag