[Модуль] [Железо] Голосовое управление по ключевому слову на базе Orange Pi Zero и аналогов

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

Модератор: immortal

Аватара пользователя
lanket
Сообщения: 1168
Зарегистрирован: Вт окт 14, 2014 11:27 pm
Откуда: Санкт-Петербург
Благодарил (а): 260 раз
Поблагодарили: 163 раза

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

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

Да там еще один вопрос открытый остался с микрофонами.
Как в оригинале с гитхаба в скрипте работает со встроенным микрофоном.
Если втыкать usb микрофон и хочется чтобы он работал надо для начала alsa миксер настроить для того чтобы она записывала образец ключевого слова с внешнего микрофона взято отсюда
СпойлерПоказать
The first command recorded my voice, and then I pressed Ctrl+C to stop, and play it back with the second command. I worked fine for me. If you wish you can adjust the playback and recording volume with:

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

alsamixer
We’ll also need to create .asoundrc file for Google Assistant to work with ALSA. For we need to note the microphone card and device number (0,0):

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

root@orangepizero:~# arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: audiocodec [audiocodec], device 0: SUNXI-CODEC sndcodec-0 []
 Subdevices: 1/1
 Subdevice #0: subdevice #0
card 1: sndhdmi [sndhdmi], device 0: SUNXI-HDMIAUDIO sndhdmi-0 []
 Subdevices: 1/1
 Subdevice #0: subdevice #0
as well as speaker card and device number (0,0):

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

aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: audiocodec [audiocodec], device 0: SUNXI-CODEC sndcodec-0 []
 Subdevices: 1/1
 Subdevice #0: subdevice #0
card 1: sndhdmi [sndhdmi], device 0: SUNXI-HDMIAUDIO sndhdmi-0 []
 Subdevices: 1/1
 Subdevice #0: subdevice #0
 
If you want to use your TV as speaker, you’d use Card 1, device: 0.

If you have not created a pi or other user yet, you’ll want to add one belonging to sudoers and audio groups, and go the home directory:

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

adduser pi
adduser pi sudo
adduser pi audio
su pi
cd ~
Now create a ~/.asoundrc with the following match the card and device for our mic and speaker:

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

pcm.!default {
 type asym
 capture.pcm "mic"
 playback.pcm "speaker"
}
pcm.mic {
 type plug
 slave {
 pcm "hw:0,0"
 }
}
pcm.speaker {
 type plug
 slave {
 pcm "hw:0,0"
 }
}
[Update: As we’ll see below this won’t work with the built-in microphone, but as indicated in the comments below, this can be fixed by changing

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

pcm.mic { 
 type plug 
 slave { 
  pcm "hw:0,0" 
  format S16_LE
 }
}
I have not changed the rest of the post, but the built-in microphone on Orange Pi Zero does work now]

И в обоих питоновских скриптах snowboy.py и sayreplay.py

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

with sr.Microphone(index) as source:
заменить на

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

with sr.Microphone(device_index=0) as source:
Разработка голосового асистента для Мажордомо по любому ключевому слову.
:arrow: Обсужение
:arrow: gitHub 2й версии терминала
:arrow: GitHub модуля для МД
gitHub сырого модуля 2й версии
:arrow: Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
eeak1
Сообщения: 51
Зарегистрирован: Чт май 12, 2016 9:13 am
Благодарил (а): 22 раза
Поблагодарили: 11 раз
Контактная информация:

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

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

devoff писал(а):
Вт май 08, 2018 1:05 pm
А какой микрофон используешь ?
https://u.eeak.biz/1jcl9 - этот. Подсмотрел в соседней теме.
Алиса живёт на нубуке с закрытой крышкой в Docker контейнере, соседствует с контейнерами nextcloud, plex, mosquitto, и т.д.
ранее в Docker контейнере на Raspberry Pi 4
ранее натив на Raspberry Pi 3
https://www.eeak.biz
Аватара пользователя
lanket
Сообщения: 1168
Зарегистрирован: Вт окт 14, 2014 11:27 pm
Откуда: Санкт-Петербург
Благодарил (а): 260 раз
Поблагодарили: 163 раза

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

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

