Pergunta

Eu quero escrever um software básico Reconhecimento de voz que pode converter voz para texto. Eu queria saber qual a linguagem é mais adequado para escrever tal software a. Java é adequado para este trabalho?

edit: Obrigado a todos pelas respostas. Quero construir uma ferramenta para um projeto da faculdade. Eu não quero escrever a partir do zero. Só quero demonstrar o poder de Reconhecimento de Voz. A ferramenta deve apenas escrever o que um usuário diz em um editor de texto como bloco de notas. Ele não precisa ser muito preciso. Eu só quero experimentar e aprender os vários algoritmos atrás de Reconhecimento de Voz como eu encontrar este campo muito interessante.

Obrigado, Deepak

Foi útil?

Solução

Java pode ser adequado para uma interface para ele, mas o reconhecimento de voz requer grunhido sério cru. Eu estaria escolhendo uma linguagem compilada close-to-the-metal como C para o motor de reconhecimento real.

Isso não é algo para ser encarado levianamente, por sinal. Há uma enorme quantidade de teoria, você vai precisar aprender, mesmo antes de começar. Eu mesmo, eu iria licenciar um dos motores existentes, se possível, e concentrar-se em construir um produto decente em torno dele.

Isto é, se a sua intenção é construir um produto. Se você simplesmente deseja experimentar, por todos os meios escrever o seu próprio. Vai ser divertido (até um ponto: -).

Outras dicas

Os meus alunos estão usando Esfinge . Ele é escrito em Java (uma porta de C ++ eu acredito). Pode não ser adequado para o que você quer (eu acho que você precisa para criar o seu próprio dicionário), mas vale a pena conferir.

Eu concordo com Pax que este é potencialmente muito um grande projeto, e que a solução mais prática é provavelmente apenas para licenciar um motor existente.

Se o escopo do que você quer fazer é apenas distinguir entre algumas declarações possíveis previamente conhecidas, é um projeto significativamente menor, mas ainda considerável.

Mas ... se você decidir que realmente realmente realmente quero começar a desenvolver o seu próprio, eu não posso ver uma razão para não usar Java. A ideia de que "C é mais rápido" é em grande parte um mito (ou com base em out-of-date informações).

A concordar com quase tudo Pax disse, então eu vou ser contrarian e defendem o oposto. A sabedoria convencional é que o reconhecimento de voz "requer grunhido sério crua" e pode ser porque isso é verdade.

Mas também pode ser que todo mundo acredita que, porque é assim que sempre foi feito. Argumentando a partir do fato de que o cérebro humano não que enormes quantidades de dados de força bruta agitadas de reconhecer a fala, gostaria de sugerir que existem algoritmos de extração de características inteligentes para fazer o trabalho muito de forma mais eficiente.

Se for esse o caso, e se você tentar encontrar um algoritmo tal, uma linguagem de alto nível pode ser mais adequado para a tarefa. Tudo o que desligares na eficiência que você vai fazer-se e mais expressividade algorítmica.

Dito isso, ele provavelmente está certo.

Eu acho que Java pode ser uma boa opção, tudo depende de como você vai receber de entrada. Há alguns bons librarys para sons em Java.

A linguagem não vai ser o problema, porque vai ser uma questão de reconhecer os padrões. Se Java é a linguagem que você está mais familiarizado com, gostaria de usá-lo.

Java é turing completa para que ele possa lidar com cada trabalho de programação. Se você deseja para fazer alguma coisa em Java é inteiramente até você.

Nós teve um sucesso moderado com o quadro Shynx escrito em Java, mas as verdadeiras mentiras trabalhar duro na algoritmos compreensão e matemática envolvida na área e, em seguida, no motor de ajuste fino para suas necessidades particulares.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top