Голосовое управление по ключевому слову на базе Апельсинки Зеро

Разработка дополнительных модулей, подключение различных приложений.

Модераторы: Bagir, Ivan, Vit, immortal, PAV

Аватара пользователя
lanket
Сообщения: 1088
Зарегистрирован: Вт окт 14, 2014 11:27 pm
Откуда: Санкт-Петербург
Благодарил (а): 234 раза
Поблагодарили: 147 раз
Контактная информация:

Голосовое управление по ключевому слову на базе Апельсинки Зеро

Сообщение lanket » Вт май 08, 2018 12:45 am

Все генеальное просто. Велосипед оказывается уже был изобретен, и надо было его адаптировать под наши нужды.

Реагирование на ключевое слово сделано на snowboy.
Распознование речи и синтез речи на выбор Google, Yandex, Wit... На выбор.


Процесс установки. Проще некуда :
  1. Берем апельсинку zero.
  2. Запускаем скрипт автоматической установки нужных приложений и скриптов от DevOff
  3. Коннектимся к домашнему WiFi если это надо
  4. Добавляем терминал и может проигрывать медиа-контент MPD порт 6600
  5. Далее из модуля в мажордомо
  6. Задаем настройки Ассистента
  7. Записываем любое свое ключевое слово прямо из модуля.
  8. Радуемся голосовым асситентом, с любым ключевым словом на ваше усмотрение, диалоги работают.
Образы для быстрого старта:
для работы со встроенным микрофоном
для работы со USB микрофоном

