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

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

Модератор: immortal

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

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

Сообщение tarasfrompir »

Сделал программу на Пайтоне (первая в жизни)
Все функции только в онлайне ...Зато должно устанавливатся на любую систему...
Из плюсов - может говорить на том языке на котором сам захочеш (Украинский в том числе.. (сам из Украины))
SPOILERSPOILER_SHOW
Распознавание голоса - Гугл спич
с активацией ключевым словом (находится в кейворд.ини)
Перевод ответов от Яндекс транслате
Голосовой синтез от Яндекса... на том же языке от которого перевод
(Тоесть алиса говорит на русском - а голосовой ответ у меня сейчас на украинском)
Жирный МИНУС - все только онлайн (ибо с офлайн есть немного беда с Украинским языком)
Выкладываю
ВНИМАНИЕ ИЗМЕНЕНИЯ ВМЕСТО gtts установлено yandex_speech
SPOILERSPOILER_SHOW
Разработан на Питоне 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
SPOILERSPOILER_SHOW
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 - язык на котором подаются текстовые команды (после распознания их голосом ) Мажордомо
Инструкция по добавлению комнат и зависимости звуковых карт к ним
SPOILERSPOILER_SHOW
Вносим коррективы в файл 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 КБ) 250 скачиваний
proekt.rar
(1.58 МБ) 261 скачивание
Последний раз редактировалось tarasfrompir Пт апр 28, 2017 12:04 pm, всего редактировалось 52 раза.
Спасибо нам ПОМОЖЕТ..!
Sas
Сообщения: 207
Зарегистрирован: Вт июл 12, 2016 6:16 pm

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

Сообщение Sas »

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

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

Сообщение Bagir »

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

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

Сообщение panda5 »

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

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


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

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

Сообщение directman66 »

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

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

Сообщение alx69 »

А как бы такое прикрутить к 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
Откуда: Украина Пирятин

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

Сообщение tarasfrompir »

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

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

Сообщение alx69 »

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

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

Сообщение tarasfrompir »

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

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

Сообщение dmw »

Пробую Ваше решение для 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 - что с ним делать?
Ответить