Наверняка, каждый мечтает о своем голосовом ассистенте, под катом еще одна реализация «Джарвиса» из известного фильма.

image

Давно не покидала мысль о своем «Jarvis» и управлении техникой в доме голосом. И вот, наконец, руки дошли до создания сего чуда. Над «мозгами» долго думать не пришлось, Raspberry Pi подходит идеально.

Итак, железо:

  • Raspberry pi 3 model b
  • USB камера logitech

Реализация


Работать наш ассистент будет по принципу Alexa/Hub:

  1. Активироваться оффлайн по определенному слову
  2. Распознать команду в облаке
  3. Выполнить команду
  4. Отчитаться о проделай работе либо сообщить запрашиваем информацию

Т.к. моя камера поддерживается из коробки, с драйверами возиться не пришлось, поэтому сразу переходим к программной части.

Оффлайн активация


Активация будет происходить с помощью CMU Sphinx, и все бы хорошо, но из коробки распознание происходит очень медленно, больше 10 сек, что абсолютно не подходит, для решения проблемы нужно очистить словарь от ненужных слов.

Устанавливаем все необходимое:

pip3 install SpeechRecognition
pip3 install pocketsphinx

далее

sudo nano /usr/local/lib/python3.4/dist-packages/speech_recognition/pocketsphinx-data/en-US
/pronounciation-dictionary.dict

удаляем все кроме нужного нам Джарвиса:

 jarvis JH AA R V AH S

Теперь pocketsphinx распознает довольно быстро.

Распознавание речи


Сначала была идея воспользоваться сервисом гугла, к тому же его поддержка есть в SpeechRecognition. Но как оказалось гугл берет за это деньги и не работает с физ. лицами.

Благо Яндекс тоже предоставляет такую возможность, бесплатно и предельно просто.

Регистрируемся, получаем API KEY. Все работу можно производить curl’om.

curl -X POST -H "Content-Type: audio/x-wav" --data-binary "@file" «https://asr.yandex.net/asr_xml?uuid=ya_uid&key=yf_api_key&topic=queries»

Синтез речи


Тут нам опять поможет Яндекс. Посылаем текст в ответ получаем файл с синтезированным текстом

curl «https://tts.voicetech.yandex.net/generate?format=wav&lang=ru-RU&speaker=zahar&emotion=good&key=ya_api_key» -G --data-urlencode "text=text" > file

Jarvis


Собираем все вместе и получаем такой скрипт.

#! /usr/bin/env python
# -*-coding:utf-8-*-
import os
import speech_recognition as sr
from xml.dom import minidom
import sys
import random

r = sr.Recognizer()
ya_uuid = ''
ya_api_key = ''


# os.system('echo "Ассист+ент зап+ущен" |festival --tts --language russian')


def convert_ya_asr_to_key():
    xmldoc = minidom.parse('./asr_answer.xml')
    itemlist = xmldoc.getElementsByTagName('variant')
    if len(itemlist) > 0:
        return itemlist[0].firstChild.nodeValue
    else:
        return False


def jarvis_on():
    with sr.WavFile("send.wav") as source:
        audio = r.record(source)

    try:
        t = r.recognize_sphinx(audio)
        print(t)
    except LookupError:
        print("Could not understand audio")

    return t == ("jarvis")


def jarvis_say(phrase):
    os.system(
        'curl "https://tts.voicetech.yandex.net/generate?format=wav&lang=ru-RU&speaker=zahar&emotion=good&key='+ya_api_key+'" -G --data-urlencode "text=' + phrase + '" > jarvis_speech.wav')
    os.system('aplay jarvis_speech.wav')


def jarvis_say_good():
    phrases = ["Готово", "Сделано", "Слушаюсь", "Есть", "Что-то еще?", ]
    randitem = random.choice(phrases)
    jarvis_say(randitem)





try:
    while True:
        os.system('arecord -B --buffer-time=1000000 -f dat -r 16000 -d 3 -D plughw:1,0 send.wav')
        if jarvis_on():
            os.system('aplay jarvis_on.wav')
            os.system('arecord -B --buffer-time=1000000 -f dat -r 16000 -d 3 -D plughw:1,0 send.wav')
            os.system(
                'curl -X POST -H "Content-Type: audio/x-wav" --data-binary "@send.wav" "https://asr.yandex.net/asr_xml?uuid='+ya_uuid+'&key='+ya_api_key+'&topic=queries" > asr_answer.xml')
            command_key = convert_ya_asr_to_key()
            if (command_key):
                if (command_key in [‘key_word', ‘key_word1’, ‘key_word2']):
                    os.system(‘’)
                    jarvis_say_good()
                    continue

              

