[ОБНОВЛЕНИЕ | Версия 2] Распознование речи | YandexSpeechKit и Processing

Тема в разделе "Raspberry Pi", создана пользователем okuznetcov, 21 авг 2015.

  1. okuznetcov

    okuznetcov Нерд

    Добрый день! Собираю систему распознавания речи в связке Arduino и Raspberry Pi. Прочитав первые 15-20 страниц поисковой выдачи по этому запросу, я понял что решения "из коробки" нет. Наткнулся на платформу Yandex.SpeechKitAPI. В отличии от Google, они предоставляют абсолютное легальное и бесплатное использование их сервиса, но с ограничением на 10000 запросов/сут. В общем, получил у них API-ключ, сформировал запрос на распознавание и оправил его через cUrl в обычный терминал. В итоге запрос выглядел следующим образом:
    Код (Text):
    curl -v -4 "asr.yandex.net/asr_xml?key=API_ключ&uuid=
    01ae13cb744628b58fb536d496daa1e6&topic=queries&lang=ru-RU" -H
    "Content-Type: audio/x-wav" --data-binary "/путь_до_файла_с_речью.wav"
    В ответ Яндекс присылает простой XML-файл с результатами, которые легко считать. Проблема заключается в следующем: запрос в Яндекс я собираюсь делать с помощью программы написанной в Processing, и до сих пор не могу понять, как выполнить такой запрос от туда.
    В документации Яндекса вроде-бы все понятно, а на деле ничего не работает...
     
  2. okuznetcov

    okuznetcov Нерд

    В общем, т. к. никаких идей нет, пришлось выкручиваться следующим образом: processing мониторит выход микрофона и после резкого подъема громкости начинает запись. После полного спада уровня громкости завершаем запись и сохраняем в файл. Затем выполняем скрипт из поста выше через обычный терминал, но с небольшой поправкой, которая сохраняет результат в xml-файл:
    Код (Text):
    -o /путь_до_папки_с_кодом/result.xml
    Затем считываем xml в processing, сравниваем с эталоном и отправляем нужную команду в COM-порт на Arduino.
     
  3. okuznetcov

    okuznetcov Нерд

    В общем, пара дней упорной работы дала свои плоды. Распознование работает без проблем :).
    Снял небольшую видео-демонстрацию, с рассказом о том как все работает:


    http://bit.ly/1PVY83T
     
    Последнее редактирование: 27 авг 2015
  4. vfsotnikov

    vfsotnikov Нуб

    Здравствуйте!
    Заинтересовался таким же проектом как и Вы.
    Можно вас попросить поделиться исходниками написанных скетчей и файлов настроек, и при наличии другими материалами по теме?
     
  5. okuznetcov

    okuznetcov Нерд

    Могу, но чуть позже. В данный момент проект еще очень сырой. Когда закончу и продемонстрирую оригинальную версию выложу исходники или бинарник на gitHub. Сейчас у меня уже есть рабочий алгоритм распознования, синтеза и активации, осталось научить распозновать абстрактную речь. Главная проблема заключается в том, чтобы научить программу извлекать суть из текста. В данный момент у меня уже есть написанная интеграция с сервисом wit.ai, так что осталось только обучить программу распозновать определенный смысл текста. Если хотите узнать что-либо подробнее, пишите на okuznetcov@me.com, я с радостью пообщаюсь.
     
  6. okuznetcov

    okuznetcov Нерд

    Еще раз добрый день! Прошло уже 23 дня с момента выпуска первой версии программы. За это время я нашел много багов в программе, добавил с десяток новых функций, среди которых динамическое понимание смысла речи. В общем, я решил что имеет смысл перенести тему в другой отдел форума Амперки. В данный момент алгоритм уже относительно стабилен, а значит результат пора записать в раздел "Глядите, что я сделал". В дальнейшем я вижу этот проект как программу для Raspberry Pi, а значит при начале установки данной программы на микрокомпьютер я обязательно напишу о об этом в этой теме. Ссылка на тему в другом разделе: http://forum.amperka.ru/threads/Рас...сла-речи-в-processing-и-yandexspeechkit.6000/
     
  7. akio_alx

    akio_alx Нуб

    а не думали о офлайн варианте rocketsphinx + raspberry?
    например в таком духе:
    http://home-smart-home.ru/raspberry...ajn-raspoznavanie-rechi-i-upravlenie-golosom/
    как никак уходит зависимость от наличия интернета да и свой словарь команд составить не сложно..
    Плюс ко всему и на лету можно потоков из микрофона и из файла тоже распознавать
     
    Igor68 нравится это.
  8. Igor68

    Igor68 Гуру

    Как приятно всё отвязать от выгребной ямы(интернет)!:)
     
    NikitOS нравится это.