Страница 22 из 26
Re: Новое в работе с терминалами, sayTo, sayReply
Добавлено: Пн мар 05, 2018 9:10 pm
yurik
Похоже затык с 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']);
отрабатывает хорошо
Re: Новое в работе с терминалами, sayTo, sayReply
Добавлено: Вс мар 11, 2018 7:41 pm
ovcher
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']);
В разных интерпретациях.
Не работает вообще.
Re: Новое в работе с терминалами, sayTo, sayReply
Добавлено: Вс мар 11, 2018 10:09 pm
Alex77
Срегй добавьте пожалуйста LMS в тип плеера терминала, спасибо.
Re: Новое в работе с терминалами, sayTo, sayReply
Добавлено: Пн мар 12, 2018 3:09 pm
yurik
ovcher писал(а):
yurik писал(а):
global $session;
sayTo('Здратутите!',2,$session->data['TERMINAL']);
В разных интерпретациях.
Не работает вообще.
я пока решил отказаться от sayReply, так как не понимаю как оно работает... ща больше с железом приходится ковыряться, не до Алисы короче....
Re: Новое в работе с терминалами, sayTo, sayReply
Добавлено: Сб апр 07, 2018 2:18 pm
maksimka
Приветствую господа! Принимайте в свои ряды новенького ))
В общем много кофе выпито и мануалов скурено, в целом разобрался что к чему, однако не все получается.
А именно так и не въехал как работает SayReply. Одиночные запросы вроде как отрабатывает адекватно, а вот в составе скриптов совсем непредсказуемо все. Либо лыжи застряли, либо я туповат )
При этом SayTo отрабатывает идеально в любом применении.
У кого то получилось адекватно заставить SayReply работать? Поделитесь примерами, если не затруднит ))
Имею 2 терминала на win10 c ChromeGateMJD и собственно сам MJD на Raspberry PI.
Re: Новое в работе с терминалами, sayTo, sayReply
Добавлено: Пн май 07, 2018 12:03 pm
Taras81
Извините за глупый вопрос, не сумел найти ответы...
Можно ли на Вин10 и Андроид установить голосовые движки Яндекса?
-Ну не могу я слушать произношение от Майкрософт и Гугл!
Из-за этого даже планировал прокинуть колонки от сервера по всей квартире. Хотя, все прекрасно понимают как это неправильно и неудобно.
Re: Новое в работе с терминалами, sayTo, sayReply
Добавлено: Пн май 07, 2018 12:09 pm
skysilver
Taras81 писал(а): ↑Пн май 07, 2018 12:03 pm
Можно ли на Вин10 и Андроид установить голосовые движки Яндекса?
-Ну не могу я слушать произношение от Майкрософт и Гугл!
Можно на вин10- и андроид-терминалы слать готовый mp3-файл, полученный на самом сервере МДМ.
https://connect.smartliving.ru/profile/217/blog3.html
Re: Новое в работе с терминалами, sayTo, sayReply
Добавлено: Пт май 25, 2018 1:46 pm
hc2hunter
Коллеги, простите если что-то пропустил... а playSound не отправляет данные на все терминалы?
Во всяком случае как я ни пробовал, он проигрывает звук только на самом сервере MjDM. А была идея запускать будильник на нужном терминале...
Возможно, есть каике-то другие пути проиграть .mp3 на требуемом терминале?
Re: Новое в работе с терминалами, sayTo, sayReply
Добавлено: Сб июн 02, 2018 7:57 am
ovcher
hc2hunter писал(а): ↑Пт май 25, 2018 1:46 pm
Возможно, есть каике-то другие пути проиграть .mp3 на требуемом терминале?
VLC.
Re: Новое в работе с терминалами, sayTo, sayReply
Добавлено: Пн сен 03, 2018 10:48 am
ovcher
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);
};