eeak1 писал(а):
Вт май 08, 2018 1:38 pm
devoff писал(а):
Вт май 08, 2018 1:05 pm
А какой микрофон используешь ?
https://u.eeak.biz/1jcl9 - этот. Подсмотрел в соседней теме.
Чтобы он заработал надо сделать танцы с бубном из предыдущего моего поста.

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

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

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

lanket писал(а):
Вт май 08, 2018 1:39 pm
Чтобы он заработал надо сделать танцы с бубном из предыдущего моего поста.

Я как раз с таким же микрофоном экспрементирую.
Постучал в бубен, pcm "hw:0,0" указал как pcm "hw:1,0".
with sr.Microphone(device_index=0) as source:
- так изначально было в обоих скриптах. Надо ли менять на
with sr.Microphone(device_index=1) as source:
???

Сейчас вижу что слушает, но реакции никакой.
Алиса живёт на нубуке с закрытой крышкой в Docker контейнере, соседствует с контейнерами nextcloud, plex, mosquitto, и т.д.
ранее в Docker контейнере на Raspberry Pi 4
ранее натив на Raspberry Pi 3
https://www.eeak.biz
Аватара пользователя
lanket
Сообщения: 1168
Зарегистрирован: Вт окт 14, 2014 11:27 pm
Откуда: Санкт-Петербург
Благодарил (а): 260 раз
Поблагодарили: 163 раза

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

Сообщение lanket » Вт май 08, 2018 3:02 pm


eeak1 писал(а):...

Постучал в бубен, pcm "hw:0,0" указал как pcm "hw:1,0".
with sr.Microphone(device_index=0) as source:
- так изначально было в обоих скриптах. Надо ли менять на
with sr.Microphone(device_index=1) as source:
???

Сейчас вижу что слушает, но реакции никакой.
Как раз с этим мы в ступоре.
Так как специально выводим в терминал номер девайса, у меня в терминале появляется 8. В оригинале там должно быть
sr.Microphone(index) as source:
В котором должно быть, в моем случае, 8.
Но методом тыка заработало с
sr.Microphone(device_index=0) as source:

Почему, не знаю

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

Разработка голосового асистента для Мажордомо по любому ключевому слову.
:arrow: Обсужение
:arrow: gitHub 2й версии терминала
:arrow: GitHub модуля для МД
gitHub сырого модуля 2й версии
:arrow: Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
Аватара пользователя
Kvantos
Сообщения: 295
Зарегистрирован: Вт окт 31, 2017 1:05 pm
Благодарил (а): 26 раз
Поблагодарили: 49 раз

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

Сообщение Kvantos » Вт май 08, 2018 3:08 pm

Я так понимаю, что если использовать это решение и прикрутить его к этому шилду с фазированной решеткой микрофонов https://majordomo.smartliving.ru/forum/ ... 274#p68274 (надеюсь, что автор таки реализует все задуманное, и шилд пойдет в "массы") - это будет просто БОМБА ! :)
За это сообщение автора Kvantos поблагодарил:
TrDA (Ср сен 05, 2018 1:15 pm)
Рейтинг: 1.16%
MDM живет на 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64 GNU/Linux
Аватара пользователя
lanket
Сообщения: 1168
Зарегистрирован: Вт окт 14, 2014 11:27 pm
Откуда: Санкт-Петербург
Благодарил (а): 260 раз
Поблагодарили: 163 раза

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

Сообщение lanket » Вт май 08, 2018 3:22 pm

