2015-05-25 10 views
13

Questa domanda consegue OS X Yosemite (10.10) API for continuous speech recognitionIntercettare input da OS X utility di riconoscimento vocale

OSX ha ora superba riconoscimento vocale continuo. Ma non sembra esporre alcuna API. Sto creando un kit HCI personalizzato e ho bisogno di prendere questo input vocale per elaborarlo.

Come intercettarlo?

Il mio primo pensiero è che potrebbe creare un dispositivo con tastiera virtuale tramite il quale inviare eventi key-down/key-up. Se così fosse, potrei intercettare usando IOKit, ma enumerando i miei dispositivi di tastiera non appare. Quindi deve essere qualcosa di più alto livello.

Nota. Aggiungo il tag "hacking", in quanto sembra che non ci sia un percorso pronto, è chiaramente qualcosa che Apple non ha intenzione di fornire.

EDIT:
How to use DictationServices.framework
Can I use OS X 10.8's speech recognition/dictation without a GUI?

+3

Cosa stai cercando di intercettare, esattamente? L'ingresso audio? L'output del testo? Se quest'ultimo, non riesci a leggerlo dal widget di testo in cui entra? – rhashimoto

risposta

2

Purtroppo, NSSpeechRecognizer ascolta solo per una serie di comandi (ho detto che perché hai portato in su nella sua domanda collegata). Ho esaminato alcuni modi diversi per catturare l'input, ma sono tutti piuttosto ghetto.

Il modo più popolare per "intercettare" il discorso è quello di attivare il comando di dettatura (fn + fn, a meno che l'utente ha modificato esso) e inserire il testo dettato in un campo di testo. Non esattamente elegante, soprattutto per un kit HCI.

Se ti senti frisky si potrebbe dare un'occhiata al quadro privata, DictationServices, ma tutte le avvertenze standard si applicano: App Store rifiuto, "hic sunt leones", ecc

+0

Stef ha ragione, anche se in qualche modo "hack" il riconoscimento vocale OS X avrai probabilmente problemi con l'App Store ecc. Perché non usare un framework open-source per fare questo? Ad esempio: http://cmusphinx.sourceforge.net/ – Tom

+0

CMUSphinx sembra essere la base di tutti i motori commerciali. Di fatto, è la base della tecnologia di Nuance e la licenza Apple IIRC lo fa. Ma l'originale sarà sicuramente molto indietro rispetto alla prole commerciale - mancanza di dati di addestramento per uno. –

+0

Non sono scoraggiato dal rifiuto di AppStore perché sto cercando una soluzione per il mio uso personale. Quindi forse 'DictationServices' è dove dovrei guardare al prossimo. Potrebbe essere possibile sovrapporre una finestra di overlay invisibile che intercetta e riemette i dati vocali. –

Problemi correlati