Программный мультирум

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

mitya-73
Сообщения: 21
Зарегистрирован: Пн ноя 18, 2013 2:24 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Программный мультирум

Сообщение mitya-73 » Ср ноя 20, 2013 11:49 am

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

Если со стороны MD будет реализована возможность стримить голос Алисы в сеть, то тут открываются на мой взгляд неплохие перспективы.

Можно создать свой метод, который будет вызывать внутри себя стандартный say(), но в качестве параметра можно передать либо устройство на котором будет воспроизведен поток, либо например "все устройства не воспроизводящие в данный момент музыку", либо в случае нештатной ситуации на все даже если они сейчас что-то воспроизводят.

Соответственно в зависимости от параметров, можно создать группу устройств через Squeeze сервер выдать сообщение и удалить группу.
mitya-73
Сообщения: 21
Зарегистрирован: Пн ноя 18, 2013 2:24 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Программный мультирум

Сообщение mitya-73 » Чт ноя 21, 2013 11:05 pm

Делюсь результатами
Спокойно можно заставить LMS проиграть файл из папки на сервере MD с голосом Алисы
Последовательно вызывал странички:
http://SqueezeServer_IP:9002/status.html?player=c8:7b:5b:6d:fe:3c&p0=playlist&p1=save&p2=c87b5b6dfe3c
http://SqueezeServer_IP:9002/status.html?player=c8:7b:5b:6d:fe:3c&p0=playlist&p1=play&p2=http://MajorDoMo_IP/cached/voice/6c5a0c08c1548bc9102cd83daeb66533.mp3
http://SqueezeServer_IP:9002/status.html?player=c8:7b:5b:6d:fe:3c&p0=playlist&p1=resume&p2=c87b5b6dfe3c

Первая сохраняет текущий плэйлист для Squeeze клиента (имя плэйлиста я выбрал равным ID плэера без двоеточий внутри)
Вторая вызывает воспроизведение mp3 файла с сервера MD (в моем примере реальный файл произнесенный Алисой)
Вторая восстанавливает сохраненный ранее плэйлист и запускает его воспроизведение с того файла, который играл в момент сохранения (позицию в файле к сожалению не сохраняет)

Надо бы придумать как правильно передавать в Say() параметры на какие устройства воспроизводить. Может даже добавить в API системы?

Ну или хотя-бы сделать так чтобы функция say возвращала имя mp3 файла который был сказан последним.
Аватара пользователя
Amarok
Сообщения: 1425
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Благодарил (а): 460 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Программный мультирум

Сообщение Amarok » Чт дек 19, 2013 6:54 am

mitya-73 писал(а):Если со стороны MD будет реализована возможность стримить голос Алисы в сеть, то тут открываются на мой взгляд неплохие перспективы.
Может посмотреть в сторону VLC?
Алиска живёт на Ubuntu Server 14.04.3 LTS
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
ignat99
Сообщения: 206
Зарегистрирован: Сб дек 21, 2013 9:21 pm
Откуда: Spain
Благодарил (а): 1 раз
Поблагодарили: 22 раза

Re: Программный мультирум

Сообщение ignat99 » Вс дек 22, 2013 1:53 am

Вот тут всё описано и про звук и про доступное железо и усилители и про доступные имиджи для различных Squeeze серверы.

Muzics

http://maison-et-domotique.com/product/ ... oom-facile
http://www.squeezeplug.de/

http://calaos.fr/forum/showthread.php?tid=50
http://calaos.fr/forum/showthread.php?tid=44

