Question

Je veux écrire un logiciel de reconnaissance vocale de base qui peut convertir la parole en texte. Je voulais savoir quelle langue est le plus adapté pour écrire un tel logiciel. Java est adapté pour ce travail?

edit: Merci à tous pour les réponses. Je veux construire un outil pour un projet collégial. Je ne veux pas écrire à partir de zéro. Je veux juste faire la démonstration de la puissance de la reconnaissance vocale. L'outil doit simplement écrire ce que l'utilisateur dit sur un éditeur de texte comme Bloc-notes. Il ne doit pas être trop précis. Je veux juste expérimenter et apprendre les différents algorithmes derrière la reconnaissance vocale que je trouve ce domaine très intéressant.

Merci, Deepak

Était-ce utile?

La solution

Java peut être adapté à une interface, mais la reconnaissance vocale nécessite grognement sérieusement cru. Je serais le choix d'un gros compilé à la langue comme métal C pour le moteur de reconnaissance réelle.

Ce n'est pas quelque chose à prendre à la légère, par la manière. Il y a énormément de théorie, vous aurez besoin d'apprendre avant même de commencer. Moi-même, j'autoriserait l'un des moteurs existants, si possible, et de se concentrer sur la construction d'un produit décent autour.

C'est si votre intention est de construire un produit. Si vous voulez juste tester, par tous les moyens d'écrire votre propre. Ce sera amusant (jusqu'à un certain point: -).

Autres conseils

Mes élèves utilisent Sphinx . Il est écrit en Java (un port de C ++ je crois). Il pourrait ne pas convenir à ce que vous voulez (je pense que vous devez créer votre propre dictionnaire), mais la peine de vérifier.

Je suis d'accord avec Pax que c'est potentiellement un très grand projet, et que la solution la plus pratique est probablement sous licence juste un moteur existant.

Si la portée de ce que vous voulez faire est juste distinguer entre quelques énoncés possibles connus précédemment, il est un projet beaucoup plus petit, mais encore considérable.

Mais ... si vous décidez vraiment vraiment ne voulez vraiment commencer à développer votre propre, je ne vois pas une raison de ne pas utiliser Java. L'idée que « C est plus rapide » est en grande partie un mythe (ou basé sur des informations hors date).

Un accord avec presque tout ce que dit Pax, donc je vais être à contre-courant et argumenter le contraire. La sagesse conventionnelle est que la reconnaissance vocale « exige grognement sérieusement cru » et peut-être parce que cela est vrai.

Mais il se peut aussi que tout le monde croit que parce que c'est la façon dont il a toujours été fait. Arguant du fait que le cerveau humain ne pas ne énormes quantités de données de force brute barattage de reconnaître la parole, je suggère qu'il existe des algorithmes d'extraction de caractéristiques intelligentes pour faire le travail beaucoup plus efficacement.

Si tel est le cas, et si vous cherchez à trouver un tel algorithme, un langage de niveau supérieur peut être mieux adapté à la tâche. Tout ce que vous perdez en efficacité, vous allez faire et plus en expressivité algorithmiques.

Cela dit, il a probablement raison.

Je pense que java peut être une bonne option, tout dépend de la façon dont vous recevrez l'entrée. Il y a quelques belles librarys pour les sons en Java.

La langue ne va pas être le problème parce que ce sera une question de reconnaître les motifs. Si java est la langue que vous connaissez le mieux, je l'utilise.

Java est turation complète il peut gérer toutes les tâches de programmation. Que vous voulez pour faire quelque chose en Java est entièrement à vous.

Nous avons eu un succès modéré avec cadre Shynx écrit en Java, mais le vrai travail réside dans la compréhension des algorithmes mathématiques et impliqués dans la région et dans le moteur de réglage fin à vos besoins particuliers.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top