SmartLiving.ru

Обсуждение проекта
 
Текущее время: Вс окт 22, 2017 8:25 pm

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 204 ]  На страницу Пред.  1 ... 7, 8, 9, 10, 11, 12, 13 ... 21  След.
Автор Сообщение
СообщениеДобавлено: Пн сен 11, 2017 7:31 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Вт окт 14, 2014 11:27 pm
Сообщения: 651
Откуда: Санкт-Петербург
Благодарил (а): 148 раз.
Поблагодарили: 49 раз.
lanket писал(а):
skysilver писал(а):
Имхо главный недостаток домашних поделок - это плохой аналоговый тракт. В тех же амазон эхо стоит матрица микрофонов, направленных по секторам, и сигналы с них обрабатываются специализированной микросхемой цифровой обработки сигналов. И только после этого очищенная, усиленная, без шумов шумов и с хорошим соотношением сигнал/шум запись отдается в облако на распознавание. ....


Согласен полностью, но то что вы описываете это вопрос наличия микросхемы с обвесом или другими словами шилд, что мешает ее туда воткнуть?

Видимо Вы говорите об таких девайсах: До того как познакомился с данным SDK упел заказать для эксперементов такие штучки думая над альтернативным подходом к данной задачи:
https://ru.aliexpress.com/item/VS1053-VS1053B-MP3-Module-For-Arduino-UNO-Breakout-Board-With-SD-Card-Slot-VS1053B-Ogg-Real/32816427942.html?spm=a2g0s.9042311.0.0.NB6qUn
[Показать] Скрытый текст:
Изображение

https://ru.aliexpress.com/item/UDA1380-Board-UDA-1380-Module-Stereo-Audio-Codecs-Decoder-Based-on-I2S-Interface/548266169.html?spm=a2g0s.9042311.0.0.NB6qUn
[Показать] Скрытый текст:
Изображение



skysilver писал(а):
... То что русского пока нет, это дело десятое.

Согласен 18 год не за горами.
skysilver писал(а):
А вот захват и запись звука это та причина, по которой до сих голосовое управление не стало основным. Можно побаловаться с usb-микрофоном, но в массы это не уйдёт, т.к. в реальных условиях эксплуатации (не на стенде) будут постоянные проблемы.


Вполне веские аргументы. Будем пробовать. Делиться опытом.

По поводу проблем с микрофоном думаю Вы правы. На ум приходит, неоднократно озвученная здесь мысль, активный микрофон. Как пример встроеный микрофон, вроде записывает звуки а для распознования не подходит.

У меня валяется для этих эксперементов валяется такая штука https://ru.aliexpress.com/item/Hot-Sale-Golf-Shape-CCTV-Microphone-audio-Pickup-Device-High-Sensitivity-12V-DC-sound-Monitor-audio/1956339804.html?spm=a2g0s.9042311.0.0.79Fi8H
[Показать] Скрытый текст:
Изображение



Или попытаться с такой специализированной штукой попробовать, может она как раз решает эти проблемы:
Уважаемый ferrumlogic подкидывал ссылку https://esp32.com/viewtopic.php?t=2771




directman66 писал(а):
у чувака красиво получилось
http://www.instructables.com/id/Raspberry-Pi-DIY-Google-Assistant-With-Sleek-Wood-/...


Ну так если руки из правильного места растут.

directman66 писал(а):


Такой микрофон упоминается в описании по которому я настраивал.

Для эксперементов заказал ещё и такой , якобы он с шумоподавлением : Одежда высшего качества Mini USB микрофон Регулируемый Настольный USB микрофон Анти-шум аудио портативный мини USB микрофон для компьютера
http://s.aliexpress.com/nUBFjqIF
(from AliExpress Android)

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

_________________
Управление Умным домом по технологии OK Google на базе orange pi zero и Google assistant SDK и API.AI
:arrow: Обсужение
:arrow: GitHub
:arrow: Connect
Rasberry Pi 2, MDM, MySensors, куча китайских датчиков.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пн сен 11, 2017 8:01 pm 
Не в сети

Зарегистрирован: Пн дек 26, 2016 9:51 am
Сообщения: 574
Благодарил (а): 89 раз.
Поблагодарили: 24 раз.
а недорогих USB колонок с хорошим звуком че-то не нашел. Вроде есть тут у нас какие-то смартбай за адекватные деньги.

