На каком языке писать программу распознавания речи?

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

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

спасибо, Дипак!--1-->

7 ответов


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

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

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


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


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

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

но... если ты решишь, что действительно действительно хочешь начать развивать свой собственный, я не вижу причин не использовать его. Ява. Идея о том, что" с быстрее " -это в значительной степени миф (или основанная на устаревшей информации).


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

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

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

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


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

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


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


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