Дык... Оно ж от инета зависит(Bagir писал(а):Так с голосовым управлением вроде как всё хорошо уже. Я давно пользуюсь. Вполне приемлемо работает. Постепенно добавляю в шаблоны поведения новые команды. Вот только кодовое слово, да, дело табак. Пока без вариантов. Может чего еще и попадется под руку.
[Приложение] Sound Direct Manager
Модератор: immortal
- Amarok
- Сообщения: 1425
- Зарегистрирован: Пт дек 14, 2012 12:24 pm
- Откуда: Россия, Нижняя Тура
- Благодарил (а): 460 раз
- Поблагодарили: 126 раз
- Контактная информация:
Re: Sound Direct Manager
Алиска живёт на Ubuntu Server 14.04.3 LTS
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
-
- Сообщения: 22
- Зарегистрирован: Чт июн 19, 2014 12:22 pm
- Благодарил (а): 6 раз
- Поблагодарили: 5 раз
Re: Sound Direct Manager
День добрый господа.
Хочу выразить благодарность Bagir за хорошую прогу
Все работает, у меня как раз задействованы все 8 каналов, 6 на первом этаже, два на улице. В планах второй этаж, а тут уже каналов не хватает, очень надеюсь когда нибудь в будущем будет реализована поддержка второй звуковухи. Могу проставиться удаленно
О насущном - как грамотно прикрутить штатный плеер мажордомо к sdm?
Сейчас работают голосовые оповещения через sayhook, все отлично проговаривает... Теперь хотелось бы музыку прикрутить...
Собрал на улице вокруг дома 4ре вот такие всепогодные колонки - может кому идея пригодится кстати... Рубят что пипец , из разряда дешево-сердито...
Хочу выразить благодарность Bagir за хорошую прогу
Все работает, у меня как раз задействованы все 8 каналов, 6 на первом этаже, два на улице. В планах второй этаж, а тут уже каналов не хватает, очень надеюсь когда нибудь в будущем будет реализована поддержка второй звуковухи. Могу проставиться удаленно
О насущном - как грамотно прикрутить штатный плеер мажордомо к sdm?
Сейчас работают голосовые оповещения через sayhook, все отлично проговаривает... Теперь хотелось бы музыку прикрутить...
Собрал на улице вокруг дома 4ре вот такие всепогодные колонки - может кому идея пригодится кстати... Рубят что пипец , из разряда дешево-сердито...
- Вложения
-
- IMG_20160615_075312.jpg (136.92 КБ) 12481 просмотр
-
- Сообщения: 22
- Зарегистрирован: Чт июн 19, 2014 12:22 pm
- Благодарил (а): 6 раз
- Поблагодарили: 5 раз
Re: Sound Direct Manager
Забыл добавить, а глюк с громкостью в режиме 3d на все каналы играет гораздо тише, нежели просто сообщение в конкретный канал отправлять, теоретически поправится?
Или тут без вариантов?
upd.
Отправляю мпз на проигрывание через -playmusic , начинает играть тихо, зато потом если послать сообщение или во все каналы или в этот - то звук чуть чуть повышается пока сообщение проговаривается, а после окончания сообщения врубается на полную громкость. При запуске на проигрывание нового мп3 файла ситуация такая-же - тихо играет, пока не пошлешь сообщение.
Или тут без вариантов?
upd.
Отправляю мпз на проигрывание через -playmusic , начинает играть тихо, зато потом если послать сообщение или во все каналы или в этот - то звук чуть чуть повышается пока сообщение проговаривается, а после окончания сообщения врубается на полную громкость. При запуске на проигрывание нового мп3 файла ситуация такая-же - тихо играет, пока не пошлешь сообщение.
-
- Сообщения: 22
- Зарегистрирован: Чт июн 19, 2014 12:22 pm
- Благодарил (а): 6 раз
- Поблагодарили: 5 раз
Re: Sound Direct Manager
за выхи маленько поколдовал с мультирумом через сдм, в общем у меня это реализовано вкратце так. Может кому пригодиться.
домашние у меня все андроиды (звучит то как поэтому с телефонами не расстаются. Соответственно имеем ходячие вайфай метки. На телефонах стоит мажордроид. В системе прописаны 3 юзера, с определением по хосту - ip телефона юзера, ip постоянный т к зарезервирован именно на этот мак в dhcp.
Далее так как дом у меня ЖБ стены, залитые под личным контролем друзей с юга, то сигналы в нем тухнут прилично, поэтому по точке доступа в каждую комнату полюбому. Переделал все свои точки на разные ссиды с одного одинакового который был ранее, поставил на телефоны таскер, далее в нем создал по профилю на каждую сеть, чтобы при подключении к ней таскер методом post запускал скрипт на сервере мжд. По одному скрипту на каждую вайфай сеть (то бишь читай на каждую комнату). Улица у меня также равна 1 комнате, только канала туда два выведено т к стоит 4ре колонки по углам дома через усил автомобильный. В доме все разведено по два автодинамика в комнате (правда в моно запаралелены), через ямаховский рес восмиканальный.
Скрипт например при выходе на улицу (за код не пинайте я сисадмин а не кодер)
//получаем имя юзера по id
if (context_getuser()==1) $nowuser='admin';
if (context_getuser()==5) $nowuser='Luba';
if (context_getuser()==6) $nowuser='Sonya';
//у каждого юзера добавлены два свойства - номер аудиоканала комнаты где он был до и номер канал куда зашел сейчас
if (gg($nowuser.'.SoundCanal')==56)
{
say (gg($nowuser.'.fullName').'снова на улице ('.context_getuser().')',-1); //если уже был в этой комнате, но по какойто причине отключился от вайфай комнаты - то делать ничего не надо.
}
else
{
sg($nowuser.'.SoundCanalBefore',gg($nowuser.'.SoundCanal')); //запоминаем предыдущий канал
sg($nowuser.'.SoundCanal',56); //каналы 5 и 6 у меня выведены на улицу - сюда пишем свой номер канала у кого какой в каждой комнате
safe_exec(gg('SoundProgram').' -outputchannel:'.gg($nowuser.'.SoundCanal').' -takemusic:'.gg($nowuser.'.SoundCanalBefore')); //переключаем звук с предыдущего канала откуда мы пришли на улицу
say (gg($nowuser.'.fullName').' на улице ('.context_getuser().')',-1); //пишем что такой то юзер вышел на учицу
say ("Перевела звук на улицу",gg($nowuser.'.SoundCanal')); //проговариваем куда перевели звук
}
Еще одна заморочка - чтобы быстро переключался вайфай - поставил прогу Best WiFi с плэй маркета. Она заставляет не ждать телефон пока сигнал от точки дпустится до нуля, быстро а переключает его на ближайшую точку с самым мощным сигналом. Т к телефоны тупят с переключением с точки на точку. Сечас при выходе на улицу звук приходит за мной секунд через 10. В принципе на халяву без коммерческих решений это нормально.
Штатный плеер мжд тоже прикрутил к сдм, но проблема с ним что списком играть никак пока, только по одному треку. и напрягает еще глюк с громкостью в самом сдм.
Для подстраховки также сделал в меню медиа кнопки, которые вызывают теже самые скрипты для ручного переключения звука в комнату.
В общем все работает забавно, особенно когда дети гоняют разные треки по разным комнатам какафония еще та....
Теперь надо идти дальше - дорабатывать sayhook для индивидуальных сообщений от системы.
домашние у меня все андроиды (звучит то как поэтому с телефонами не расстаются. Соответственно имеем ходячие вайфай метки. На телефонах стоит мажордроид. В системе прописаны 3 юзера, с определением по хосту - ip телефона юзера, ip постоянный т к зарезервирован именно на этот мак в dhcp.
Далее так как дом у меня ЖБ стены, залитые под личным контролем друзей с юга, то сигналы в нем тухнут прилично, поэтому по точке доступа в каждую комнату полюбому. Переделал все свои точки на разные ссиды с одного одинакового который был ранее, поставил на телефоны таскер, далее в нем создал по профилю на каждую сеть, чтобы при подключении к ней таскер методом post запускал скрипт на сервере мжд. По одному скрипту на каждую вайфай сеть (то бишь читай на каждую комнату). Улица у меня также равна 1 комнате, только канала туда два выведено т к стоит 4ре колонки по углам дома через усил автомобильный. В доме все разведено по два автодинамика в комнате (правда в моно запаралелены), через ямаховский рес восмиканальный.
Скрипт например при выходе на улицу (за код не пинайте я сисадмин а не кодер)
//получаем имя юзера по id
if (context_getuser()==1) $nowuser='admin';
if (context_getuser()==5) $nowuser='Luba';
if (context_getuser()==6) $nowuser='Sonya';
//у каждого юзера добавлены два свойства - номер аудиоканала комнаты где он был до и номер канал куда зашел сейчас
if (gg($nowuser.'.SoundCanal')==56)
{
say (gg($nowuser.'.fullName').'снова на улице ('.context_getuser().')',-1); //если уже был в этой комнате, но по какойто причине отключился от вайфай комнаты - то делать ничего не надо.
}
else
{
sg($nowuser.'.SoundCanalBefore',gg($nowuser.'.SoundCanal')); //запоминаем предыдущий канал
sg($nowuser.'.SoundCanal',56); //каналы 5 и 6 у меня выведены на улицу - сюда пишем свой номер канала у кого какой в каждой комнате
safe_exec(gg('SoundProgram').' -outputchannel:'.gg($nowuser.'.SoundCanal').' -takemusic:'.gg($nowuser.'.SoundCanalBefore')); //переключаем звук с предыдущего канала откуда мы пришли на улицу
say (gg($nowuser.'.fullName').' на улице ('.context_getuser().')',-1); //пишем что такой то юзер вышел на учицу
say ("Перевела звук на улицу",gg($nowuser.'.SoundCanal')); //проговариваем куда перевели звук
}
Еще одна заморочка - чтобы быстро переключался вайфай - поставил прогу Best WiFi с плэй маркета. Она заставляет не ждать телефон пока сигнал от точки дпустится до нуля, быстро а переключает его на ближайшую точку с самым мощным сигналом. Т к телефоны тупят с переключением с точки на точку. Сечас при выходе на улицу звук приходит за мной секунд через 10. В принципе на халяву без коммерческих решений это нормально.
Штатный плеер мжд тоже прикрутил к сдм, но проблема с ним что списком играть никак пока, только по одному треку. и напрягает еще глюк с громкостью в самом сдм.
Для подстраховки также сделал в меню медиа кнопки, которые вызывают теже самые скрипты для ручного переключения звука в комнату.
В общем все работает забавно, особенно когда дети гоняют разные треки по разным комнатам какафония еще та....
Теперь надо идти дальше - дорабатывать sayhook для индивидуальных сообщений от системы.
Последний раз редактировалось vazv71 Пн июн 20, 2016 12:02 am, всего редактировалось 1 раз.
-
- Сообщения: 22
- Зарегистрирован: Чт июн 19, 2014 12:22 pm
- Благодарил (а): 6 раз
- Поблагодарили: 5 раз
Re: Sound Direct Manager
Доработал sayhook - теперь отвечает юзеру только в той комнате где он есть. Исключения - только сообщения в чат с параметром -1 и общие сообщения с параметром 0. Все остальное что больше 1 - переопределяем. Вообще все красиво стало. А то надоедали диалоги детей с мжд т к меня в нем чатбот прикручен, они иногда развлекаются. Теперь красота
/* Хук на функцию say() */
$level=$params['level'];
$ph=$params['ph'];
$atr=''; // параметры
switch ($level) {
case -1: // ничего не делать. Сообщение будет написано только в чате
return;
break;
case 0: // общие не тревожные сообщения ночью переадресуются на указанный канал с пониженной громкостью
if (gg('NightMode.status')){ $atr='-outputchannel:0 -volumemessage:30 ';}
break;
default:
if ($level>=1)
{
if (context_getuser()==1) $nowuser='admin';
if (context_getuser()==5) $nowuser='Luba';
if (context_getuser()==6) $nowuser='Sonya';
$atr=' -outputchannel:'.gg($nowuser.'.SoundCanal');
}
}
// ******* Отправка задания принимающей программе *******
// *** Вариант передачи данных через командную строку
// Помните, что первый экземпляр sdm, который станет сервером приема сообщений, вы должны запустить сами!
safe_exec(gg('SoundProgram').' '.$atr.' '.$ph);
/* Хук на функцию say() */
$level=$params['level'];
$ph=$params['ph'];
$atr=''; // параметры
switch ($level) {
case -1: // ничего не делать. Сообщение будет написано только в чате
return;
break;
case 0: // общие не тревожные сообщения ночью переадресуются на указанный канал с пониженной громкостью
if (gg('NightMode.status')){ $atr='-outputchannel:0 -volumemessage:30 ';}
break;
default:
if ($level>=1)
{
if (context_getuser()==1) $nowuser='admin';
if (context_getuser()==5) $nowuser='Luba';
if (context_getuser()==6) $nowuser='Sonya';
$atr=' -outputchannel:'.gg($nowuser.'.SoundCanal');
}
}
// ******* Отправка задания принимающей программе *******
// *** Вариант передачи данных через командную строку
// Помните, что первый экземпляр sdm, который станет сервером приема сообщений, вы должны запустить сами!
safe_exec(gg('SoundProgram').' '.$atr.' '.$ph);
- За это сообщение автора vazv71 поблагодарил:
- filippovsky (Пт авг 05, 2016 3:40 pm)
- Рейтинг: 1.16%
-
- Сообщения: 22
- Зарегистрирован: Чт июн 19, 2014 12:22 pm
- Благодарил (а): 6 раз
- Поблагодарили: 5 раз
Re: Sound Direct Manager
Валится sdm раз в сутки примерно...
причем за ним останавливается и один из циклов мжд т к ждет возврата от сдм
шо делать то товарищи?
причем за ним останавливается и один из циклов мжд т к ждет возврата от сдм
шо делать то товарищи?
- Вложения
-
- скрин два
- sdm2.jpg (319.29 КБ) 12299 просмотров
-
- скрин раз
- sdm1.jpg (385.85 КБ) 12299 просмотров
- Amarok
- Сообщения: 1425
- Зарегистрирован: Пт дек 14, 2012 12:24 pm
- Откуда: Россия, Нижняя Тура
- Благодарил (а): 460 раз
- Поблагодарили: 126 раз
- Контактная информация:
Re: Sound Direct Manager
Вопрос к уважаемому Багиру: можно в sdm.ini указывать звуковую карту не только по номеру, но и по названию? Просто у меня звуковушка usb и при перезагрузке номер может стать другим; имя же не меняется.
Алиска живёт на Ubuntu Server 14.04.3 LTS
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
-
- Сообщения: 103
- Зарегистрирован: Чт ноя 19, 2015 5:33 pm
- Благодарил (а): 7 раз
- Поблагодарили: 8 раз
Re: Sound Direct Manager
А не подскажите как вы сделали чатбот.А то тоже хотелось бы сделать, чтобы не только по шаблонам поведения работал.vazv71 писал(а):Доработал sayhook - теперь отвечает юзеру только в той комнате где он есть. Исключения - только сообщения в чат с параметром -1 и общие сообщения с параметром 0. Все остальное что больше 1 - переопределяем. Вообще все красиво стало. А то надоедали диалоги детей с мжд т к меня в нем чатбот прикручен, они иногда развлекаются. Теперь красота
-
- Сообщения: 22
- Зарегистрирован: Чт июн 19, 2014 12:22 pm
- Благодарил (а): 6 раз
- Поблагодарили: 5 раз
Re: Sound Direct Manager
Решение не моё, на форуме была ветка про подключение iiiBot, поищите...Aleks130699 писал(а):А не подскажите как вы сделали чатбот.А то тоже хотелось бы сделать, чтобы не только по шаблонам поведения работал.vazv71 писал(а):Доработал sayhook - теперь отвечает юзеру только в той комнате где он есть. Исключения - только сообщения в чат с параметром -1 и общие сообщения с параметром 0. Все остальное что больше 1 - переопределяем. Вообще все красиво стало. А то надоедали диалоги детей с мжд т к меня в нем чатбот прикручен, они иногда развлекаются. Теперь красота
По поводу sdm - по моему отследил глюк с вылетом программы - у меня она вылетает когда указывает вывод звука сразу в два канала, например в моем случае outputchannel 56 приводит к рандомному вылету. Сейчас поменял вывод звука на улицу только на один канал - вроде пока не вылетает второй день.
Может кому пригодиться...
И да, перешел на работы с sdm с файлового режима на клиент серверный. В этом случае если sdm вылетает - то просто пропадает звук, а при работе через командную строку падает цикл.
- Bagir
- Сообщения: 1613
- Зарегистрирован: Вт сен 17, 2013 6:46 pm
- Откуда: Ярославская область город Углич
- Благодарил (а): 212 раз
- Поблагодарили: 375 раз
Re: Sound Direct Manager
Добавлю с задачи. В выходные постараюсь найти время и поработать с sdm. Сделать это не сложно, главное чтобы имя карты было написано буква в букву как видит его sdm.Amarok писал(а):Вопрос к уважаемому Багиру: можно в sdm.ini указывать звуковую карту не только по номеру, но и по названию? Просто у меня звуковушка usb и при перезагрузке номер может стать другим; имя же не меняется.