мажорик и онлайн распознавание речи

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

мажорик и онлайн распознавание речи

Сообщение tarasfrompir » Пт сен 30, 2016 9:14 pm

Сделал программу на Пайтоне (первая в жизни)
Все функции только в онлайне ...Зато должно устанавливатся на любую систему...
Из плюсов - может говорить на том языке на котором сам захочеш (Украинский в том числе.. (сам из Украины))
СпойлерПоказать
Распознавание голоса - Гугл спич
с активацией ключевым словом (находится в кейворд.ини)
Перевод ответов от Яндекс транслате
Голосовой синтез от Яндекса... на том же языке от которого перевод
(Тоесть алиса говорит на русском - а голосовой ответ у меня сейчас на украинском)
Жирный МИНУС - все только онлайн (ибо с офлайн есть немного беда с Украинским языком)
Выкладываю
ВНИМАНИЕ ИЗМЕНЕНИЯ ВМЕСТО gtts установлено yandex_speech
СпойлерПоказать
Разработан на Питоне 3
К нему необходимо доустановить;
1. pip install SpeechRecognition.
2. pip install pyaudio
3. pip install yandex_speech
4. pip install yandex.translate и получить ключик апи для себя
Ссылка для получения апи ключа
https://tech.yandex.ru/translate/
5. pip install pyglet
6. Скачать и установить пакет AVBIN http://avbin.github.io/AVbin/Download.html
7. Установить https://ffmpeg.org/download.html (можно просто скопировать в папку для проекта)
8. Все настройки в начале хочу сделать ини файл вроде как разобрался но делать уже будем в следующий раз
9. Хук и его скрипт в вордовском документе (к исполнению обязателен)
ОПИСАНИЕ НАСТРОЕК ФАЙЛА main.ini
СпойлерПоказать
1. portout - это порт на котором запущен Мажордомо
3. yandexkey - ключ яндекса для перевода фраз в нужные нам языки. Получить можна здесь https://tech.yandex.ru/translate/
3. outlang - язык на котором мажордомо будет передавать голосом ответы (не зависимо от языка установленого в самом мажордомо)
4. keygoogle - ключ апи гугла получить можна здесь https://console.cloud.google.com/apis/api/speech/
5. langgoogle - язык на котором мы произносим голосовые команды для мажордомо (по практике если использовать суржик не только украинский но и некоторые русские распознает намного лучше)
6. inlang - язык на котором подаются текстовые команды (после распознания их голосом ) Мажордомо
Инструкция по добавлению комнат и зависимости звуковых карт к ним
СпойлерПоказать
Вносим коррективы в файл room.ini
В скобках указываем название звуковой карты (полученое из файла sounddevise.txt)
В поле room вводим название комнаты в которой установлено наше физическое звуковое устройство (звуковая карта с входом и выходом) И НАЗВАНИЕ КОМНАТЫ ДОЛЖНО ПРИСУТСТВОВАЬ В МАЖОРДОМО
В поле porog указываем разницу между шумом и голосом - примерно 300 единиц но может доходить и до 1200
В поле port указываем порт тспип (по умолчанию свободный порт ) на который идут команди от алисы
Поле vtime считает максимальную длительность одной голосовой команды в секундах
Поле worktime длительность памяти ключевого слова в секундах

Размножаем его до необходимого количества звуковых карт. (сколько есть в текстовом файле по 1 примеру)


Принцип работы

Если мы говорим в микрофон то отправляется на мажордомо название комнаты и название звукового устройства
И соответственно возвращается назад по тем же параметрам
Внесено изменение - В комнате где находится звуковое устройство указывает Ваше присутствие (по типу голосового датчика присутствия) автоматически исчезнет после 10 минут (в соответствии со стандартными настройками)
Если че не дописал сообщите
О результатах испытаний пожалуйста СООБЩИТЕ


28.04.2016
В тесте работает 1 звуковое устройства и звуковое устройство по умолчанию
Исправлено ошибку совместимости с линуксом (но еще не все ошибки убраны )
Отключено зависание при отпадении звуковой карты
Активация распознавания по ключевому слову (находится в файле keyword.ini)
(держится по установленному времени в параметрах комнаты)
Внесено изменение - В комнате где находится звуковое устройство указывает Ваше присутствие (по типу голосового датчика присутствия) автоматически исчезнет после 10 минут (в соответствии со стандартными настройками)

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

ПС для alx69
ППС для dmw
файлик linux rar подправлен
ПППС
ОБЯЗАТЕЛЬНО
оставить название звуковой карты - [Sounddevice]
Вложения
linux1.rar
(267.06 КБ) 197 скачиваний
proekt.rar
(1.58 МБ) 179 скачиваний
Последний раз редактировалось tarasfrompir Пт апр 28, 2017 12:04 pm, всего редактировалось 52 раза.
Спасибо нам ПОМОЖЕТ..!
Sas
Сообщения: 207
Зарегистрирован: Вт июл 12, 2016 6:16 pm
Благодарил (а): 2 раза
Поблагодарили: 14 раз

Re: мажорик и онлайн распознавание речи

Сообщение Sas » Пт сен 30, 2016 11:49 pm

В теме покетсфинкса положили скрипт из пары строк который умеет распознавать, еще пару строк на синтез.
Почему бы и не приложить. Те кто умеет уже написал или напишет своеа кто нет воспользуется
Аватара пользователя
Bagir
Сообщения: 1613
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 374 раза

Re: мажорик и онлайн распознавание речи

Сообщение Bagir » Ср фев 08, 2017 11:05 am