except Exception:
jarvis_say('Что-то пошло не так')

Что тут происходит. Запускаем бесконечный цикл, arecord’om записываем три секунды и отправляем sphinx на распознание, если в файле встречается слово «jarvis»

 if jarvis_on():

проигрываем заранее записанный фаил оповещения об активации.

Опять записываем 3 секунды и отправляем Яндексу, в ответ получаем нашу команду. Далее выполняем действия исходя из команды.

На этом собственно все. Сценариев выполнения можно придумать великое множество.

Use-case


Теперь немного примеров реального моего использования

Philips Hue


Устанавливаем

pip install phue

В приложении Hue устанавливаем статический IP:

image

Запускаем:


#!/usr/bin/python
import sys
from phue import Bridge

b = Bridge('192.168.0.100') # Enter bridge IP here.

#If running for the first time, press button on bridge and run with b.connect() uncommented
#b.connect()

print (b.get_scene())

Выписываем ID нужных схем, вида «470d4c3c8-on-0»

Конечный вариант скрипта:

#!/usr/bin/python
import sys
from phue import Bridge


b = Bridge('192.168.0.100') # Enter bridge IP here.

#If running for the first time, press button on bridge and run with b.connect() uncommented
#b.connect()


if (sys.argv[1] == 'off'):
    b.set_light([1,2,3],'on', False)
else:
    b.activate_scene(1,sys.argv[1])

В джарвиса добавляем:

                if (command_key in ['включи свет', 'включить свет', 'свет']):
                    os.system('python3 /home/pi/smarthome/hue/hue.py a1167aa91-on-0')
                    jarvis_say_good()
                    continue

                if (command_key in ['приглуши свет', 'приглушить свет']):
                    os.system('python3 /home/pi/smarthome/hue/hue.py ac637e2f0-on-0')
                    jarvis_say_good()
                    continue

                if (command_key in ['выключи свет', 'выключить свет']):
                    os.system('python3 /home/pi/smarthome/hue/hue.py  "off"')
                    jarvis_say_good()
                    continue

LG TV


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

