Какой язык использовать для написания программного обеспечения для распознавания речи?

StackOverflow https://stackoverflow.com/questions/664984

  •  21-08-2019
  •  | 
  •  

Вопрос

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

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

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

Это было полезно?

Решение

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

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

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

Другие советы

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

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

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

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

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

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

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top