http://www.designnotes.com/Merchant2/me ... _Code=auha
http://www.conrad.fr/ce/fr/product/5146 ... W3-12W-12V
http://www.audiophonics.fr/amphony-micr ... -4617.html
http://www.conrad.fr/ce/fr/product/3036 ... 0-HM4-ohms
http://www.conrad.fr/ce/fr/product/3036 ... X-104-ohms
http://www.amazon.fr/dp/B000NJDKOQ/ref= ... 1_M3C_dp_1
http://www.amazon.fr/dp/B0093KZUEY/ref= ... 3p_M3_dp_1
http://www.amazon.com/Audioengine-Premi ... B000VKEFMS
http://www.audiophonics.fr/hifi-devices ... 8_388.html
http://www.audiophonics.fr/diy-kits-boa ... 3_415.html
http://www.sumoh.com/index-2.html
http://www.conrad.fr/ce/fr/product/1907 ... 40W-Conrad
http://www.amazon.fr/s/ref=nb_sb_noss?_ ... ords=lepai
http://www.amazon.fr/Artsound-Encastrab ... 03&sr=1-10
http://maison-et-domotique.com/2007/12/ ... -la-maison
http://hyperbol.free.fr/Sommaire/Raccor ... amplis.htm



Squeezebox for 40€
http://maison-et-domotique.com/product/ ... oom-facile
http://downloads.slimdevices.com/nightly/
http://maison-et-domotique.com/books/di ... x-pour-40e
http://www.squeezeplug.de/
www.youtube.com/watch?v=wIlj_4mFQwg
http://sourceforge.net/projects/rpiqemuwindows/
http://www.raspberrypi.org/phpBB3/viewt ... 38&t=25778
https://github.com/raspberrypi/firmware ... aster/boot
https://sites.google.com/site/picoreplayer/home
http://calaos.fr/forum/showthread.php?tid=31
Wave
Сообщения: 66
Зарегистрирован: Пн сен 02, 2013 4:40 pm
Благодарил (а): 2 раза
Поблагодарили: 0

Re: Программный мультирум

Сообщение Wave » Пн дек 23, 2013 1:11 pm

так уже почти законченное решение для мультирума получается. Кто-то уже у себя реализовал?
ignat99
Сообщения: 206
Зарегистрирован: Сб дек 21, 2013 9:21 pm
Откуда: Spain
Благодарил (а): 1 раз
Поблагодарили: 22 раза

Re: Программный мультирум

Сообщение ignat99 » Пн дек 23, 2013 6:40 pm

Wave
Сообщения: 66
Зарегистрирован: Пн сен 02, 2013 4:40 pm
Благодарил (а): 2 раза
Поблагодарили: 0

Re: Программный мультирум

Сообщение Wave » Пн дек 23, 2013 8:57 pm

Там все на вражеском языке ;(
Как можно Вас уговорить на детальный отчет и инструкцию для новичков? ;)
ignat99
Сообщения: 206
Зарегистрирован: Сб дек 21, 2013 9:21 pm
Откуда: Spain
Благодарил (а): 1 раз
Поблагодарили: 22 раза

Re: Программный мультирум

Сообщение ignat99 » Пн дек 23, 2013 10:11 pm

Так же гугл.транслятор:

Сделай сам: Squeezebox 40 €

http://translate.google.com/translate?s ... x-pour-40e

Решение для тестирования Легкий Squeezebox мультирум

http://translate.google.com/translate?s ... oom-facile
mitya-73
Сообщения: 21
Зарегистрирован: Пн ноя 18, 2013 2:24 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Программный мультирум

Сообщение mitya-73 » Пн дек 23, 2013 10:54 pm

