2010-11-15 8 views
15

Desidero che il sistema di riconoscimento vocale Android analizzi il file audio e non la voce vocale predefinita dal microfono.C'è un modo per inviare file audio al riconoscimento vocale per il testo

C'è un modo per farlo?

Grazie.

+0

Ho visto questo link: http://www.androidjavadoc.com/1.0_r1_src/android/speech/recognition/MediaFileReader.html che sembra interessante, ma non ora come potrei fare riferimento a questa classe ... – nonozor

+0

è possibile farlo registrando prima dal microfono, quindi salvando il file come array di byte in runtime, quindi decodificare questo file dall'array di byte al file di formato audio e inserirlo nel sistema di riconoscimento vocale. –

risposta

1

suppongo che funziona in modo simile alle API Chrome - http://mikepultz.com/2011/03/accessing-google-speech-api-chrome-11/

Come ha accennato è possibile convertire il file del microfono in un file flac e inviarlo al api discorso, e si otterrà il stesso risultato. Quindi puoi usare SOX e convertirlo tu stesso.

Spero che aiuti. Dias

+0

Sì, che non funziona più, hanno preso l'API –

1

cmusphinx.sourceforge.net/wiki/tutorialandroid Appena scoperto che il collegamento suona come se qualcuno avesse creato una versione Android di Sphinx.

Guardare l'API Android non sembra essere supportato. (http://developer.android.com/reference/android/speech/package-summary.html)

Potrebbe essere possibile utilizzare un'altra API.

So che C# api di Microsoft consente questo, ma affinché ciò sia utile probabilmente è necessario configurare un server con un programma che si è registrato registrare il file audio sul telefono e quindi inviarlo al server.

CMUSphinx (http://cmusphinx.sourceforge.net/wiki/) è scritto in Java, quindi potrebbe essere possibile farlo funzionare su un dispositivo Android. Su quella API si crea un StreamSpeechReconizer.

StreamSpeechRecognizer recognizer = new StreamSpeechRecognizer(configuration); 
recognizer.startRecognition(new File("speech.wav").toURI().toURL()); 
SpeechResult result = recognizer.getResult(); 
recognizer.stopRecognition(); 

ho trovato questo https://gist.github.com/alotaiba/1730160 con una rapida ricerca sul web (google "riconoscimento vocale api accetta file"), quindi ci potrebbero essere altri servizi sul web che avrebbe accettato un file da inviare a loro.