Domanda

Voglio scrivere un software di base di riconoscimento vocale che può convertire discorso al testo. Volevo sapere quale lingua è più adatto per scrivere un tale software. È Java adatto per questo lavoro?

modifica: Grazie a tutti per le risposte. Voglio costruire uno strumento per un progetto universitario. Non voglio scrivere da zero. Voglio solo demo il potere di riconoscimento vocale. Lo strumento dovrebbe solo scrivere quello un utente dice su un editor di testo come blocco note. Non deve essere troppo preciso. Voglio solo sperimentare e imparare i vari algoritmi che stanno dietro di riconoscimento vocale come trovo questo campo molto interessante.

Grazie, Deepak

È stato utile?

Soluzione

Java può essere adatto per un'interfaccia ad esso, ma di riconoscimento vocale richiede grugnito seriamente crudo. Sarei la scelta di un linguaggio compilato close-to-the-metallo come C per il motore di riconoscimento effettivo.

Questo non è qualcosa da prendere alla leggera, tra l'altro. C'è un sacco di teoria è necessario imparare ancora prima di iniziare. Io stesso, sarebbe in licenza uno dei motori esistenti, se possibile, e concentrarsi sulla costruzione di un prodotto decente intorno ad esso.

Questo è se il vostro intento è quello di costruire un prodotto. Se si desidera solo per sperimentare, con tutti i mezzi scrivere il proprio. Sarà divertente (fino a un certo punto: -).

Altri suggerimenti

I miei studenti stanno utilizzando Sfinge . E 'scritto in Java (un porto da C ++ credo). Potrebbe non essere adatto a ciò che si vuole (penso che avrebbe bisogno di creare il proprio dizionario), ma la pena di verificare.

Sono d'accordo con Pax che questo è potenzialmente molto un grande progetto, e che la soluzione più pratica è probabilmente la licenza solo un motore esistente.

Se la portata di ciò che si vuole fare è solo distinguere tra alcuni già noti possibili espressioni, è un progetto molto più piccolo, ma pur sempre considerevole.

Ma ... se si decide che davvero davvero davvero vuole iniziare a sviluppare il proprio, non riesco a vedere un motivo per non usare Java. L'idea che "C è più veloce" è in gran parte un mito (o sulla base di out-of-date informazioni).

Un accordo con quasi tutto Pax ha detto, così ho intenzione di essere contrarian e sostengono il contrario. La saggezza convenzionale è che il riconoscimento vocale "richiede grugnito seriamente prima" e può essere perché questo è vero.

Ma può anche essere che tutti credono che, perché è così che è sempre stato fatto. Litigare dal fatto che il cervello umano non fare enormi quantità di dati forza bruta zangolatura riconoscere discorso, vorrei suggerire che esistono algoritmi di estrazione funzionalità intelligenti per fare il lavoro molto in modo più efficiente.

Se questo è il caso, e se si cerca di trovare un tale algoritmo, un linguaggio di alto livello può essere più adatto al compito. Tutto ciò che si perde in termini di efficienza che farete e più espressività algoritmica.

Detto questo, probabilmente ha ragione.

Credo che Java può essere una buona opzione, tutto dipende da come si riceve l'input. Ci sono alcune belle librarys per i suoni in Java.

La lingua non sarà il problema perché sarà una questione di riconoscere i modelli. Se Java è la lingua che hanno più familiarità con, io lo uso.

Turing completa in modo che possa gestire ogni lavoro di programmazione. Sia che volete di fare qualcosa in Java è interamente a voi.

Abbiamo avuto un moderato successo con Shynx framework scritto in Java, ma il vero lavoro duro sta nel capire algoritmi e matematica che operano nel settore e poi nel motore di messa a punto per le vostre particolari esigenze.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top