Отлично, обязательно посмотрю!
tarasfrompir1 писал(а):Все навеяно прогой SDM но плохо в SDM то что с несколькими звуковыми картами она не работает
Нет препятствия допилить работу сразу с несколькими картами. С технической точки зрения нужно просто сразу инициализировать нужные и задумать ID карты. При этом при получении номера канала, сценарий (в моем случае это sayHook) будет знать на какую звуковую карту нужно отправить сообщение. Тут даже уже всё опробовано. Но для реализации надо это красиво оформить на шкурке программы SDM. Если реально кому это нужно, то сделаю конечно. Просто никто не писал про такую необходимость.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
panda5
Сообщения: 94
Зарегистрирован: Вт мар 14, 2017 11:37 pm
Благодарил (а): 1 раз
Поблагодарили: 25 раз

Re: мажорик и онлайн распознавание речи

Сообщение panda5 » Вс мар 19, 2017 9:40 pm

Bagir писал(а):Отлично, обязательно посмотрю!
tarasfrompir1 писал(а):Все навеяно прогой SDM но плохо в SDM то что с несколькими звуковыми картами она не работает
Нет препятствия допилить работу сразу с несколькими картами. С технической точки зрения нужно просто сразу инициализировать нужные и задумать ID карты. При этом при получении номера канала, сценарий (в моем случае это sayHook) будет знать на какую звуковую карту нужно отправить сообщение. Тут даже уже всё опробовано. Но для реализации надо это красиво оформить на шкурке программы SDM. Если реально кому это нужно, то сделаю конечно. Просто никто не писал про такую необходимость.

делаю сейчас плату для нескольких комнат, как универсальное решение взял старую микросхему CC8531 TI, одна плата может передавать и принимать звук в CD качестве через стены по всей квартире (с микрофонов к серверу и с сервера на динамики), вот только не с нескольких звуковых а с одной... но это в принципе можно аппаратно расширить на несколько звуковух, и они не будут драться за один канал. Как доделаю, отладочные комплекты могу отдать хорошим людям.


вот пример работы этой связки с платой Raspberri https://youtu.be/ChIjW-yrtzE
Вложения
СС20170319_212743.jpg
Вверху две большие - отладочные платы, внизу - мобильный уже вариант, итоговая плата будет еще меньше, и питаться от USB
СС20170319_212743.jpg (337 КБ) 9035 просмотров
“Единственное реальное отличие между энтузиастами и скептиками – это оценки сроков”.
directman66
Сообщения: 2801
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 380 раз
Поблагодарили: 693 раза
Контактная информация:

Re: мажорик и онлайн распознавание речи

Сообщение directman66 » Пт мар 24, 2017 3:23 pm

подскажите, можно ли как то задействовать звук, идущий от в цифре от ONVIF видекамеры? Т.е. разбирать rtsp поток, выкусывать оттуда звук, анализировать и т.д.
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
Аватара пользователя
alx69
Сообщения: 122
Зарегистрирован: Чт фев 09, 2017 12:42 pm
Откуда: Киев, Украина
Благодарил (а): 10 раз
Поблагодарили: 22 раза

Re: мажорик и онлайн распознавание речи

Сообщение alx69 » Пт мар 24, 2017 4:11 pm

А как бы такое прикрутить к Raspberry? Кто-то этим уже озадачился? Только без использования графической оболочки?
Raspberry PI 3, 4 (MicroSD+HDD/SSD) + Netatmo + Xiaomi + Sonoff + Broadlink + Livolo/Funry/Sesoo + Ghome + Irbis (Алиса)
CONNECT
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

Re: мажорик и онлайн распознавание речи

Сообщение tarasfrompir » Пн мар 27, 2017 8:54 pm

Если хочеш могу выкинуть из скрипта ГУИ и можна пользоватся
Спасибо нам ПОМОЖЕТ..!
Аватара пользователя
alx69
Сообщения: 122
Зарегистрирован: Чт фев 09, 2017 12:42 pm
Откуда: Киев, Украина
Благодарил (а): 10 раз
Поблагодарили: 22 раза

Re: мажорик и онлайн распознавание речи

Сообщение alx69 » Пн мар 27, 2017 11:18 pm

Да, было бы не плохо. Можно попробовать.
Raspberry PI 3, 4 (MicroSD+HDD/SSD) + Netatmo + Xiaomi + Sonoff + Broadlink + Livolo/Funry/Sesoo + Ghome + Irbis (Алиса)
CONNECT
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

Re: мажорик и онлайн распознавание речи

Сообщение tarasfrompir » Вт мар 28, 2017 10:25 pm

ДЛЯ alx69 - пробуй
В шапке все лежит
Спасибо нам ПОМОЖЕТ..!
dmw
Сообщения: 469
Зарегистрирован: Вт мар 12, 2013 1:22 am
Благодарил (а): 41 раз
Поблагодарили: 81 раз

Re: мажорик и онлайн распознавание речи

Сообщение dmw » Пт апр 21, 2017 2:58 pm

Пробую Ваше решение для alx69 но для BPI-M3, давно уже не trusty, у всех xenial, поэтому наверное не:

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

sudo add-apt-repository ppa:mc3man/trusty-media
а:

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

sudo add-apt-repository ppa:mc3man/xerus-media
но все равно не ставится libavbin-dev и libavbin0:

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

E: Unable to locate package libavbin-dev
E: Package 'libavbin0' has no installation candidate
более того pyaudio тоже:

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

    src/_portaudiomodule.c:29:23: fatal error: portaudio.h: No such file or directory
    compilation terminated.
    error: command 'arm-linux-gnueabihf-gcc' failed with exit status 1
    ----------------------------------------
Command "/usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-ZCs85s/pyaudio/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-PjnO0J-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-ZCs85s/pyaudio/
и сам linux SPT TTS.py - что с ним делать?
Ответить