В данной статье я хотел бы рассказать вам о распознавании голоса, написанном на таком языке программирования как Bash. В качестве OC я выбрал Ubuntu 12.04
Ближе к теме
Распознавание голоса будет осуществляться сервисом Google, который используется в браузере Google Chrome для голосового поиска. Приступим?
В погоне за новыми альтернативными способами управления техникой (сенсорные экраны, датчики движений, распознавание эмоций), мы почему-то забыли о таком естественном для человека инструменте как голос. И если мы ещё не дошли до того, чтобы привычно отдавать голосовые команды своим девайсам, сейчас мы легко можем надиктовывать списки задач для собственной работы.
Почему-то у нас нет сил сделать всё хорошо сразу, но мы их находим, чтобы потом всё переделать
Мы, фрилансеры, часто говорим по скайпу, но из-за большой загруженности мозга после разговора в памяти остаётся не более трёх вещей. А мы не хотим тратить время на пустые разговоры и тем более на выполнение ненужной работы. Очень обидно обнаружить, что силы и время потрачены на выполнение задач, результаты которых бесполезны. За это время можно было бы сделать действительно профитабельные вещи! Чтобы решить эту проблему, мы создали Eleven — сервис распознавания речи в реальном времени.
CMU Sphinx сейчас является крупнейшим проектом по распознаванию человеческой речи. В инструментарий входят следующие программы и библиотеки:
Pocketsphinx — небольшая программа, которая принимает на вход произвольные акустические модели, грамматики и словари, а также звуковой поток(либо звуковой файл, либо сам берет поток с микрофона). На выходе получается распознанный текст. Написана на C, работает быстро.
Sphinxbase — библиотека необходимая для работы Pocketsphinx
Sphinx4 — гибкая библиотека для распознавания, написана на Java.
Sphinxtrain — программа для обучения акустических моделей.
Для работы со CMU Sphinx важно запомнить несколько определений и понять их отличия.
Словарь — это файл, в котором написаны сопоставлены лексемы и фонемы (слово и его транскрипция). Например, калькулятор (k ay ll k u ll ja t ay r). Он необходим для преобразования фонем, распознанных акустической моделью в лексемы.
Грамматика — это формальные правила, которые описывают простые правила построения предложений. Лексемы, полученные на предыдущем шаге пытаются сопоставиться с грамматикой и если удачно, то выводится результат.
Языковая модель — это статистическая модель языка. Она описывает вероятности слов и их комбинаций. Таким образом распознавание лексем — это максимизация правдоподобности распознанной фразы.
Чем сложнее язык, чем обширней правила и размер словаря, тем хуже точность распознавания. Поэтому, для минимизации ошибки, имеет смысл создания упрощенных правил, которые будут описывать конкретную задачу.
Можно ли сэкономить на телефонии? Да, еще и не потеряв в функционале. Сейчас опишем, как за несколько минут настроить телефонию для бизнеса вместе с базой клиентов (облачную АТС в связке с CRM).
Я абсолютно уверен что скоро в telegram - перевод аудио-сообщений в текст будет функцией по-умолчанию, ну а пока хотел бы показать простенький пример как реализовать такой функционал в telegram-боте (которых уже сотни, но почему бы не посмотреть как это работает на примере).
На сегодня существует большое количество алгоритмов машинного обучения для обработки различного типа данных, таких как табличные данные, изображения, текст, аудио файлы. Как раз о последнем типе пойдёт речь в данной работе, потому как аудио файлы являются одной из распространенных форм хранения данных в организациях, тщательный анализ которых может являться ключевым фактором к развитию не только коммерческих продуктов, но и опенсорсных решений. В то же время именно методы работы со звуком менее всего популярны, особенно в русскоязычном сегменте, но об этом далее.