Wave писал(а):Там все на вражеском языке ;(
Как можно Вас уговорить на детальный отчет и инструкцию для новичков? ;)
Собственно тут вообще все уже за нас сделали :) - https://sites.google.com/site/picoreplayer/home
Как уже писал ранее в этой теме, первоначальные эксперименты ставил на том что было в доме :) комп, ноут, телефон на андроид. Клиенты есть под все операционки. Однако, наблюдал рассинхрон в начале трека. Недолгий, но был (через несколько секунд отстающее устройство догоняло). Удовлетворенный первоначальными пробами, списал недостатки на то, что среда передачи данных разная (местами Wi-Fi, а местами провод) и на то что клиенты все же разные. Для дальнейших опытов заказал две малинки и две звуковые USB карты к ним (на картах есть джек, коаксиал и SPDIF) . Фотки приложу ниже.
Недели полторы назад приехало все. Сначала попробовал одну малинку как XBMC :) – понравилось, хотя и тоже есть шероховатости. В этом направлении потом еще покопаю.
Затем как и планировал сделал два squeeze клиента в разные комнаты. Подключение по проводу. Образ скачал из ссылки в начале поста. Заливается на SD карту с помощью Win32DiskImager.
С линуксом вообще пока не дружу, поэтому удаленный доступ настраивать пока не стал. Подключил малинку к телеку по HDMI и клаву к ней по USB.
Дальше как в инструкции. Клиент стартовал (в принципе если он один то в этот момент на нем уже по HDMI на телек пойдет звук)
Набираем picoreplayer. Он выдает свое меню на 10 пунктов.
Из того что требует настройки
1. выбираем пункт Insert USB DAC … и смотрим как называются устройства на подключенной USB звуковой карте.
2. Заходим в пункт Change Squeezelite settings
3. Заходим в первый пункт и меняем название клиента чтобы различать их на контроллерах (например LivingRoom)
4. Заходим во второй и меняем устройство вывода на то которое мы посмотрели в первом шаге. (у меня изначально было sysdefault:CARD=ALSA поменял на front:CARD=DAC,DEV=0)
5. Заходим в четвертый пункт и присваиваем произвольный MAC адрес (главное чтобы они были разными для клиентов внутри сети)
6. Набираем 13 и возвращаемся в основное меню там делаем Backup of your changes и Restart Squeezelite.
Все. Настраиваем аналогичным образом нужное количество клиентов. Подключаем их к источникам звука.
Дальше ставим на телефон или планшет (у меня как-то прижился андроид поэтому названия для него) бесплатный Logitech Squeezebox Controller либо платный Squeeze Commander. Оба могут все необходимое, просто бесплатный я нашел позже :)
Со squeeze сервером много не расскажу. У меня NAS Synology, на нем он ставится в два щелчка мышью из уже существующих пакетов программ. Указал ему папку с музыкой – он все проиндексировал и просто работает :). Кто лучше знает линукс возможно напишет и инструкцию по установке.
Собственно возможности:
1. Воспроизведение на каждом клиенте своего трека
2. Воспроизведение на разных клиентах синхронизировано!!! одного трэка.
3. Интернет радио с различными фильтрами и таргетингом
4. Веб интерфейс на сервере
5. Пульты под любые мобильные ОС
6. Управление сервером по http (подойдет для интеграции в любой интерфейс)

И да - рассинхрон в начале трэка пропал, все играется замечательно.

Из недостатков :) выводить голос Алисы с МД на разные девайсы у меня получилось. Но выполнение нескольких операций через http, Которые необходимы для сего действа занимают приличное время (до 10-15 секунд) что делает разговор с Алисой весьма некомфортным (распознавание настроил на телефоне через Tasker, но задержка именно на стороне Squeeze сервера)
20131223_222856.jpg
Белый USB провод - питание, черный соединяет Raspberi Pi и USB звуковую плату. Больше ничего и не нужно.
20131223_222856.jpg (145.02 КБ) 16403 просмотра
20131223_204303.jpg
Названия возможных для USB платы звуковых устройств. У меня заработало со вторым сверху
20131223_204303.jpg (181.77 КБ) 16403 просмотра
20131223_192610.jpg
Микросхема на карте PCM2704
20131223_192610.jpg (152.69 КБ) 16403 просмотра
dmitriy77
Сообщения: 26
Зарегистрирован: Вт ноя 26, 2013 10:34 am
Благодарил (а): 0
Поблагодарили: 0

Re: Программный мультирум

Сообщение dmitriy77 » Вт дек 24, 2013 4:23 am

Доброе утро, а можно привести пример вывода Алисы через squeeze?
Ubuntu 12.04.3 LTS, MajorDoMo 0.5.0b
Ответить