Новое в работе с терминалами, sayTo, sayReply

Новые релизы, обновления и т.п.

Модератор: immortal

yurik
Сообщения: 52
Зарегистрирован: Вс фев 11, 2018 7:32 pm
Благодарил (а): 10 раз
Поблагодарили: 2 раза

Re: Новое в работе с терминалами, sayTo, sayReply

Сообщение yurik » Пн мар 05, 2018 9:10 pm

Похоже затык с sayReply в кешировании звука (проигрывании одной и той фразы)
sayTo('Прювет',2,dell) отрабатывает отлично, теперь вебсокет 8001 не отвисает)))
НО!
sayReply('Прювет',2) посылает и проговаривает везде, включая main, но кроме dell...
sayReply('Прюветик',2) уже отсылает и проговаривает всем! Всем, КАРЛ!
Проблема очевидно в кешировании...
я также попробовал отключить/удалить YandexTTS, т.е. на серваке только RHVoice, на винде естественно Гугл через хромгейт, а Дроид я не знаю через что говорит, так при этом на Дроиде вообще зависла старая фраза, и она повторялась одна и тажа зависшая, но при запуске других фраз!!! Вернул все в зад, чтобы яндекс базарил, и теперь не понимаю, а зачем у меня тогда RHVoice?!
Ща еще в скриптах потестю, может еще чо интересного получится...

UPD:
Короче в скрипте все нормуль работает!

global $session;
sayTo('Здратути!',2,$session->data['TERMINAL']);
sleep(20);
sayReply('Досвидос!');
sleep(20);
sayReply('Покаси.');

все пришло только на терминал на винде! Все нормуль!

а вот такой вариант

global $session;
sayTo('Здратутите!',2,$session->data['TERMINAL']);
sleep(20);
sayReply('Здратутите!'); Звук так и не пришел....
sleep(20);
sayReply('Покасидо.');

не отработал второй "Здратутите!" Ржака конечно, но извините надо было как-то придумывать разные варианты фраз))))

И еще, проблема как раз таки в sayReply, так как вариант
global $session;
sayTo('Здратутите!',2,$session->data['TERMINAL']);
sleep(20);
sayTo('Здратутите!',2,$session->data['TERMINAL']);
отрабатывает хорошо
Электрик-любитель II-го разряда, java, matlab, php, DIY
Аватара пользователя
ovcher
Сообщения: 183
Зарегистрирован: Сб сен 12, 2015 3:11 am
Откуда: Волгоград
Благодарил (а): 60 раз
Поблагодарили: 38 раз
Контактная информация:

Re: Новое в работе с терминалами, sayTo, sayReply

Сообщение ovcher » Вс мар 11, 2018 7:41 pm

yurik писал(а): sayTo('Прювет',2,dell) отрабатывает отлично, теперь вебсокет 8001 не отвисает)))
А 8002 ?

Сразу. Платформа малинка. На пятерку не смотрите, оно у меня так, просто в перспективе есть желание писать в лог некоторые вещи по с терминалов, то бишь по sayTo, sayReply.

sayTo("Здравствуйте!",5,ovcher_desktop); //Работает прекрасно без малейших затыков, но лишь до тех пор пока нужно одиночное проговаривание, как только дело доходит до более менее серьезного сценария, ну например: Read5News Все заканчивается проговариванием первой новости. Причем просто say работает прекрасно проговаривая все как положено, но естественно во все терминалы.

sayReply('Покаси.'); :) Проговаривает, во все терминалы кроме MAIN.

sayReply('Досвидос!',5); Говорит везде в том числе и в MAIN.

З.Ы.
yurik писал(а): global $session;
sayTo('Здратутите!',2,$session->data['TERMINAL']);
В разных интерпретациях.
Не работает вообще.
Alex77
Сообщения: 215
Зарегистрирован: Вс мар 05, 2017 2:18 pm
Благодарил (а): 21 раз
Поблагодарили: 6 раз

Re: Новое в работе с терминалами, sayTo, sayReply

Сообщение Alex77 » Вс мар 11, 2018 10:09 pm

Срегй добавьте пожалуйста LMS в тип плеера терминала, спасибо.
yurik
Сообщения: 52
Зарегистрирован: Вс фев 11, 2018 7:32 pm
Благодарил (а): 10 раз
Поблагодарили: 2 раза

Re: Новое в работе с терминалами, sayTo, sayReply

Сообщение yurik » Пн мар 12, 2018 3:09 pm

ovcher писал(а):
yurik писал(а): global $session;
sayTo('Здратутите!',2,$session->data['TERMINAL']);
В разных интерпретациях.
Не работает вообще.
я пока решил отказаться от sayReply, так как не понимаю как оно работает... ща больше с железом приходится ковыряться, не до Алисы короче....
Электрик-любитель II-го разряда, java, matlab, php, DIY
Аватара пользователя
maksimka
Сообщения: 23
Зарегистрирован: Сб апр 07, 2018 2:04 pm
Откуда: Новосибирск
Благодарил (а): 13 раз
Поблагодарили: 12 раз

Re: Новое в работе с терминалами, sayTo, sayReply

Сообщение maksimka » Сб апр 07, 2018 2:18 pm