нашел еще инструкцию по настройке от гугла
https://developers.google.com/assistant/sdk/develop/python/run-sample


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Ср сен 13, 2017 12:25 am 
Не в сети
Аватара пользователя

Зарегистрирован: Вт окт 14, 2014 11:27 pm
Сообщения: 651
Откуда: Санкт-Петербург
Благодарил (а): 148 раз.
Поблагодарили: 49 раз.
Устал я воевать с этим питоном, спать уже хочу. Споткнулся на закодировать в урл строку:

[Показать] Скрытый текст:
Код:


#!/usr/bin/env python

# Copyright (C) 2017 Google Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.


from __future__ import print_function

import argparse
import os
.path
import json
import urllib

import google
.oauth2.credentials

from google
.assistant.library import Assistant
from google
.assistant.library.event import EventType
from google
.assistant.library.file_helpers import existing_file


def process_event
(event):
    
"""Pretty prints events.

    Prints all events that occur with two spaces between each new
    conversation and a single space between turns of a conversation.

    Args:
        event(event.Event): The current event to process.
    """
    
if event.type == EventType.ON_CONVERSATION_TURN_STARTED:
        print()

    print(
event)

    if (
event.type == EventType.ON_CONVERSATION_TURN_FINISHED and
            
event.args and not event.args['with_follow_on_turn']):
        print()
    if (
event.type == EventType.ON_CONVERSATION_TURN_FINISHED and
            
event.args and not event.args['with_follow_on_turn']):
        print()

    if 
event.type == EventType.ON_RECOGNIZING_SPEECH_FINISHED:
        
isay event.args['text']
#        isay = ('qry',event.args['text'])
#        isay = object.__str__(event.args['text'])
        
print('I listen: 'isay)
#        current_url = 'http://192.168.1.44/command.php?' % urllib.parse.urlencode(isay)
#        current_url = 'http://192.168.1.44/command.php?qry=' % urllib.parse.urlencode(str(isay))
        
current_url 'http://192.168.1.44/command.php?qry=' urllib.parse.quote(isay)
        
urllib.urlopen(current_url)
        print(
'Command: 'current_url)


def main():
    
parser argparse.ArgumentParser(
        
formatter_class=argparse.RawTextHelpFormatter)
    
parser.add_argument('--credentials'type=existing_file,
                        
metavar='OAUTH2_CREDENTIALS_FILE',
                        default=
os.path.join(
                            
os.path.expanduser('~/.config'),
                            
'google-oauthlib-tool',
                            
'credentials.json'
                        
),
                        
help='Path to store and read OAuth2 credentials')
    
args parser.parse_args()
    
with open(args.credentials'r') as f:
        
credentials google.oauth2.credentials.Credentials(token=None,
                                                            **
json.load(f))

    
with Assistant(credentials) as assistant:
        for 
event in assistant.start():
            
process_event(event)


if 
__name__ == '__main__':
    
main()
 


В таком исполнении так ругается:
[Показать] Скрытый текст:
Цитата:
Traceback (most recent call last):
ON_MUTED_CHANGED:
{'is_muted': False}
ON_START_FINISHED

ON_CONVERSATION_TURN_STARTED
ON_END_OF_UTTERANCE
ON_RECOGNIZING_SPEECH_FINISHED:
{'text': 'hello'}
I listen: hello
Traceback (most recent call last):
File "/home/pi/env/bin/googlesamples-assistant-hotword", line 11, in <module>
sys.exit(main())
File "/home/pi/env/lib/python3.5/site-packages/googlesamples/assistant/library/hotword.py", line 80, in main
process_event(event)
File "/home/pi/env/lib/python3.5/site-packages/googlesamples/assistant/library/hotword.py", line 57, in process_event
current_url = 'http://192.168.1.44/command.php?qry=' % urllib.parse.quote(isay)
TypeError: not all arguments converted during string formatting


Собственно по английски работает супер. Получилось выловить текст команды после ключевого слова. Но вот перекодировать в урл что то туплю.

Помогите пожалуйста, устал я с этим питоном.

