Новое в работе с терминалами, sayTo, sayReply
Модератор: immortal
-
- Сообщения: 52
- Зарегистрирован: Вс фев 11, 2018 7:32 pm
- Благодарил (а): 10 раз
- Поблагодарили: 2 раза
Re: Новое в работе с терминалами, sayTo, sayReply
Похоже затык с 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']);
отрабатывает хорошо
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 раз
- Поблагодарили: 39 раз
- Контактная информация:
Re: Новое в работе с терминалами, sayTo, sayReply
А 8002 ?yurik писал(а): sayTo('Прювет',2,dell) отрабатывает отлично, теперь вебсокет 8001 не отвисает)))
Сразу. Платформа малинка. На пятерку не смотрите, оно у меня так, просто в перспективе есть желание писать в лог некоторые вещи по с терминалов, то бишь по sayTo, sayReply.
sayTo("Здравствуйте!",5,ovcher_desktop); //Работает прекрасно без малейших затыков, но лишь до тех пор пока нужно одиночное проговаривание, как только дело доходит до более менее серьезного сценария, ну например: Read5News Все заканчивается проговариванием первой новости. Причем просто say работает прекрасно проговаривая все как положено, но естественно во все терминалы.
sayReply('Покаси.'); Проговаривает, во все терминалы кроме MAIN.
sayReply('Досвидос!',5); Говорит везде в том числе и в MAIN.
З.Ы.
В разных интерпретациях.yurik писал(а): global $session;
sayTo('Здратутите!',2,$session->data['TERMINAL']);
Не работает вообще.
-
- Сообщения: 215
- Зарегистрирован: Вс мар 05, 2017 2:18 pm
- Благодарил (а): 21 раз
- Поблагодарили: 6 раз
Re: Новое в работе с терминалами, sayTo, sayReply
Срегй добавьте пожалуйста LMS в тип плеера терминала, спасибо.
-
- Сообщения: 52
- Зарегистрирован: Вс фев 11, 2018 7:32 pm
- Благодарил (а): 10 раз
- Поблагодарили: 2 раза
Re: Новое в работе с терминалами, sayTo, sayReply
я пока решил отказаться от sayReply, так как не понимаю как оно работает... ща больше с железом приходится ковыряться, не до Алисы короче....ovcher писал(а):В разных интерпретациях.yurik писал(а): global $session;
sayTo('Здратутите!',2,$session->data['TERMINAL']);
Не работает вообще.
Электрик-любитель II-го разряда, java, matlab, php, DIY
- maksimka
- Сообщения: 23
- Зарегистрирован: Сб апр 07, 2018 2:04 pm
- Откуда: Новосибирск
- Благодарил (а): 13 раз
- Поблагодарили: 12 раз
Re: Новое в работе с терминалами, sayTo, sayReply
Приветствую господа! Принимайте в свои ряды новенького ))
В общем много кофе выпито и мануалов скурено, в целом разобрался что к чему, однако не все получается.
А именно так и не въехал как работает SayReply. Одиночные запросы вроде как отрабатывает адекватно, а вот в составе скриптов совсем непредсказуемо все. Либо лыжи застряли, либо я туповат )
При этом SayTo отрабатывает идеально в любом применении.
У кого то получилось адекватно заставить SayReply работать? Поделитесь примерами, если не затруднит ))
Имею 2 терминала на win10 c ChromeGateMJD и собственно сам MJD на Raspberry PI.
В общем много кофе выпито и мануалов скурено, в целом разобрался что к чему, однако не все получается.
А именно так и не въехал как работает SayReply. Одиночные запросы вроде как отрабатывает адекватно, а вот в составе скриптов совсем непредсказуемо все. Либо лыжи застряли, либо я туповат )
При этом SayTo отрабатывает идеально в любом применении.
У кого то получилось адекватно заставить SayReply работать? Поделитесь примерами, если не затруднит ))
Имею 2 терминала на win10 c ChromeGateMJD и собственно сам MJD на Raspberry PI.
- Taras81
- Сообщения: 59
- Зарегистрирован: Вс мар 26, 2017 6:10 am
- Благодарил (а): 70 раз
- Поблагодарили: 5 раз
Re: Новое в работе с терминалами, sayTo, sayReply
Извините за глупый вопрос, не сумел найти ответы...
Можно ли на Вин10 и Андроид установить голосовые движки Яндекса?
-Ну не могу я слушать произношение от Майкрософт и Гугл!
Из-за этого даже планировал прокинуть колонки от сервера по всей квартире. Хотя, все прекрасно понимают как это неправильно и неудобно.
Можно ли на Вин10 и Андроид установить голосовые движки Яндекса?
-Ну не могу я слушать произношение от Майкрософт и Гугл!
Из-за этого даже планировал прокинуть колонки от сервера по всей квартире. Хотя, все прекрасно понимают как это неправильно и неудобно.
-
- Сообщения: 3006
- Зарегистрирован: Чт авг 21, 2014 8:28 am
- Откуда: Киров, Россия
- Благодарил (а): 400 раз
- Поблагодарили: 1753 раза
- Контактная информация:
Re: Новое в работе с терминалами, sayTo, sayReply
Можно на вин10- и андроид-терминалы слать готовый mp3-файл, полученный на самом сервере МДМ.
https://connect.smartliving.ru/profile/217/blog3.html
- Рейтинг: 3.49%
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Мой CONNECT | Блоги | Telegram
- hc2hunter
- Сообщения: 507
- Зарегистрирован: Сб дек 02, 2017 10:45 am
- Откуда: RUS
- Благодарил (а): 228 раз
- Поблагодарили: 348 раз
Re: Новое в работе с терминалами, sayTo, sayReply
Коллеги, простите если что-то пропустил... а playSound не отправляет данные на все терминалы?
Во всяком случае как я ни пробовал, он проигрывает звук только на самом сервере MjDM. А была идея запускать будильник на нужном терминале...
Возможно, есть каике-то другие пути проиграть .mp3 на требуемом терминале?
Во всяком случае как я ни пробовал, он проигрывает звук только на самом сервере MjDM. А была идея запускать будильник на нужном терминале...
Возможно, есть каике-то другие пути проиграть .mp3 на требуемом терминале?
- ovcher
- Сообщения: 183
- Зарегистрирован: Сб сен 12, 2015 3:11 am
- Откуда: Волгоград
- Благодарил (а): 60 раз
- Поблагодарили: 39 раз
- Контактная информация:
Re: Новое в работе с терминалами, sayTo, sayReply
Решается установкой паузы в 2 секунды после каждого sayTo на слух задержки практически незаметно и проговаривается все как положено по очереди.ovcher писал(а): ↑Вс мар 11, 2018 7:41 pmsayTo("Здравствуйте!",5,ovcher_desktop); //Работает прекрасно без малейших затыков, но лишь до тех пор пока нужно одиночное проговаривание, как только дело доходит до более менее серьезного сценария, ну например: Read5News Все заканчивается проговариванием первой новости.
Вот пример подобного сценария:
Код: Выделить всё
$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);
};
- Рейтинг: 1.16%