[Приложение] Sound Direct Manager

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

Аватара пользователя
Bagir
Сообщения: 1613
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: Sound Direct Manager

Сообщение Bagir » Вт май 10, 2016 10:51 pm

Отлично! Рад что понравилось. Дальше будет больше. Этот вариант я выложил просто посмотреть. Он не доделан, даже скорее только начат. Сейчас добавил команду переключение музыки, чтобы Алиса могла это делать. Выглядит так:
-outputchannel:1 -takemusic:2
то есть мы выводим на канал 1 музыку, которая играет на канале 2. Вместо двойки можно еще передать хендл играющего трека. Возможно так будет проще реализовать идею следования музыки. А то каждый раз придется запоминать на какой канал мы переключили нашу песню. О способах получения хендла музыки мы поговорим чуть позже. Скорее всего это будет ответ GET запроса на команду -playmusic. И еще вариант с отдельным вопросом. Например мы в какой то момент решили, что наша музыка должна следовать за нами. Но Handle (метку) этой задачи не знаем. Мы спрашиваем SDM командой, к примеру, -takehandle, а ответ придет вызовом метода Алисы. После этого, зная Handle, можно пулять музон куда надо (точнее куда решит Алиса)
-outputchannel:1 -takemusic:465486
-outputchannel:2 -takemusic:465486
-outputchannel:8 -takemusic:465486
и т.д.

Кнопка Пауза действительно в этой сборке пустая. Но в следующей сборке она будет работать. И добавится соответственно команда для Алисы. Наверное будет
-outputchannel:1 -pausemusic:0
-outputchannel:1 -pausemusic:1
или
-outputchannel:1 -pausemusic
-outputchannel:1 -continuemusic
Кто доберётся раньше до обучения Алисы ставить трек на паузу, пишите как удобнее, сделаем.

А теперь о грустном :( кнопка 0. Она есть, просто я специально скрыл её. Действительно если мы не указываем атрибут -outputchannel или отправим ноль -outputchannel:0, то музыка будет загружена с параметром для всех каналов. Но такую музыку в дальнейшем не получится переключить на нужный канал. А если мы загрузили музыку на конкретный канал, то на все каналы мы её тоже вывести уже не можем.
Пока я не нашел вариантов решения. И скорее всего прога в релиз на первую страничку пойдет с этим ограничением. Но как оно обычно бывает, ищешь одно, а находишь другое. Так что в будущем может и попадется рабочий пример.

Нужно ещё допилить обратную связь с Алисой по средствам вызова метода, и уменьшение громкости музыки при появлении сообщений. Добавив возможность играть музыку, я невольно попал на тему громкости. Уже давно можно задавать как общую громкость, так и для отдельного сообщения. Эти же аргументы работают и для музыки. Но для музыки нам обязательно понадобится возможность изменять громкость в процессе воспроизведения. Причём для каждого канала индивидуально. Так что в будущем надо будет подумать как это всё красиво оформить.

И ещё будет отдельная тема. Сейчас можно самому выбирать устройство вывода звука вне зависимости какое выбрано в системе по умолчанию. Долго я за это боролся, но оно того стоило. По умолчанию у меня на этом компе выбрана другая звуковая карта. И если я включу какой нибудь плеер, то звук не летит в оповещатели по всему дому, а играет в колонках у сервера. Это весьма удобно.
Но зачем ограничиваться одной звуковой картой? 8 каналов конечно вполне достаточно для дома, но ситуации бывают разные. От сюда вопрос, нужна ли поддержка сразу нескольких звуковых карт. Технически это возможно, и я уже попробовал, но придется много чего переделывать.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
redmax144
Сообщения: 44
Зарегистрирован: Чт янв 28, 2016 8:18 pm
Благодарил (а): 13 раз
Поблагодарили: 5 раз

Re: Sound Direct Manager

Сообщение redmax144 » Ср май 11, 2016 9:42 am

На мой взгляд, пока можно ограничиться поддержкой одной карты, чтобы не тратить время и силы. Возможно, правильнее будет довести до ума теперешнюю версию, добавить радио...
Я собираюсь ставить систему в загородном доме, и даже там 8 каналов с головой хватит:)