Приветствую господа! Принимайте в свои ряды новенького ))
В общем много кофе выпито и мануалов скурено, в целом разобрался что к чему, однако не все получается.
А именно так и не въехал как работает SayReply. Одиночные запросы вроде как отрабатывает адекватно, а вот в составе скриптов совсем непредсказуемо все. Либо лыжи застряли, либо я туповат )
При этом SayTo отрабатывает идеально в любом применении.
У кого то получилось адекватно заставить SayReply работать? Поделитесь примерами, если не затруднит ))
Имею 2 терминала на win10 c ChromeGateMJD и собственно сам MJD на Raspberry PI.
Аватара пользователя
Taras81
Сообщения: 58
Зарегистрирован: Вс мар 26, 2017 6:10 am
Благодарил (а): 67 раз
Поблагодарили: 5 раз

Re: Новое в работе с терминалами, sayTo, sayReply

Сообщение Taras81 » Пн май 07, 2018 12:03 pm

Извините за глупый вопрос, не сумел найти ответы...
Можно ли на Вин10 и Андроид установить голосовые движки Яндекса?
-Ну не могу я слушать произношение от Майкрософт и Гугл!
Из-за этого даже планировал прокинуть колонки от сервера по всей квартире. Хотя, все прекрасно понимают как это неправильно и неудобно.
skysilver
Сообщения: 2990
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 394 раза
Поблагодарили: 1708 раз
Контактная информация:

Re: Новое в работе с терминалами, sayTo, sayReply

Сообщение skysilver » Пн май 07, 2018 12:09 pm

Taras81 писал(а):
Пн май 07, 2018 12:03 pm
Можно ли на Вин10 и Андроид установить голосовые движки Яндекса?
-Ну не могу я слушать произношение от Майкрософт и Гугл!
Можно на вин10- и андроид-терминалы слать готовый mp3-файл, полученный на самом сервере МДМ.
https://connect.smartliving.ru/profile/217/blog3.html
За это сообщение автора skysilver поблагодарили (всего 3):
Taras81 (Пн май 07, 2018 12:19 pm) • maksimka (Ср май 23, 2018 4:16 pm) • Samir77 (Вс май 27, 2018 8:28 pm)
Рейтинг: 3.57%
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Аватара пользователя
hc2hunter
Сообщения: 455
Зарегистрирован: Сб дек 02, 2017 10:45 am
Откуда: RUS
Благодарил (а): 214 раз
Поблагодарили: 286 раз

Re: Новое в работе с терминалами, sayTo, sayReply

Сообщение hc2hunter » Пт май 25, 2018 1:46 pm

Коллеги, простите если что-то пропустил... а playSound не отправляет данные на все терминалы?
Во всяком случае как я ни пробовал, он проигрывает звук только на самом сервере MjDM. А была идея запускать будильник на нужном терминале...
Возможно, есть каике-то другие пути проиграть .mp3 на требуемом терминале?
Аватара пользователя
ovcher
Сообщения: 183
Зарегистрирован: Сб сен 12, 2015 3:11 am
Откуда: Волгоград
Благодарил (а): 60 раз
Поблагодарили: 38 раз
Контактная информация:

Re: Новое в работе с терминалами, sayTo, sayReply

Сообщение ovcher » Сб июн 02, 2018 7:57 am

hc2hunter писал(а):
Пт май 25, 2018 1:46 pm
Возможно, есть каике-то другие пути проиграть .mp3 на требуемом терминале?
VLC.
Аватара пользователя
ovcher
Сообщения: 183
Зарегистрирован: Сб сен 12, 2015 3:11 am
Откуда: Волгоград
Благодарил (а): 60 раз
Поблагодарили: 38 раз
Контактная информация:

Re: Новое в работе с терминалами, sayTo, sayReply

Сообщение ovcher » Пн сен 03, 2018 10:48 am

ovcher писал(а):
Вс мар 11, 2018 7:41 pm
sayTo("Здравствуйте!",5,ovcher_desktop); //Работает прекрасно без малейших затыков, но лишь до тех пор пока нужно одиночное проговаривание, как только дело доходит до более менее серьезного сценария, ну например: Read5News Все заканчивается проговариванием первой новости.
Решается установкой паузы в 2 секунды после каждого sayTo на слух задержки практически незаметно и проговаривается все как положено по очереди.
Вот пример подобного сценария:

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

$last_id=getGlobal('ThisComputer.LastNewsId')-5;
$values=SQLSelect("SELECT * FROM  rss_items WHERE  ID >".$last_id);
if($values) { 
  $total=count($values);
  $maxnews = 5;
  $startfrom = 0;
  if ($total > $maxnews){
    $startfrom = $total - $maxnews;
    sayTo("Новостей больше чем $maxnews",5,ovcher_desktop);
sleep(2);
  } else {
    sayTo("Новости",5,ovcher_desktop);
sleep(2);
  }
  for($i=$startfrom;$i<$total;$i++){
    $sql="SELECT * FROM  rss_items WHERE  ID =".$values[$i]['ID'];
    $value=SQLSelectOne($sql);
    sayTo($value['TITLE'].".",5,ovcher_desktop);
sleep(2);

  };
  $last_id=$value['ID'];
  setGlobal('ThisComputer.LastNewsId',$last_id);
} else {
     sayTo("Нет новых новостей",5,ovcher_desktop);
sleep(2);
};
За это сообщение автора ovcher поблагодарил:
ZyaK (Ср сен 05, 2018 9:11 am)
Рейтинг: 1.19%
Ответить