В джарвиса добавляем:

 
                #1 - POWER 
                #24 - VOLUNE_UP
                #25 - VOLUME_DOWN
                #400 - 3D_VIDEO
                if (command_key in ['выключи телевизор', 'выключить телевизор']):
                    os.system('python3 /home/pi/smarthome/TV/tv2.py 1')
                    jarvis_say_good()
                    continue

	        if (command_key in [‘прибавь громкость', 'громче']):
                    os.system('python3 /home/pi/smarthome/TV/tv2.py 24')
                    jarvis_say_good()
                    continue

Радио


sudo apt-get install mpg123

В джарвиса добавляем:

 
               if (command_key in ['новости', ‘выключи новости’,’что происходит’]):
                    os.system(‘mpg123 URL')
                    continue

Еще можно поставить homebridge и управлять всем через Siri, в случае если до джарвиса не докричаться.

Что касается качества распознавания речи, не Alexa конечно, но на расстоянии до 5 метров процент верного попадания приличный. Главная проблема — речь из телевизора\колонок записывается вместе с командами и мешает распознаванию.

На этом все, спасибо.
Поделиться с друзьями
-->

Комментарии (53)


  1. Xandrmoro
    29.01.2017 22:41
    +4

    Наверняка, каждый мечтает о своем голосовом ассистенте

    Но ведь голос (и вообще текст на естественном языке) — самый неудобный способ управления?


    1. tmin10
      29.01.2017 23:38

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


    1. Bluefox
      30.01.2017 11:27
      +1

      Очень даже удобно. Я реально пользуюсь управлением светом.
      https://www.youtube.com/watch?v=U-6_s7yuGQE&t=28s


  1. Nikobraz
    29.01.2017 22:53
    +3

    А я хочу нормальный нейроинтерфейс для клавиатуры


    1. tmin10
      29.01.2017 23:38

      В идеале нужен нейроинтерфейс как в матрице: чтобы отключить тело и полностью перейти в VR.


      1. dron_k
        30.01.2017 00:22
        +6

        Чтобы там набирать на клавиатуре.


        1. Kirsch
          30.01.2017 08:49
          +6


    1. noonv
      30.01.2017 11:01

      Пока текущие возможности и технологии по набору текста при помощи нейроинтерфейсов сильно уступают в скорости набора.


  1. kernel24
    30.01.2017 00:20

    Чего уже мелочиться, зачем вам это бренное тело, всех в матрицу :)


  1. Jogger
    30.01.2017 00:57

    >Наверняка, каждый мечтает о своем голосовом ассистенте

    Только если он будет комплектоваться телом-андроидом. Я совершенно не представляю, зачем мне голосовой помошник, который не может ничего сделать. Большинством функций умного дома, как по мне, куда удобнее рулить с графического или текстового интерфейса. Вот попробовал я Кортану — ну, поигрался немного, но так и не придумал ей практического применения. Может быть об этом и мечтают люди, у которых нет навыка работы с клавиатурой (хотя опять же, в большинстве случаев хватает навыков работы с мышью или тач-панелью), но зачем такой помощник гикам — ума не приложу.


    1. toteKopf
      30.01.2017 01:32

      Не всегда, например, мне просто лень что-то тыкать на планшете (на планшете это будет несколько нажатий, проще уж воспользоваться обычным выключателем), когда я захожу домой, проще голосом сказать свет. И далее остальные применения, по той же схеме. Можно взглянуть на это иначе — кому как удобнее.


      1. Jogger
        30.01.2017 01:36
        +2

        Опять же, мне проще щёлкнуть выключателем, чем что-то вслух произносить. И намного быстрее. И шансов что мою команду неправильно распознают чуток поменьше. И ложных срабатываний почти нет (разве что если спиной заденешь). Нет, ну пожалуй если у кого-то квартира большая, а выключатели расположены неудобно, и зайдя в комнату до выключателя надо идти — может и удобно, я ж не знаю. Но как-то слишком много условий чтобы писать «каждый мечтает».


        1. instalator
          30.01.2017 07:47

          Удобно активировать различные сценарии. Например: Кино, музыка, уборка и т.д. где активируется ряд действий, например чтобы у меня руками включить режим «кино». то нужно взять 3 пульта, от телевизора, ресивера и проектора, плюс встать и выключить везде свет.


        1. gsaw
          30.01.2017 10:35

          Я Алексу прошу
          * Включить музыку пока готовлю
          * Включить/выключить свет на кухне если руки заняты
          * Включить/выключить монитор (на нем нет физической кнопки)
          * Включить/выключить свет в зале когда мы на диване телек смотрим к примеру
          * Поставить таймер на N минут
          * Узнать погоду
          * Включить/выключить группу приборов
          * Включить отопление

          В самом начале еще всякую ерунду типа «сколько лет Путину» или «какое расстояние до солнца» спрашивали. Но быстро надоело. Так да, если выключатель в пределах пары метров, то проще им щелкнуть, чем выговаривать фразу, которую надо еще правильно сформулировать. Но все же Echo dot стоит потраченных 50 Евров, хотя и нервирует иногда, своей тупостью.


          1. instalator
            30.01.2017 10:52

            Стоп, спрашиваете на русском?


            1. gsaw
              30.01.2017 11:50

              нет конечно, к сожалению русского нет и я думаю никода не будет. Вся надежда на google home. Google Assistent уже понимает русский, письменный, а голосовое управление еще нет.


              1. Nikobraz
                01.02.2017 06:51

                (del)


          1. BurlakovSG
            31.01.2017 15:08
            +1

            Включить/выключить свет в зале когда мы на диване телек смотрим к примеру

            А как успехи с распознаванием голоса при работе какого-либо фонового звука?
            Так же хотелось бы услышать ответ на этот вопрос от автора статьи.


            1. gsaw
              31.01.2017 17:25

              Про Алексу. Если тишина, то голос не надо повышать, можно обычным тоном говорить. Если в соседней комнате работает телевизор, то это распознованию практически не мешает. Если в той же комнате (у меня это кухня) булькает к примеру кофеварка или работает вытяжка то приходится повышать голос. Иначе либо не понимает, либо «делает вид», что ничего не услышала. Если телевизор сделать совсем громко, то приходится громко говорить. Если алекса сама музыку воспроизводит, то достаточно, что бы она услышала свое имя, она тут же приглушает звук. У меня зал по соседству с кухней, из зала я тоже могу отдавать комманды, правда приходиться повышать голос и глушить телевизор.

              В принципе неплохо работает, иногда есть какие то непонятки. Некоторые слова упорно не хочет понимать, возможно потому, что я на иностранном для меня языке говорю. Хотя в логе видно, что предложение поняла. Говорю к примеру «включи монитор», она все распознала, видно в логе, но все равно переспрашивает, какой девайс я имел ввиду. Если тут скажу «монитор» она его включает. Я обошел эту проблему переименовав монитор в «компьютер». Стала понимать слету, даже шепотом.

              Но вот из-за таких непоняток невольно начинаешь повышать голос и говорить как робот. У меня такое чуство, что проблема не в распозновании речи как таковой, а понимании семантики.


      1. xxvy
        30.01.2017 04:38
        +3

        Когда я захожу домой, любой «умный дом» должен сам понимать, что мне нужен свет. И просто включить его.


        1. spc
          30.01.2017 09:39

          По моему личному мнению, с вероятностью в 99,9% такого не будет в ближайшие не знаю сколько лет. А то, может и никогда не будет.

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


          1. tmin10
            30.01.2017 10:49

            Ну почему. Главная проблема точного детекта людей в квартире. Если решить её (например продвинутыми датчиками движения, может даже какие-то примитивные 2д лидары), то можно запустить систему в режим обучения, чтобы она изучила привычки людей и потом старалась их воспроизводить. Раз учат нейронки водить авто, то и угадывать, что если я захожу в комнату и там темно, то нужно включить свет уже не сложно.


            1. spc
              30.01.2017 11:05

              И вот я снова становлюсь занудой. Собственно, здесь (на ГТ) каждый, кому не лень, говорит, что то, что мы называем умным домом, это не умный дом.

              Вот и я соглашусь: сейчас дома автоматические. А вот до умного нам как до Марса пешком.

              Предположим, вы обклеите все датчиками и даже поставите камеры, которые будут (вместе с другим железом) распознавать пол и возраст каждого. Но вот ситуации:

              а) Вы приходите домой один
              б) Вы приходите домой с известной дому дамой
              в) Вы приходите с неизвестной дому дамой
              г) Вы приходите домой с известной дому дамой, которой неизвестно, что в пункте в) вы приходили домой с неизвестной дамой
              д) Вы приходите домой с известной дому дамой, с которой романтика уже закончилась

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


              1. tmin10
                30.01.2017 11:44

                А зачем прямо идеально чтобы реагировал? Он должен кпредугадывать что-то несложное, остальное можно и руками подкрутить, благо это довольно редко. Т.е. грубо говоря работать на простых кейсах, которые покроют 90% времени: включить свет по приходу, сопровождать движение по коридорам их подсветкой, вечером закрыть жалюзи, утром их открыть, согласуясь с будильником.


                1. spc
                  30.01.2017 11:49

                  Повторюсь, там вон выше пишут «любой умный дом». Вот именно поэтому.


              1. xxvy
                30.01.2017 11:58

                «Умный дом» в идеале, это слуга Беримор. Когда вы приходите домой с новой дамой, он должен включить приглушённый свет и вежливо поприветствовать вас словами «Добрый вечер, сэр. Я вижу вы с новой спутницей? Включить музыку? Или как обычно?»

                :)


                1. spc
                  30.01.2017 12:11
                  +2

                  Я вижу вы с новой спутницей?


                  Вот это как раз глупый дом )


                  1. Xandrmoro
                    30.01.2017 16:59

                    Отчего же глупый? Просто говорить это надо по нейроинтерфейсу или, хотя бы, микронаушнику :)


        1. Akronix
          30.01.2017 10:04

          PIR датчики влепили и работает)


        1. dadyjo
          30.01.2017 17:20

          У меня в прохожей стоит лампа с датчиком Холла. Как вхожу включается, через 3 минуты выключается если никто не проходит мимо.


  1. hzs
    30.01.2017 08:33

    В принципе, ничего не мешает сделать Джарвиса для обычного ноутбука.
    Ты за ноутом, микрофон на расстоянии максимум метра.
    Команды типа «Включи новости/музыку», «зайди на Гиктаймс/Баш/ещё-куда-нибудь».


  1. imm
    30.01.2017 08:36
    +3

    Команда «б**ь» отменяет последнее действие?


  1. AllexIn
    30.01.2017 10:01

    Я вот чего не понимаю:
    телевизор, музыкальая система, вентиляция — все эти штуки являются частью системы умного дома.
    Почему нигде не внедряют систему распознавания голоса для умного дома, которая из звукового потока убирает известыне ей звуки?
    Звук из телевизора мешает распознавания? Да нет проблем, просто уберите из входного потока звук телевизора. У вас же есть доступ к звуковому потоку телевизора.


    1. tmin10
      30.01.2017 10:50

      Звук-то не идеально будет идти в микрофоны, стоит учитывать переотражения от стен, поглощение и прочее.


  1. xxvy
    30.01.2017 10:28
    +2

    По моему скромному мнению управление голосом не очень комфортно в большинстве ситуаций. Вот ночью, к примеру, нужно включить свет. Как это сделать? Прокашляться и чётким голосом сказать «Компьютер, свет!»?

    Как мне кажется, более естественно управлять жестами. Махнул рукой в нужном направлении — свет включился (и не важно, что в комнате кромешная тьма. Система пусть видит в темноте. ИК, например).
    Так же можно управлять и бытовой техникой. Указал пальцем, затем махнул в нужном направлении, или сложил из пальцев фигу — прибор выключился.

    Со стороны это будет выглядеть как магические пассы :)


    1. NoRegrets
      30.01.2017 11:59

      Инсендио!!! В сторону люстры )
      Нет уж, надо чтобы распознавание было хорошим. Мы же легко распознаем какой угодно голос и компьютер так сможет, если уже не может.


      1. xxvy
        30.01.2017 12:45

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


    1. gsaw
      30.01.2017 16:47

      Я вот думал — пульт ду на e-Ink, с гироскопом и может быть с компасом. К примеру настроить несколько схем. Для выключения света две кнопки, для телевизора много специфичных кнопок, для управления жалюзями тоже две кнопки и может быть контрол для диммера. А потом выбрать схему для лампочки, направить пульт на лампочку и зафиксировать положение гироскопа и компаса. Так же с телевизором и окном. Потом направил на телек, пульт сам включит схему с кнопками для телефизора. Направил вверх на лампочку и автоматически активируется схема для управления лампой.

      Конечно это будет работать, если пульт всегда только на одном месте будет использоваться. У меня по крайней мере так. Грубо направления лево — окно, прямо — телевизор, вверх — лампа должно быть достаточно для выбора лайоута.


      1. xxvy
        31.01.2017 04:06

        Предлагаю пульт в виде волшебной палочки (с гироскопом, сенсорами и одной кнопкой)
        Ей можно махать, вычерчивая заклинания в воздухе.


        1. w1nterfell
          31.01.2017 13:27

          Надо сделать звуковую отвертку!


        1. Am0ralist
          31.01.2017 14:49

          Если отслеживать в пространстве, то в любом случае потребуется система определения куда направлено, с метками пространства какими-то.
          Чтоб понятно было, что вот заклинание «светиус-медиус» вы на люстру центральную кастанули, а не на бра.

          Так что было бы веселее «Джарвис», рукой на люстру, по часовой покрутили — свет прибавился. Тоже самое — на кондиционер и телевизор.
          Без «пульта» или палочек, чтоб каждый раз эти костыли не искать.
          А для этого нужна система распознавания жестов независимо от освещенности.


          1. xxvy
            01.02.2017 04:35

            на палочку наносим контрастные метки и камерой(камерами) определяем положение и направление. Кинект же…


            1. Am0ralist
              01.02.2017 09:05

              и камерой(камерами) определяем положение и направление.

              ИК камерами?
              Или в темноте волшебство не случится?

              Плюс необходимо уверенное опознавание во всех углах квартиры (т.е. количество камер большое).
              И привязать палочку-пульт к себе.


              1. xxvy
                01.02.2017 12:34

                1. палочка с гироскопом и кнопкой
                2. в качестве меток могут быть ИК-светодиоды, которые зажигаются от кнопки (и, возможно, мигают, для лучшего детектирования и передачи данных с гироскопа)

                P.S. А чтобы не вешать камеры по всей квартире, поставить пару камер и нарисовать в этом месте пентаграмму и типа колдунство будет действовать только там :). шютка юмора.


                1. Am0ralist
                  01.02.2017 12:50

                  1. Еще раз: привязанная к вам палочка с гироскопом и кнопкой.
                  Вы пульт телевизора никогда не теряли? Не приходилось его находить в холодильнике?
                  Плюс, как точно гироскоп поможет определить, что вы сейчас показываете на левее севера на 2 градуса, а не 3?
                  Тогда не забудьте добавить в нее звуковой сигнализатор на команду «джарвискудамлятьделасьэтачертовапалочка»

                  2) Куда мигают? Сколько приемников надо ставить для каждой комнаты для уверенного приема везде? Данные через ик моргания точно передавать не стоит.


                  1. xxvy
                    02.02.2017 08:30

                    Это уже детали реализации.
                    У Любой технологии есть ограничения. Не зацикливайтесь на палочке. Изначально я начал с жестов руками. В принципе только рук достаточно.
                    Палочка всплыла позже. Основной посыл — улучшение распознавания жестов, т.к. рука не светится и система не всегда может понять специально вы руками машете или случайно. А на палочке есть кнопка для этого :). И в отличие от пульта — всего одна кнопка. Остальное делается жестами.
                    Гироскоп в палочке тоже не обязателен, но если он есть он поможет системе более точно распознавать жесты. Само собой информацию с гироскопа нужно передавать системе. Можно это делать через те же светящиеся метки (ИК), либо через синезуб, либо ещё как. Не каменный век — способов много.
                    Да у палочки есть недостатки. Она теряется. Но её можно сделать дешёвой и раскидать по квартире. Нашёл ближайшую палочку, черканул в воздухе — включился телевизор :).
                    Не нашёл — махнул просто рукой (если находишься в зоне видимости камеры)

                    Ну и у палочки есть некий антураж :). Вместо неё можно махать браслетом на руке, перстнем на пальце…
                    Но опять-таки повторюсь. Самой идее — давать команды жестами, — вполне достаточно просто рук :)

                    P.S.
                    Я же упоминал уже про Кинект. Собственно вот пример управления прибором (приставкой, игрой в приставке) без джойстиков и пультов. Ну иногда в руки берётся светящаяся палка для удобства…


    1. Am0ralist
      30.01.2017 21:28

      Так это, вайфай же для определения движений и вперед! )))


  1. noonv
    30.01.2017 11:05

    Расскажите подробнее про качество распознавания. Какой процент ложных срабатываний?


  1. Bluefox
    30.01.2017 11:30

    Вот бы видео посмотреть, как это работает. Если тормоза (дольше 2 секунд), то пользователю надоест ждать.


  1. kazenniy
    30.01.2017 12:25
    +1

    Яндекс предоставляет бесплатно говорите? А в условиях использования SpeechKit Cloud пишут: «Для знакомства с технологией предусмотрен бесплатный тестовый период — 1 месяц с момента отправки первого запроса на сервер.

    Чтобы продолжить использовать SpeechKit Cloud после этого, необходимо заключить договор. Можно приобрести пакет (фиксированное количество запросов в месяц) или оплачивать запросы по факту.

    Стоимость лицензии зависит от количества обращений и в среднем составляет 400 рублей за 1000 запросов.»


    1. WSN3
      30.01.2017 14:50
      +2

      Yandex SpeechKit Cloud — платный продукт. Тем не менее мы даём возможность использовать его бесплатно, если Ваш проект подходит под одну из этих категорий:
      — для личного использования (система «Умный дом», персональный ассистент, робот, голосовое управление ПК);
      — образовательный (для подготовки диплома, реферата или обучения студентов);
      — благотворительный (направленный на помощь людям с ограниченными возможностями).
      При этом Ваш сервис должен отправлять к серверу Яндекса не более 1000 запросов в сутки. Если Вы рассчитываете, что запросов будет больше, сообщите нам об этом на voice@support.yandex.ru.


    1. Segmentq
      30.01.2017 15:21

      То-то я думаю, в воздухе витает устойчивый запах яндекса, и действительно — реклама собственной персоной :)
      А вообще была тут как-то статься аналогичная только с сервисом гугла.


  1. jhonyxakep
    30.01.2017 19:33

    Как вариант использовать встроенный в Google Chrome и Chromium голосовой движок. Он работает локально и умеет в непрерывное распознавание. Из минусов конечно сам Chrome, он тяжелый для Малинки.


    Для полноценного использования можно реализовать с помощью Electron, там тоже работает распознавание