Kvantos писал(а):Я так понимаю, что если использовать это решение и прикрутить его к этому шилду с фазированной решеткой микрофонов https://majordomo.smartliving.ru/forum/ ... 274#p68274 (надеюсь, что автор таки реализует все задуманное, и шилд пойдет в "массы") - это будет просто БОМБА ! :)
Ну да, по сути рано или поздно Сергей дойдёт до программной начинки и может воспользуется нашим решением, а может что то свое накатает. У него в планах более широкое применение одноплатника. Но это не мешает это решение применить на его железе. Думаю первые эксперементы будут на нашей програмной начинке. К моменту первых эксперементов думаю обвешаем аксессуарами начинку.

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

Разработка голосового асистента для Мажордомо по любому ключевому слову.
:arrow: Обсужение
:arrow: gitHub 2й версии терминала
:arrow: GitHub модуля для МД
gitHub сырого модуля 2й версии
:arrow: Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
Аватара пользователя
webms
Сообщения: 498
Зарегистрирован: Чт дек 15, 2016 3:13 am
Благодарил (а): 221 раз
Поблагодарили: 88 раз

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

Сообщение webms » Вт май 08, 2018 11:09 pm

>Велосипед оказывается уже был изобретен.
А как это все выглядит?
Аватара пользователя
lanket
Сообщения: 1168
Зарегистрирован: Вт окт 14, 2014 11:27 pm
Откуда: Санкт-Петербург
Благодарил (а): 260 раз
Поблагодарили: 163 раза

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

Сообщение lanket » Ср май 09, 2018 12:07 am

webms писал(а):
Вт май 08, 2018 11:09 pm
>Велосипед оказывается уже был изобретен.
А как это все выглядит?
Как, как. Позвал Алису. Она откликнулась. Наговорил что хочешь. Мажорик если недопонял спросил через терминал уточняющий вопрос.
И главное работет все это.

А велосипед был уже изобретен группой разработчиков Snowboy. Devoff немного поправил код в сторону мажора. И написал второй скрипт который обеспечиват реакцию на запросы через сокеты от мажора на уточняющие вопросы. А если более точно то команды ask seyreplay.

Сейчас надо доработать еще функционала для более удобного использования массами. Поправить иразобраться в некоторых вопросах. Отшлифовать некоторые неровности.

Я пишу модуль для мажора управлением умной колонки. Часть модуля уже готова. Сейчас стоит небольшая задачка выноса настроект отдельно и обработка от модуля запросов на изменение настроек и работа по ним. Есть некоторые трудности. Таким образом уйдем от эмуляции работы мажордроида и получим более богатый и гибкий функционал. Планов гора. Есть еще куча интересных мвслей. Но пока надо основное доделать.

На данном этапе уже можно пользоваться. Работает.
Разработка голосового асистента для Мажордомо по любому ключевому слову.
:arrow: Обсужение
:arrow: gitHub 2й версии терминала
:arrow: GitHub модуля для МД
gitHub сырого модуля 2й версии
:arrow: Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
Аватара пользователя
lanket
Сообщения: 1168
Зарегистрирован: Вт окт 14, 2014 11:27 pm
Откуда: Санкт-Петербург
Благодарил (а): 260 раз
Поблагодарили: 163 раза

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

Сообщение lanket » Ср май 09, 2018 12:08 am

eeak1 писал(а):
Вт май 08, 2018 1:55 pm
lanket писал(а):
Вт май 08, 2018 1:39 pm
Чтобы он заработал надо сделать танцы с бубном из предыдущего моего поста.

Я как раз с таким же микрофоном экспрементирую.
Постучал в бубен, pcm "hw:0,0" указал как pcm "hw:1,0".
with sr.Microphone(device_index=0) as source:
- так изначально было в обоих скриптах. Надо ли менять на
with sr.Microphone(device_index=1) as source:
???

Сейчас вижу что слушает, но реакции никакой.
Получилось запустить?
Разработка голосового асистента для Мажордомо по любому ключевому слову.
:arrow: Обсужение
:arrow: gitHub 2й версии терминала
:arrow: GitHub модуля для МД
gitHub сырого модуля 2й версии
:arrow: Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
Ответить