Esiste comunque un modo per incorporare Dragon NaturallySpeaking in un programma basato su eventi? Il mio capo mi piacerebbe molto se usassi il DNS per registrare l'input vocale dell'utente senza scriverlo sullo schermo e salvarlo direttamente in XML. Ho fatto ricerche per diversi giorni e non riesco a vedere un modo per farlo senza l'SDK (molto costoso), non so nemmeno che funzionerebbe allora.Programmatori Dragon NaturallySpeaking
Microsoft ha la capacità di scrivere un programma (Python) in cui il riconoscimento vocale può attendere fino a quando rileva un evento vocale e quindi elaborarlo. Ha anche la qualità utile di essere in grado di suggerire frasi alternative a quella che ritiene sia la migliore ipotesi e di registrare il file .wav per un uso successivo. Esempio di codice:
spEngine = MsSpeech()
spEngine.setEventHandler(RecoEventHandler(spEngine.context))
class RecoEventHandler(SpRecoContext):
def OnRecognition(self, StreamNumber, StreamPosition, RecognitionType, Result):
res = win32com.client.Dispatch(Result)
phrase = res.PhraseInfo.GetText()
#from here I would save it as XML
# write reco phrases
altPhrases = reco.Alternates(NBEST)
for phrase in altPhrases:
nodePhrase = self.doc.createElement(TAG_PHRASE)
Non riesco a fare DNS farlo. Il più vicino che posso fare-succhiotto a è:
while keepGoing == True:
yourWords = raw_input("Your input: ")
transcript_el = createTranscript(doc, "user", yourWords)
speech_el.appendChild(transcript_el)
if yourWords == 'bye':
break
Essa ha anche l'effetto collaterale orribile di rendere l'utente dire "nuova linea" dopo ogni frase! Non la soluzione preferita a tutti! Esiste comunque la possibilità che DNS faccia ciò che Microsoft Speech fa?
FYI: So che la soluzione logica sarebbe semplicemente passare a Microsoft Speech ma supponiamo, solo per ghigni e risatine, che quella non è un'opzione.
AGGIORNAMENTO - Qualcuno ha acquistato l'SDK? Lo hai trovato utile?
@WarrenP: Questo ragazzo lo usa per il 40% -60% del suo sviluppo. È vero che out of the box non è utile, ma usando Natlink e VI/Emacs ha una configurazione piuttosto dolce. http://www.youtube.com/watch?v=8SkdfdXWYaI –
@WarrenP Hai mai provato? Lo uso sempre ed è molto più veloce dell'uso della tastiera (anche se uso le tastiere dal momento che ho 6 anni significa che ho un WPM piuttosto alto). Per la programmazione sono d'accordo sul fatto che ha bisogno di miglioramenti, ma è comunque utile. Vedi [Come possiamo utilizzare Dragon NaturallySpeaking per codificare in modo più efficiente?] (Http://productivity.stackexchange.com/q/3605/2476) –
Posso scrivere a 120 WPM. Non ho mai visto gli utenti di testo in lingua inglese colpiti da 40 WPM. Definisci HIGH wpm? –