Есть одна проблема с Бета версией SDM, я как-то не пробовал распознавание в ней, а сейчас вот включил и оно работает с ошибкой, то есть первую команду отрабатывает хорошо и на ней зацикливается. Что бы после этой команды не пытался распознать, ответ получаю всё равно самую первую команду.
Хотел пройти по ситуации включения света. Сказал "включи", распознало как "включи". Потом спросила: "что именно", я ответил: "свет", а программа всё равно распознала "включи". Я думаю, это какой-то мелкий баг, жду полную версию программы:)
Последний раз редактировалось redmax144 Ср май 11, 2016 10:37 am, всего редактировалось 1 раз.
redmax144
Сообщения: 44
Зарегистрирован: Чт янв 28, 2016 8:18 pm
Благодарил (а): 13 раз
Поблагодарили: 5 раз

Re: Sound Direct Manager

Сообщение redmax144 » Ср май 11, 2016 9:46 am

Bagir писал(а):Да, довольно странно почему не отрабатывает команду "Свет" со второго терминала. Я попробую смоделировать эту ситуацию у себя.
Вот хотел кстати уточнить, у вас получилось смоделировать ситуацию?...

И ещё одно пожелание.. На компьютерах с небольшой диагональю нижнюю часть программы совсем не видно, может быть расширить программу, а не удлинять? Или добавить прокрутку...
Вот о чем я:
СпойлерПоказать
12.jpg
12.jpg (318.14 КБ) 9728 просмотров
Аватара пользователя
Bagir
Сообщения: 1613
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: Sound Direct Manager

Сообщение Bagir » Ср май 11, 2016 11:55 am

Не добрался я до момента с шаблонами. Музыка отняла всё время. Сегодня постараюсь допились необходимые моменты с музыкой и будем разбираться с шаблонами поведения.
Бетка, по части распознавания речи, полностью рабочая. Там ничего не менялось. На всякий случай я проверил сейчас. всё работает. Нужно искать неисправность. Для начала надо проверить так:
Самому нажать на кнопку Record, Произнести любую фразу, не относящуюся к шаблонам, и посмотреть в окне истории SDM что будет распознано. Алиса должна будет сказать "Неизвестная команда". Затем опять нажать на Record и сказать что нибудь другое. И опять же смотреть в истории SDM. Если там всё правильно, значит что то не так с настройкой шаблонов поведения.

Интерфейс я переделаю. Расширим вправо чтобы всё влезало по высоте. Ближе к ночи выложу бетку перед релизом на первой страничке.
За это сообщение автора Bagir поблагодарили (всего 2):
redmax144 (Ср май 11, 2016 12:03 pm) • ILGAS (Ср май 11, 2016 12:24 pm)
Рейтинг: 2.33%
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Аватара пользователя
Bagir
Сообщения: 1613
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: Sound Direct Manager

Сообщение Bagir » Ср май 11, 2016 10:49 pm

Любые идеи как оформить громкость на каналах! Карта 8 каналов. Громкость сообщений и громкость музыки. + общая громкость. Итого 17 ползунков. Выглядит очень громоздко.

Размышления: Общую громкость можно как есть оставить на главной форме.
Сейчас громкость сообщений может быть задана параметром, например -volumemessage:50, а если его нет, то берется из ini файла volumeMessage=70. Но громкость музыки может потребоваться как больше так и меньше громкости сообщений. К тому же полезно будет иметь возможность её изменять в процессе, причём на каждом канале индивидуально.

Ужал по высоте. Посмотрите что получилось.
Вложения
SDM.zip
Бетка. Добавлена команда переключения музыки.
-outputchannel:2 -takemusic:1
переключить на второй канал музыку с первого канала.
(144.11 КБ) 186 скачиваний
За это сообщение автора Bagir поблагодарил:
1maikl (Чт май 12, 2016 7:40 am)
Рейтинг: 1.16%
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
redmax144
Сообщения: 44
Зарегистрирован: Чт янв 28, 2016 8:18 pm
Благодарил (а): 13 раз
Поблагодарили: 5 раз

