Skip to content

Latest commit

 

History

History
47 lines (40 loc) · 5.05 KB

README_RUS.md

File metadata and controls

47 lines (40 loc) · 5.05 KB

SpeechRecognizer

Проект офлайн распознавания речи. В основе - библиотека pocketsphinx(статическая сборка).

Основа проекта - динамическая библиотека SpeechRecognizer (SpeechRecognizer->lib->dynamic).

Библиотека SpeechRecognizer создавалась в расчете на последующую интеграцию в проекты на Unity 5 за счет использования обертки(коннектора) UnitySpeechRecognizer ( https://github.com/MimusTriurus/UnitySpeechRecognizer ).

Приложение для демонстрации распознаванию речи - VoiceRecognition (SpeechRecognizer->app).

Системные требования:

  1. ОС: Windows(x86, x64), Ubuntu 16.04(x86, x64), Raspbian;
  2. Qt 5.5.1 или более новая версия;
  3. Компилятор с поддержкой c++ 11(MSVC2013);
  4. Наличие микрофона.

Установка на Windows:

  1. Склонировать репозиторий;
  2. При необходимости установить флаг компиляции -j* где * - колличество ядер задействованных в ходе компиляции;
  3. Собрать головной проект SpeechRecognizer;
  4. Скачать файлы акустической модели https://cloud.mail.ru/public/74Jz/ifWwr2p2r и извлечь в папку с исполняемым файлом VoiceRecognition.exe.

Установка на Ubuntu:

  1. Склонировать репозиторий;
  2. Установить библиотеку libasound2-dev введя в консоли sudo apt-get install libasound2-dev (для того, чтобы pocketsphinx по умолчанию использовал Alsa а не pulseaudio);
  3. При необходимости установить флаг компиляции -j* где * - колличество ядер задействованных в ходе компиляции;
  4. Собрать головной проект SpeechRecognizer;
  5. Скачать файлы акустической модели https://cloud.mail.ru/public/74Jz/ifWwr2p2r и извлечь в папку с исполняемым файлом VoiceRecognition.

Установка на Raspbian

  1. Cоздать файл подкачки(swap file) на 1 Гб. Для этого необходимо: a) открыть файл введя в консоли команды sudo nano /etc/dphys-swapfile; b) изменить значение CONF_SWAPSIZE на 1024; c) сохраняем файл нажатием [Ctrl+O], затем [Enter] для подтверждения и [Ctrl+X].
  2. Склонировать репозиторий;
  3. Установить библиотеку libasound2-dev введя в консоли sudo apt-get install libasound2-dev (для того, чтобы pocketsphinx по умолчанию использовал Alsa а не pulseaudio);
  4. При необходимости установить флаг компиляции -j* где * - колличество ядер задействованных в ходе компиляции;
  5. Собрать головной проект SpeechRecognizer;
  6. Скачать файлы акустической модели https://cloud.mail.ru/public/74Jz/ifWwr2p2r и извлечь в папку с исполняемым файлом VoiceRecognition.

Примечание: 0. Для статической сборки на Windows необходимо добавить "#undef SPHINX_DLL" в pocketsphinx_export.h и sphinxbase_export.h

  1. Для статической сборки библиотек pocketsphinx команду make следует выполнять с флагом CFLAGS="-static";
  2. Для установки скомпиленных библиотек следует выполнить make install DESTDIR=<каталог>;
  3. Тестовое приложение VoiceRecognition и библиотека SpeechRecognizer находятся в папке bin;
  4. Для работы приложения VoiceRecognition с конкретным микрофоном необходимо запускать программу с параметром "-adcdev hw:0,0" ( где hw:0,0 - идентификатор микрофона. Например hw:1,0 для микрофона usb web-камеры на raspberry ) иначе используется устройство по умолчанию;
  5. Для улучшения качества распознавания необходимо отрегулировать микрофон таким образом, чтобы он захватывал как можно меньше фонового шума;
  6. При возникновении ошибки "Available samping rate 44100 is too far from requested 16000" на raspberry необходимо инициализировать аудиоустройство параметром запуска "-adcdev plughw:1"