Страница 1 из 4

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

Добавлено: Пт сен 30, 2016 9:14 pm
tarasfrompir
Сделал программу на Пайтоне (первая в жизни)
Все функции только в онлайне ...Зато должно устанавливатся на любую систему...
Из плюсов - может говорить на том языке на котором сам захочеш (Украинский в том числе.. (сам из Украины))
СпойлерПоказать
Распознавание голоса - Гугл спич
с активацией ключевым словом (находится в кейворд.ини)
Перевод ответов от Яндекс транслате
Голосовой синтез от Яндекса... на том же языке от которого перевод
(Тоесть алиса говорит на русском - а голосовой ответ у меня сейчас на украинском)
Жирный МИНУС - все только онлайн (ибо с офлайн есть немного беда с Украинским языком)
Выкладываю
ВНИМАНИЕ ИЗМЕНЕНИЯ ВМЕСТО 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]

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

Добавлено: Пт сен 30, 2016 11:49 pm
Sas
В теме покетсфинкса положили скрипт из пары строк который умеет распознавать, еще пару строк на синтез.
Почему бы и не приложить. Те кто умеет уже написал или напишет своеа кто нет воспользуется

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

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

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

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

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


вот пример работы этой связки с платой Raspberri https://youtu.be/ChIjW-yrtzE

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

Добавлено: Пт мар 24, 2017 3:23 pm
directman66
подскажите, можно ли как то задействовать звук, идущий от в цифре от ONVIF видекамеры? Т.е. разбирать rtsp поток, выкусывать оттуда звук, анализировать и т.д.

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

Добавлено: Пт мар 24, 2017 4:11 pm
alx69
А как бы такое прикрутить к Raspberry? Кто-то этим уже озадачился? Только без использования графической оболочки?

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

Добавлено: Пн мар 27, 2017 8:54 pm
tarasfrompir
Если хочеш могу выкинуть из скрипта ГУИ и можна пользоватся

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

Добавлено: Пн мар 27, 2017 11:18 pm
alx69
Да, было бы не плохо. Можно попробовать.

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

Добавлено: Вт мар 28, 2017 10:25 pm
tarasfrompir
ДЛЯ alx69 - пробуй
В шапке все лежит

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

Добавлено: Пт апр 21, 2017 2:58 pm
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 - что с ним делать?