_________________
Управление Умным домом по технологии OK Google на базе orange pi zero и Google assistant SDK и API.AI
:arrow: Обсужение
:arrow: GitHub
:arrow: Connect
Rasberry Pi 2, MDM, MySensors, куча китайских датчиков.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Ср сен 13, 2017 12:49 am 
Не в сети

Зарегистрирован: Ср мар 02, 2016 8:18 pm
Сообщения: 179
Благодарил (а): 8 раз.
Поблагодарили: 15 раз.
Ну и зачем что то писать вот смотри здесь https://pypi.python.org/pypi/SpeechRecognition/
Та и примеры в том числе... в 3 строки без гемора

*** Сообщение запрещено. Имя похоже на спамерское. ***


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Ср сен 13, 2017 6:06 am 
Не в сети
Аватара пользователя

Зарегистрирован: Пн окт 28, 2013 8:14 am
Сообщения: 3402
Откуда: Екатеринбург
Благодарил (а): 90 раз.
Поблагодарили: 681 раз.
А чо - просто urllib.urlencode() не канает?

_________________
Raspberry Pi3 + Broadlink + esp8266 (blynk) + Arduino Mega (AMS)
Уважаемые пользователи! Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Помощь пользователям | Создание сцен | Код Arduino/esp


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Ср сен 13, 2017 8:27 am 
Не в сети
Аватара пользователя

Зарегистрирован: Вт окт 14, 2014 11:27 pm
Сообщения: 651
Откуда: Санкт-Петербург
Благодарил (а): 148 раз.
Поблагодарили: 49 раз.
nick7zmail писал(а):
А чо - просто urllib.urlencode() не канает?
Пишет что неправильный формат или тип данных, из описания я так понял что нужен массив в формате json пар (переменная+значение переменной).
И так понял что сильно зависит от версии питона. Там вроде как 3.5

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

_________________
Управление Умным домом по технологии OK Google на базе orange pi zero и Google assistant SDK и API.AI
:arrow: Обсужение
:arrow: GitHub
:arrow: Connect
Rasberry Pi 2, MDM, MySensors, куча китайских датчиков.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Ср сен 13, 2017 8:42 am 
Не в сети
Аватара пользователя

Зарегистрирован: Пн окт 28, 2013 8:14 am
Сообщения: 3402
Откуда: Екатеринбург
Благодарил (а): 90 раз.
Поблагодарили: 681 раз.
аа...тогда надо массив создать, и в json кодировать...я ток на php могу написать, как это сделать...питон давно забыт, как страшный сон =D

_________________
Raspberry Pi3 + Broadlink + esp8266 (blynk) + Arduino Mega (AMS)
Уважаемые пользователи! Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Помощь пользователям | Создание сцен | Код Arduino/esp


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Ср сен 13, 2017 11:17 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Вт окт 14, 2014 11:27 pm
Сообщения: 651
Откуда: Санкт-Петербург
Благодарил (а): 148 раз.
Поблагодарили: 49 раз.
Питон это величайшее зло на планете, хуже мелкософта.
2 дня на примитивную задачу Get запрос, это полный пипец. Ни один из примеров в инете не работает.

Хоть кто нибудь шарит в этом гре@#$ом питоне? Прошу прощения за французский.

[Показать] Скрытый текст:
Код:
#!/usr/bin/env python

# Copyright (C) 2017 Google Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.


from __future__ import print_function

import argparse
import os
.path
import json
import urllib

import google
.oauth2.credentials

from google
.assistant.library import Assistant
from google
.assistant.library.event import EventType
from google
.assistant.library.file_helpers import existing_file


def process_event
(event):
    """Pretty prints events.

    Prints all events that occur with two spaces between each new
    conversation and a single space between turns of a conversation.

    Args:
        event(event.Event): The current event to process.
    """
    if event.type == EventType.ON_CONVERSATION_TURN_STARTED:
        print()

    print(event)

    if (event.type == EventType.ON_CONVERSATION_TURN_FINISHED and
            event
.args and not event.args['with_follow_on_turn']):
        print()

    if event.type == EventType.ON_RECOGNIZING_SPEECH_FINISHED:
#        isay = event.args['text']
#        cmd = str(event.args['text'])
#        cmd = str(event.args['text'])
#        isay = {'qry':cmd}
#        current_url = 'http://192.168.1.44/command.php?' % urllib.parse.urlencode(isay)

