Речь становится все более популярным методом взаимодействия с электронными устройствами, такими как компьютеры, телефоны, планшеты и телевизоры. Речь уникальна, и речевые движки никогда не бывают точными на 100%. Но технологические достижения означают, что механизмы распознавания речи обеспечивают лучшую точность понимания речи. Чем выше точность, тем больше вероятность того, что клиенты будут использовать этот метод контроля. И, согласно исследованию китайского поискового гиганта Baidu, говорить в смартфон в три раза быстрее, чем ввод поискового запроса в экранный интерфейс.
Рынок распознавания речи оценивается примерно в 10 миллиардов долларов в год в ближайшие четыре года.Мы стали свидетелями появления интеллектуальных персональных помощников, таких как Siri для Apple, Cortana для Microsoft и Mycroft для Linux. Помощники используют голосовые запросы и пользовательский интерфейс на естественном языке, чтобы попытаться ответить на вопросы, дать рекомендации и выполнить действия без необходимости ввода с клавиатуры. О популярности устройств управления речью свидетельствует то, что специализированные продукты производятся в больших количествах, такие как Amazon Echo, Google Home и Apple HomePod. Распознавание речи также используется в умных часах, бытовой технике и помощниках в автомобиле. Приложения в автомобиле имеют большой пробег (извините за каламбур). Некоторые из автомобильных приложений включают навигацию, запрос прогнозов погоды, выяснение дорожной ситуации впереди и управление элементами автомобиля, такими как люк, окна и музыкальный плеер.
Ключевой проблемой при разработке программного обеспечения для распознавания речи, независимо от того, используется ли оно на компьютере или другом устройстве, является то, что человеческая речь чрезвычайно сложна. Программное обеспечение должно справляться с различными речевыми шаблонами и акцентами людей. А речь-это динамический процесс без четко выделенных частей. К счастью, технические достижения означают, что легче создавать инструменты распознавания речи. Мощные инструменты, такие как машинное обучение и искусственный интеллект, в сочетании с улучшенными алгоритмами речи, изменили способ разработки этих инструментов. Вам не нужны словари фонем. Вместо этого речевые движки могут использовать методы глубокого обучения, чтобы справиться со сложностями человеческой речи.
Существует не так много доступных инструментов распознавания речи, и некоторые из них являются проприетарным программным обеспечением. К счастью, есть несколько очень интересных инструментов распознавания речи с открытым исходным кодом. Эти наборы инструментов предназначены для создания механизма распознавания речи.
В этой статье освещается лучшее программное обеспечение для распознавания речи с открытым исходным кодом для Linux.
1. DeepSpeech
DeepSpeech-это встроенный (автономный, на устройстве) механизм преобразования речи в текст с открытым исходным кодом, который может работать в режиме реального времени на устройствах от Raspberry Pi 4 до мощных серверов GPU.
Website: github.com/mozilla/DeepSpeech
Разработчик: Mozilla
Лицензия: Mozilla Public License 2.0
2. wav2letter++
wav2letter++-это быстрый инструментарий для обработки речи с открытым исходным кодом от команды Speech в Facebook AI Research, созданный для облегчения исследований в сквозных моделях распознавания речи. Он предназначен в качестве платформы для быстрых исследований в области сквозного распознавания речи.
Он следует полностью сверточному подходу и использует сверточные нейронные сети (CNN) для акустического моделирования, а также моделирования языка.
Website: github.com/facebookresearch/wav2letter/wiki
Разработчик: Facebook, Inc. и ее филиалы
Лицензия: Лицензия BSD
3. deepspeech.pytorch
deepspeech.pytorch-реализация DeepSpeech2 с использованием Baidu Warp-CTC. Программное обеспечение создает сеть на основе архитектуры DeepSpeech2, обученную функции активации CTC.
Особенности включают в себя:
- Обучайте DeepSpeech, настраиваемые типы RNN и архитектуры с поддержкой нескольких GPU.
- Поддержка языковой модели с использованием kenlm (WIP в настоящее время).
- Несколько загрузчиков данных, поддержка AN4, TEDLIUM, Voxforge и Librispeech. Наборы данных могут быть объединены, и поддержка пользовательских наборов данных включена.
- Инъекция шума (динамическая) для онлайн-обучения для повышения устойчивости к шуму.
- Увеличение звука для повышения устойчивости к шуму. При этом применяются небольшие изменения темпа и усиления при загрузке звука для повышения надежности.
- Легкий запуск/остановка в случае сбоя или жесткой остановки во время обучения.
- Поддержка Visdom/Tensorboard для визуализации обучающих графиков.
Website: github.com/SeanNaren/deepspeech.pytorch
Поддержка: Шон Нарен
License: MIT License
4. Kaldi Speech Recognition Toolkit
Kaldi-это современный инструментарий распознавания речи, написанный на C++. Он предназначен для использования в основном для исследований акустического моделирования.
Несмотря на то, что программное обеспечение находится в разработке в течение нескольких лет, оно находится на ранней стадии разработки; официальных выпусков программного обеспечения нет.
Website: kaldi-asr.org
Разработчик: Daniel Povey, Arnab Ghoshal, Gilles Boulianne и многие другие
Лицензия: Apache License v2.0
5. Julius
"Julius"-это высокопроизводительное программное обеспечение для декодирования большого словаря непрерывного распознавания речи (LVCSR) для исследователей и разработчиков, связанных с речью.
Он поддерживает диктовку на основе N-грамм, синтаксический анализ на основе грамматики DFA и однопроходное распознавание изолированных слов. Он может выполнять многомодельное декодирование, распознавание с использованием нескольких LMS и AMS одновременно с одним процессором, а также поддерживает “горячее подключение” произвольных модулей во время выполнения.
Website: github.com/julius-speech/julius
Разработчик: Lee Akinobu
Лицензия: Лицензия с открытым исходным кодом
6. ESPnet
ESPnet-это комплексный инструментарий для обработки речи, в основном ориентированный на сквозное распознавание речи и сквозное преобразование текста в речь.
ESPnet использует pytorch в качестве механизма глубокого обучения, а также следует за обработкой данных в стиле Kaldi, извлечением/форматом функций и рецептами, чтобы обеспечить полную настройку для различных экспериментов по обработке речи.
ESPnet-это бесплатное программное обеспечение с открытым исходным кодом.
Website: espnet.github.io/espnet
Разработчик: Tomoki Hayashi, Hirofumi Inaguma, Naoyuki Kamo, Shigeki Karita и многие другие
Лицензия: Apache License 2.0
7. OpenSeq2Seq
OpenSeq2Seq-это инструментарий для распределенного и смешанного прецизионного обучения моделей sequence-to-sequence.
Основная цель OpenSeq2Seq - позволить исследователям наиболее эффективно исследовать различные модели sequence-to-sequence. Эффективность достигается за счет полной поддержки распределенного и смешанного обучения точности.
OpenSeq2Seq построен с использованием TensorFlow и предоставляет все необходимые строительные блоки для обучения моделей кодер-декодер для нейронного машинного перевода, автоматического распознавания речи, синтеза речи и моделирования языка.
Рабочий процесс преобразования речи в текст использует некоторые части проекта Mozilla DeepSpeech.
Это исследовательский проект, а не официальный продукт NVIDIA.
Website: nvidia.github.io/OpenSeq2Seq
Разработчик: NVIDIA
Лицензия: Apache License 2.0
8. CMUSphinx
CMUSphinx (Sphinx) - это собирательный термин для описания группы систем распознавания речи, разработанных в Университете Карнеги-Меллона.
CMUSphinx содержит ряд пакетов для различных задач и приложений:
- Pocketsphinx — легкий движок распознавания речи, специально настроенный для портативных и мобильных устройств, написанный на C.
- Sphinxbase — содержит базовые библиотеки, общие для CMU Sphinx trainer и всех декодеров Sphinx (Sphinx-II, Sphinx-III и PocketSphinx), а также некоторые общие утилиты для управления акустическими функциями и аудиофайлами.
- Sphinx4 — современная,независящий от диктора, система непрерывного распознавания речи, написанная на языке программирования Java. Дизайн Sphinx-4 основан на шаблонах, которые возникли в результате проектирования прошлых систем, а также на новых требованиях, основанных на областях, которые исследователи в настоящее время хотят исследовать. Чтобы использовать эту структуру и предоставить исследователям “готовую к исследованиям” систему, Sphinx-4 также включает в себя несколько реализаций как простых, так и современных методов.
- Sphinxtrain — тренер акустической модели с открытым исходным кодом Университета Карнеги-Меллона.
Website: cmusphinx.github.io
Разработчик: Многие участники
Лицензия: BSD-подобная лицензия
9. Eesen
Платформа Eesen значительно упрощает существующий конвейер для создания современных систем ASR. Акустические модели в Eesen-это глубокие двунаправленные RNN, обученные целевой функции CTC.
Акустическое моделирование в Eesen включает в себя обучение одной рекуррентной нейронной сети (RNN), предсказывающей контекстно-независимые цели (фонемы или символы).
Website: github.com/srvk/eesen
Поддержка: Yajie Miao и другие
Лицензия: Apache License 2.0
10. Simon
Simon-это программное обеспечение для распознавания речи с открытым исходным кодом, которое стремится быть гибким и настраиваемым. Вы можете открывать программы, URL-адреса, вводить настраиваемые фрагменты текста, имитировать ярлыки, управлять мышью и клавиатурой и многое другое.
Если вы хотите иметь возможность разговаривать с компьютером, проверьте Simon. Он принимает голосовые команды и превращает аудио в текст. Simon не привязан ни к одному языку и работает с любым диалектом.
Website: www.simon-listens.org
Разработчик: Peter Grasch
Лицензия: GNU GPL v2