Re: Sound Direct Manager

Сообщение redmax144 » Чт май 12, 2016 10:05 am

Маленький вопрос. Если музыка, к примеру, играет в двух фронтальных колонках (F). Я её хочу переключить на одну какую-нибудь колонку, пишу запрос -outputchannel:4 -takemusic:F
Вылетает ошибка: Type mismatch.
С цифрами работает стабильно, но с буквами не хочет переключать (к примеру с R2 на F, с любого канала на F).

Однако, если использовать кнопки в самой программе, а не команды, всё работает хорошо)
Аватара пользователя
Bagir
Сообщения: 1613
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: Sound Direct Manager

Сообщение Bagir » Чт май 12, 2016 11:57 am

упс, верно! Там у параметра тип long. В следующем обновлении обязательно исправлю. И еще поговорим о том, как получить хендл играющего трека. Чтобы можно было отправлять его на любой канал несколько раз, не запоминая куда отправили.
За это сообщение автора Bagir поблагодарил:
redmax144 (Чт май 12, 2016 2:04 pm)
Рейтинг: 1.16%
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Аватара пользователя
Bagir
Сообщения: 1613
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: Sound Direct Manager

Сообщение Bagir » Пт май 13, 2016 12:41 am

Переделал очередь сообщений. Внешне измениться ничего не должно. Но теперь и в очереди поддерживаются сообщения на обе колонки сразу.
Изменил имена каналов для двух колонок на цифровые. Так проще и понятней. У имён кнопок каналов есть подсказки.

Еще думаю будет полезно рассказать о некоторых моментах. Например
Правила очереди сообщенийПоказать
Существует массив каналов 0, 1-8, 12, 34, 56, 78, в который загружаются сообщения из очереди, проигрываются и уничтожатся. Пока канал занят, следующее сообщение будет ждать своей очереди.

Список очереди просматривается снизу вверх.
Если задача для канала 1-8, то ждать освобождения каналов 0 и 1-8 соответственно
Если задача для канала 12 (Front), то ждать освобождения каналов 0 и 1,2 каналов
34 – 0,3,4; 56 – 0,5,6; 78 – 0,7,8 соответственно
Если задача общая, то ждать освобождения всех каналов.

Озвучить сообщение и удалить его из очереди.
Добавил приглушение музыки на канале при появлении в очереди сообщения. Работает немного жёстко. Потом попробую сделать плавное убавление и прибавление. Момент с громкостью вообще буду переделывать. Вероятно это будут три ползунка. Общая громкость программы, громкость сообщений на канале, и громкость музыки на канале. Ползунки будут запоминать положение при переключении каналов. Как то так..

Обращаю внимание, что если мы открываем музыку с помощью кнопок, а не командой, то и обратной связи с Алисой тоже не будет (её сейчас еще вообще нет). А так же трек не будет удалён из списка по завершению проигрывания. Но если мы ставим на этот канал новый трек, то он заменит уже играющий.

Потестируйте, и если что найдёте, обязательно пишите.
Вложения
SDM.zip
ver 1.60 beta
(140.11 КБ) 259 скачиваний
За это сообщение автора Bagir поблагодарил:
triada13 (Пт май 13, 2016 7:55 am)
Рейтинг: 1.16%
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Аватара пользователя
Amarok
Сообщения: 1425
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Благодарил (а): 460 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Sound Direct Manager

Сообщение Amarok » Вс май 15, 2016 1:51 pm

Ох, дядюшко Багир, не то крутишь)
Лучше голосовое управление)))
Алиска живёт на Ubuntu Server 14.04.3 LTS
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
Аватара пользователя
Bagir
Сообщения: 1613
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: Sound Direct Manager

Сообщение Bagir » Вс май 15, 2016 4:17 pm

Так с голосовым управлением вроде как всё хорошо уже. Я давно пользуюсь. Вполне приемлемо работает. Постепенно добавляю в шаблоны поведения новые команды. Вот только кодовое слово, да, дело табак. Пока без вариантов. Может чего еще и попадется под руку.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Ответить