#        isay = ('qry',event.args['text'])
#        isay = object.__str__(event.args['text'])
#        print('I listen: ', isay)
#        current_url = 'http://192.168.1.44/command.php?qry=' % urllib.parse.urlencode(str(isay))
#        current_url = 'http://192.168.1.44/command.php?qry=' % urllib.parse.quote(isay)
#        urllib.urlopen(current_url)
#        print('Command: ', current_url)

def main():
    parser = argparse.ArgumentParser(
        formatter_class=argparse.RawTextHelpFormatter)
    parser.add_argument('--credentials', type=existing_file,
                        metavar='OAUTH2_CREDENTIALS_FILE',
                        default=os.path.join(
                            os.path.expanduser('~/.config'),
                            'google-oauthlib-tool',
                            'credentials.json'
                        ),
                        help='Path to store and read OAuth2 credentials')
    args = parser.parse_args()
    with open(args.credentials, 'r') as f:
        credentials = google.oauth2.credentials.Credentials(token=None,
                                                            **json.load(f))

    with Assistant(credentials) as assistant:
        for event in assistant.start():
            process_event(event)


if __name__ == '__main__':
    main()

Хоть кто нибудь помогите в такой простой задаче.
Попытки засунуть команду в JSON
Код:
isay = {'qry':event.args['text']}
выдает ошибку мол не все аргументы стринг формата.
Добавление str
Код:
isay = {'qry':str(event.args['text'])}
и даже
Код:

cmd 
= str()
isay = {'qry':cmd}

тоже ругается также.

достал этот питон, честное слово. Вогруг да около и не работает.

Не уж то никто не шарит в питоне?

_________________
Управление Умным домом по технологии OK Google на базе orange pi zero и Google assistant SDK и API.AI
:arrow: Обсужение
:arrow: GitHub
:arrow: Connect
Rasberry Pi 2, MDM, MySensors, куча китайских датчиков.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Чт сен 14, 2017 12:26 am 
Не в сети

Зарегистрирован: Чт июн 02, 2016 9:33 pm
Сообщения: 355
Благодарил (а): 77 раз.
Поблагодарили: 19 раз.
directman66 писал(а):
а железячный гугл хоум и amazon alexa еще не разобрали по кусочкам? Когда его можно будет запилить? Когда добавят русский язык?

русского нет и не скоро будет

directman66 писал(а):
alexa интегрируется же в сторонние сервисы.

немного нет так, это сторонние продукты пишут для Алексы плагины и их можно установить в панели Алексы что даёт возможность управлять этими устройствами. Вот я снимал видео про то как управлять лампочками Сяоми https://www.youtube.com/watch?v=aAWCKUIylh4

directman66 писал(а):
предлагаю для начала запилить то, что уже есть на других системах.
Для примера alexa на базе openhab https://github.com/openhab/openhab-alexa

если бы что-то подобное появилось в МЖД, то было бу круто. Но кроме Сергея врядли такое кто-то запилит.

_________________
фанат Мажордомо
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Чт сен 14, 2017 7:38 am 
Не в сети

Зарегистрирован: Пн дек 26, 2016 9:51 am
Сообщения: 574
Благодарил (а): 89 раз.
Поблагодарили: 24 раз.
кстати у alexa есть интересное продолжение, amazon dash wand
https://www.amazon.com/Amazon-Dash-Wand-With-Alexa/dp/B01MQMJFDK

Очень интересное решение плюс еще сканер штрих-кода. И цена всего 20 евро. Но вроде как не является аналогом amazon echo, а лишь дополнение для заказа товаров и услуг.

Все советуют Гугл хоум (у нас около 9000 руб) с его питоном и непонятными командами, а мне кажется что амазон ехо (https://www.amazon.com/Amazon-Echo-Dot- ... ords=alexa стоить сейчас в 2 раза дешевле) с помошью скилов можно научить своим командам на примере скила от домотикса.

https://github.com/madgeni/alexa_domo

даже мне кажется можно и команды по русски произносить.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 204 ]  На страницу Пред.  1 ... 7, 8, 9, 10, 11, 12, 13 ... 21  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB