Какой язык использовать для написания программы распознавания речи? - PullRequest
7 голосов
/ 20 марта 2009

Я хочу написать базовое программное обеспечение для распознавания речи, которое может преобразовывать речь в текст. Я хотел знать, какой язык больше всего подходит для написания такого программного обеспечения. Подходит ли Java для этой работы?

edit: Спасибо всем за ответы. Я хочу создать инструмент для проекта колледжа. Я не хочу писать это с нуля. Просто хочу продемонстрировать силу распознавания речи. Инструмент должен просто написать все, что пользователь говорит в текстовом редакторе, таком как блокнот. Это не должно быть слишком точным. Я просто хочу поэкспериментировать и изучить различные алгоритмы распознавания речи, поскольку я нахожу это поле очень интересным.

Спасибо, Дипак

Ответы [ 7 ]

4 голосов
/ 20 марта 2009

Мои ученики используют Сфинкс . Он написан на Java (я полагаю, порт из C ++). Это может не подходить для того, что вы хотите (я думаю, вам нужно создать свой собственный словарь), но стоит проверить.

3 голосов
/ 20 марта 2009

Я согласен с Pax, что это потенциально довольно большой проект, и что наиболее практичным решением, вероятно, является просто лицензирование существующего движка.

Если область действия, которую вы хотите сделать, это просто различить между несколькими ранее известными возможными высказываниями, это значительно меньший проект, но все же значительный.

Но ... если вы решите, что действительно действительно хотите начать разработку своей собственной программы, я не вижу причин не использовать Java. Идея о том, что «С быстрее», в значительной степени является мифом (или основана на устаревшей информации).

2 голосов
/ 20 марта 2009

Java может подходить для интерфейса с ним, но распознавание речи требует серьезного грубого ворчания. Я бы выбрал скомпилированный язык, близкий к металлическому, например C, для фактического механизма распознавания.

Кстати, это не то, что нужно предпринимать легко. Есть очень много теории, которую вам нужно выучить еще до того, как вы начнете. Сам я бы лицензировал один из существующих двигателей, если это возможно, и сосредоточился бы на создании достойного продукта вокруг него.

Это если ваша цель - создать продукт. Если вы просто хотите поэкспериментировать, непременно напишите свой. Это будет весело (до определенного момента: -).

1 голос
/ 20 марта 2009

Я согласен почти со всем, что сказал Пакс, так что я собираюсь быть противоположным и спорить об обратном. Общепринято, что распознавание речи «требует серьезного грубого ворчания», и это может быть потому, что это правда.

Но возможно, что все так считают, потому что так было всегда. Исходя из того факта, что человеческий мозг не не выполняет огромные объемы данных перебора, чтобы распознать речь, я бы предположил, что существуют умные алгоритмы извлечения признаков для выполнения этой работы много более эффективно.

Если это так, и если вы пытаетесь найти такой алгоритм, язык более высокого уровня может лучше подходить для этой задачи. Все, что вы теряете в эффективности, вы придумываете, а в алгоритмической выразительности больше.

Тем не менее, он, вероятно, прав.

0 голосов
/ 20 марта 2009

У нас был умеренный успех с фреймворком Shynx, написанным на Java, но настоящая тяжелая работа заключается в понимании алгоритмов и математики, используемых в этой области, а затем в тонкой настройке движка под ваши конкретные потребности.

0 голосов
/ 20 марта 2009

Java завершен , поэтому он может справиться с любым заданием на программирование.

Если вы хотите сделать что-то в Java, все зависит от вас. *1005*
0 голосов
/ 20 марта 2009

Я думаю, что Java может быть хорошим вариантом, все зависит от того, как вы получите вход. В Java есть несколько хороших библиотек для звуков.

Язык не будет проблемой, потому что это будет вопросом распознавания шаблонов. Если бы ява был языком, с которым вы наиболее знакомы, я бы использовал его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...