Благодарим за образы и большую работу за настройку и многочисленные эксперементы dance12r
Понижение напряжения процессора для уменьшения температуры - включены.
Отключен эконом режим для вайфая - применяется со стартом системы.
Настроен "мониторинг" доступен на порт 8888.
УстановкаПоказать
1. Обновляем модуль через маркет
2. Записываем образ на флешку размеров 4 и более Гб
НастройкаПоказать
1. После первого запуска, если подключены колонки и интернет к Апельсину он скажет свой IP.
2. Добавляем новый терминал и прописываем этот ип (МДЖ - Настройки - Терминалы)
3. Терминалу выставляем галочки MajorApi и тип плеера MPD
4. Добавляем новое устройство в MDM VoiceAssistant
5. Переходим на вкладку Запись ключевого слова
6. Записываем 3 варианта фразы и нажимаем Компилировать (проделываем все это для нужного количества фраз)
7. Жмем кнопку Применить
8. Терминал скажет что он готовится к перезагрузке.
9. Через 10-15 секунд можно пробовать обратится по воссозданному ключевому слову.
Пароли и пути образаПоказать
При надобности можно воспользоватся FileZilla`й
В строке хост прописать

Код: Выделить всё

sftp://IP_апельсина
Логин Пароль

Код: Выделить всё

qwertyui
модели лежат

Код: Выделить всё

mdmPiTerminal/src/resources/models

Код: Выделить всё

model1.pmdl model2.pmdl ... model6.pmdl
КартинкаПоказать
Изображение
Терминал для установки через докер тут, благодарим Anaki

Пошаговая установка на ORANGE PI LITE описана . Из плюсов доступно на территории РФ, стабильный Wi-Fi. Благодаряим yray

Дорабатывается и тестируется работа с одновременно несколькими моделями ключевых слов и идентификация пользователя по голосу обратившегося к Ассистенту.

Важная информация по железу:
В связи с многочисленными тестами на разных одноплатниках рекомендуется для стабильной работы следующие одноплатники:
Orange pi zero ревизии не меньше 1.5 самый дешёвый вариант.
Также Banana pi
Raspberry Nano pi и zero.


Последний раз редактировалось lanket Вт май 08, 2018 12:45 am, всего редактировалось 14 раз.
За это сообщение автора lanket поблагодарили (всего 11):
fandaymon (Вт май 08, 2018 1:27 am) • directman66 (Ср май 09, 2018 6:41 am) • Samir77 (Вс май 13, 2018 9:43 pm) • savenko_egor (Вт май 15, 2018 2:48 pm) • ahelper (Ср май 16, 2018 9:19 pm) • Ron (Сб май 19, 2018 1:20 am) • Stazo (Сб май 26, 2018 6:50 pm) • chief (Вт май 29, 2018 12:19 am) • andrey040670 (Чт июл 19, 2018 10:38 pm) • yura_s80 (Пт авг 03, 2018 2:02 pm) и ещё один
Рейтинг: 15.71%
Разработка голосового асистента для Мажордомо по любому ключевому слову.
:arrow: Обсужение
:arrow: GitHub терминала
:arrow: GitHub модуля для МД
:arrow: Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
skysilver
Сообщения: 2020
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 287 раз
Поблагодарили: 1161 раз
Контактная информация:

Re: Голосовое управление по ключевому слову на базе Апельсинки Зеро

Сообщение skysilver » Вт май 08, 2018 12:55 am

lanket писал(а):
Вт май 08, 2018 12:45 am
Есть одна проблемка, почемуто у апельсинки зеро засыпает вафля со временем. причем закономерность не поймана. Кто зает как побороть?
Хреновый у зеро набортный wifi. Очень хреновый. Думаю, не забороть его.
Либо эзернет, либо usb wifi адаптер воткнуть.
За это сообщение автора skysilver поблагодарил:
Samir77 (Сб июл 28, 2018 10:34 pm)
Рейтинг: 1.43%
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Аватара пользователя
lanket
Сообщения: 1088
Зарегистрирован: Вт окт 14, 2014 11:27 pm
Откуда: Санкт-Петербург
Благодарил (а): 234 раза
Поблагодарили: 147 раз
Контактная информация:

Re: Голосовое управление по ключевому слову на базе Апельсинки Зеро

Сообщение lanket » Вт май 08, 2018 12:57 am

skysilver писал(а):
Вт май 08, 2018 12:55 am
lanket писал(а):
Вт май 08, 2018 12:45 am
Есть одна проблемка, почемуто у апельсинки зеро засыпает вафля со временем. причем закономерность не поймана. Кто зает как побороть?
Хреновый у зеро набортный wifi. Очень хреновый. Думаю, не забороть его.
Либо эзернет, либо usb wifi адаптер воткнуть.
Тогда надо найти альтернативу.
Что то дешовое с линухом на борту.
Либо что бы дешевая альтернатива оказалась не дороже апельсинки с usb wifi.

Качество приема у встроенного wifi согласен не очень.
Разработка голосового асистента для Мажордомо по любому ключевому слову.
:arrow: Обсужение
:arrow: GitHub терминала
:arrow: GitHub модуля для МД
:arrow: Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
Аватара пользователя
Amarok
Сообщения: 1313
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Благодарил (а): 419 раз
Поблагодарили: 102 раза
Контактная информация:

Re: Голосовое управление по ключевому слову на базе Апельсинки Зеро

Сообщение Amarok » Вт май 08, 2018 10:53 am

А на обычном неттопе жить будет?
Алиска живёт на Ubuntu Server 14.04.3 LTS
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
Аватара пользователя
lanket
Сообщения: 1088
Зарегистрирован: Вт окт 14, 2014 11:27 pm
Откуда: Санкт-Петербург
Благодарил (а): 234 раза
Поблагодарили: 147 раз
Контактная информация:

Re: Голосовое управление по ключевому слову на базе Апельсинки Зеро

Сообщение lanket » Вт май 08, 2018 11:54 am

Amarok писал(а):А на обычном неттопе жить будет?
Должна, почему нет.
Ей надо только питон.
На линухе должно быть вообще без проблем, на винде не уверен так как не все библиотеки кросплатформные. А использованные в данном решении не проверял на совместимость с виндой.
В опмсании сноубоя написанно что на маке должно работать. Про Винду ни слова.

Отправлено с моего Redmi Note 4 через Tapatalk

За это сообщение автора lanket поблагодарил:
Amarok (Вт май 08, 2018 2:11 pm)
Рейтинг: 1.43%
Разработка голосового асистента для Мажордомо по любому ключевому слову.
:arrow: Обсужение
:arrow: GitHub терминала
:arrow: GitHub модуля для МД
:arrow: Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
Аватара пользователя
lanket
Сообщения: 1088
Зарегистрирован: Вт окт 14, 2014 11:27 pm
Откуда: Санкт-Петербург
Благодарил (а): 234 раза
Поблагодарили: 147 раз
Контактная информация:

Re: Голосовое управление по ключевому слову на базе Апельсинки Зеро

Сообщение lanket » Вт май 08, 2018 11:57 am

Описание библиотеки

По идее где должно точно работать :
Currently, Snowboy supports:

all versions of Raspberry Pi (with Raspbian based on Debian Jessie 8.0)
64bit Mac OS X
64bit Ubuntu (12.04 and 14.04)
iOS
Android with ARMv7 CPUs
Pine 64 with Debian Jessie 8.5 (3.10.102)
Intel Edison with Ubilinux (Debian Wheezy 7.8)

Отправлено с моего Redmi Note 4 через Tapatalk

За это сообщение автора lanket поблагодарил:
Samir77 (Вс май 13, 2018 9:47 pm)
Рейтинг: 1.43%
Разработка голосового асистента для Мажордомо по любому ключевому слову.
:arrow: Обсужение
:arrow: GitHub терминала
:arrow: GitHub модуля для МД
:arrow: Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
Аватара пользователя
lanket
Сообщения: 1088
Зарегистрирован: Вт окт 14, 2014 11:27 pm
Откуда: Санкт-Петербург
Благодарил (а): 234 раза
Поблагодарили: 147 раз
Контактная информация:

Re: Голосовое управление по ключевому слову на базе Апельсинки Зеро

Сообщение lanket » Вт май 08, 2018 11:58 am

Проверенно на orange pi zero 2h 256mb на базе armbian которой нет в списке.

Отправлено с моего Redmi Note 4 через Tapatalk

Разработка голосового асистента для Мажордомо по любому ключевому слову.
:arrow: Обсужение
:arrow: GitHub терминала
:arrow: GitHub модуля для МД
:arrow: Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
eeak1
Сообщения: 43
Зарегистрирован: Чт май 12, 2016 9:13 am
Благодарил (а): 9 раз
Поблагодарили: 10 раз
Контактная информация:

Re: Голосовое управление по ключевому слову на базе Апельсинки Зеро

Сообщение eeak1 » Вт май 08, 2018 12:54 pm

Не пойму, почему ему не нравиться sample rate:
СпойлерПоказать

Код: Выделить всё

ALSA lib confmisc.c:1281:(snd_func_refer) Unable to find definition 'cards.allwinner_hdmi.pcm.front.0:CARD=0'
ALSA lib conf.c:4528:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5007:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM front
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib confmisc.c:1281:(snd_func_refer) Unable to find definition 'cards.allwinner_hdmi.pcm.surround51.0:CARD=0'
ALSA lib conf.c:4528:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5007:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM surround21
ALSA lib confmisc.c:1281:(snd_func_refer) Unable to find definition 'cards.allwinner_hdmi.pcm.surround51.0:CARD=0'
ALSA lib conf.c:4528:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5007:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM surround21
ALSA lib confmisc.c:1281:(snd_func_refer) Unable to find definition 'cards.allwinner_hdmi.pcm.surround40.0:CARD=0'
ALSA lib conf.c:4528:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5007:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM surround40
ALSA lib confmisc.c:1281:(snd_func_refer) Unable to find definition 'cards.allwinner_hdmi.pcm.surround51.0:CARD=0'
ALSA lib conf.c:4528:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5007:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM surround41
ALSA lib confmisc.c:1281:(snd_func_refer) Unable to find definition 'cards.allwinner_hdmi.pcm.surround51.0:CARD=0'
ALSA lib conf.c:4528:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5007:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM surround50
ALSA lib confmisc.c:1281:(snd_func_refer) Unable to find definition 'cards.allwinner_hdmi.pcm.surround51.0:CARD=0'
ALSA lib conf.c:4528:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5007:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM surround51
ALSA lib confmisc.c:1281:(snd_func_refer) Unable to find definition 'cards.allwinner_hdmi.pcm.surround71.0:CARD=0'
ALSA lib conf.c:4528:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5007:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM surround71
ALSA lib confmisc.c:1281:(snd_func_refer) Unable to find definition 'cards.allwinner_hdmi.pcm.iec958.0:CARD=0,AES0=4,AES1=130,AES2=0,AES3=2'
ALSA lib conf.c:4528:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5007:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM iec958
ALSA lib confmisc.c:1281:(snd_func_refer) Unable to find definition 'cards.allwinner_hdmi.pcm.iec958.0:CARD=0,AES0=4,AES1=130,AES2=0,AES3=2'
ALSA lib conf.c:4528:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5007:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM spdif
ALSA lib confmisc.c:1281:(snd_func_refer) Unable to find definition 'cards.allwinner_hdmi.pcm.iec958.0:CARD=0,AES0=4,AES1=130,AES2=0,AES3=2'
ALSA lib conf.c:4528:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5007:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM spdif
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
Expression 'paInvalidSampleRate' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 2048
Expression 'PaAlsaStreamComponent_InitialConfigure( &self->capture, inParams, self->primeBuffers, hwParamsCapture, &realSr )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 2719
Expression 'PaAlsaStream_Configure( stream, inputParameters, outputParameters, sampleRate, framesPerBuffer, &inputLatency, &outputLatency, &hostBufferSizeMode )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 2843
Traceback (most recent call last):
  File "src/snowboy.py", line 82, in <module>
    detector = snowboydecoder.HotwordDetector(models, sensitivity=sensitivity)
  File "/home/eeak/mdmPiTerminal/src/snowboydecoder.py", line 115, in __init__
    stream_callback=audio_callback)
  File "/home/eeak/mdmPiTerminal/env/lib/python3.5/site-packages/pyaudio.py", line 750, in open
    stream = Stream(self, *args, **kwargs)
  File "/home/eeak/mdmPiTerminal/env/lib/python3.5/site-packages/pyaudio.py", line 441, in __init__
    self._stream = pa.open(**arguments)
OSError: [Errno -9997] Invalid sample rate

Orange Pi one -> Armbian 5.38
Алиса живёт на Raspberry Pi 3
https://www.eeak.biz
skysilver
Сообщения: 2020
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 287 раз
Поблагодарили: 1161 раз
Контактная информация:

Re: Голосовое управление по ключевому слову на базе Апельсинки Зеро

Сообщение skysilver » Вт май 08, 2018 1:05 pm

Amarok писал(а):
Вт май 08, 2018 10:53 am
А на обычном неттопе жить будет?
Если ручками самому, то можно. Автоматическим криптом с гита вряд ли получится, он под апельсину заточен.
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
devoff
Сообщения: 168
Зарегистрирован: Пт апр 04, 2014 10:17 pm
Благодарил (а): 31 раз
Поблагодарили: 41 раз

Re: Голосовое управление по ключевому слову на базе Апельсинки Зеро

Сообщение devoff » Вт май 08, 2018 1:05 pm

eeak1 писал(а):
Вт май 08, 2018 12:54 pm
Не пойму, почему ему не нравиться sample rate:

Orange Pi one -> Armbian 5.38

А какой микрофон используешь ?
Ответить