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

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

Модератор: immortal

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

Re: Sound Direct Manager

Сообщение Bagir » Чт май 05, 2016 7:31 pm

В каком режиме работает на десятке? initMethod=1 или initMethod=2 со включённым 3D. На Звуковой карте используется больше чем 2 канала? При включенном 3D или с указанием конкретного канала, стерео wav или mp3 файлы дают ошибку?
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: Sound Direct Manager

Сообщение Bagir » Чт май 05, 2016 9:13 pm

Хочу попробовать добавить в SDM воспроизведение фоновой музыки. Именно музыки а не коротких звуковых семплов (пищалак и крякалак) что уже давно реализовано.

Суть в том, что фоновая музыка не встаёт в очередь, а играет на канале одновременно с сообщениями из очереди. При этом либо приглушая громкость на момент появлении сообщений, либо полностью останавливая воспроизведение на время звучания сообщения.

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

Re: Sound Direct Manager

Сообщение redmax144 » Пт май 06, 2016 4:31 pm

По поводу фоновой музыки. Было бы здорово получить обратную связь по факту проигрывания. Соответственно из mdm и управлять музыкой. Отходя немного от темы, имея к примеру в комнатах по датчику движения, можно было бы определять, где именно находится человек и сделать так, чтобы музыка следовала за ним из комнаты в комнату)

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

Re: Sound Direct Manager

Сообщение Bagir » Пт май 06, 2016 9:05 pm

Радио и музыку наверное буду делать одновременно. Там практически всё одинаковое. Только для музыки мы грузим из файла, а для радио (и открытых интернет ресурсов) это будет http или ftp ссылка.

От плейлиста в SDM я отказался. Изначально SDM был задуман просто как инструмент. И чем меньше в нём логики, тем лучше. Всем должна рулить Алиса. Делаю вариант с обратной связью. По завершению проигрывания SDM будет вызывать метод МД, указанный в ini файле.

Две колонки многоканальной карты в одну комнату. Вариант совсем не мёртвый, хоть мною и не поддерживаемый. Всё же я бы лучше использовал для этого отдельную звуковую карту с хорошими колонками. ну и какой нибудь плеер, которым можно управлять по LAN или через командную строку. Но я подумаю над этим. Пока точно скажу, что есть константы в параметрах, которые легко отправят звук в две тыловые, средние, фронтальные или центр/саб колонки. Сейчас уже это попробовал - работает. Можно добавить новые значения например в параметр -outputchannel:front, при этом звук уйдёт за обе фронтальные колонки. И так далее.

Стерео файлы для музыки. Да, как не печально, если бы не этот момент, то уже выложил бы бетку для тестов. Если с брякалками и пищалками вопрос решаемый, и их можно самому переконвертировать в mono формат, но с музыкой такого извращения мы делать не будем. Включать музыку сразу во все каналы можно, но не всегда нужно. Так что выбор канала всё равно необходим. Да и очень может быть, что одновременно кто то захочет случать разную музыку в разных комнатах.

Продолжаем бороться с трудностями. Результаты скоро будут.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: Sound Direct Manager

Сообщение Bagir » Сб май 07, 2016 12:26 am

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

Re: Sound Direct Manager

Сообщение redmax144 » Сб май 07, 2016 10:17 pm

Но всё же в одном из обновлений я добавлю возможность указывать вместо номера канала front, rear и т.д.
Огромное спасибо)
ингвар
Сообщения: 142
Зарегистрирован: Вт ноя 25, 2014 2:06 pm
Благодарил (а): 33 раза
Поблагодарили: 0

Re: Sound Direct Manager

Сообщение ингвар » Вс май 08, 2016 11:30 am

Всем привет, может вопрос не совсем по теме, а как реализовано подключения вообще, какой то усилитель на 6 каналов или отдельно, и как лучше проводить аудио кабелем или можно и витой парой ?
просто как то в самом начале пробовал потом из-за того что звук не шел на все каналы забил, щас смотрю что то изменилась и хочу заново попробовать
Windows 10 + Raspberry Pi3 + ESP8266
Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: Sound Direct Manager

Сообщение Bagir » Вс май 08, 2016 11:10 pm

redmax144 если такая возможность нужна, то я обязательно добавлю. Константу добавить не сложно. Делов на 10 минут. Но это нехорошо впишется в алгоритм очереди сообщений на разных каналах. Дело в том, что сообщение на два канала должно держать очередь сразу на обоих этих каналах. Сейчас это сделать никак. Надо переписывать весь этот кусок программы. Я давно хотел переделать эту часть. Просто сейчас занялся добавлением музыки. Кстати, завтра будет бетка поиграться.

ингвар, я думаю, что возможности программы, которые есть сейчас вас порадуют. Вывод звука для windows 7+ реализован на все каналы.
А вот по поводу железа я сам еще думаю. Сейчас у меня под столом просто свалены в кучу несколько разных усилителей от старых магнитофонов. Это конечно совершенно никуда не годится. Надо будет что то решать.
Звук от уселка у меня нормально добегает до динамика по телефонному проводу на 30 метров. Думаю, что можно намного дальше.
Надо будет поискать на китайском сайте небольшие усилители. Для 1-2 оповещателей на канал вполне должно хватить.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: Sound Direct Manager

Сообщение Bagir » Пн май 09, 2016 12:29 am

Попробуйте музыку. Тут только начало, но кое что уже работает.
Из МД выполните say("-outputchannel:1 -playmusic song.mp3");
где 1 это номер канала. Допускаются значения 1-8, разумеется если у вашей звуковой карты столько есть.
song.mp3 это музыка в формате mp3 в каталоге программы. Может быть стерео, но будет на лету переделан в моно по средствам ресурсов ЦП. Можно указать путь. Например d:\music\song.mp3

-outputchannel:1 -stopmusic
завершит музыку и освободит ресурсы.

завтра добавлю команды переключения каналов и обработку ошибок. Потом надо будет сделать приглушение звука музыки при появлении сообщений из очереди.
Вложения
SDM.zip
(144.11 КБ) 180 скачиваний
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
redmax144
Сообщения: 44
Зарегистрирован: Чт янв 28, 2016 8:18 pm
Благодарил (а): 13 раз
Поблагодарили: 5 раз

Re: Sound Direct Manager

Сообщение redmax144 » Вт май 10, 2016 10:43 am

Сегодня наконец добрался протестировать SDM :)
Результат меня очень порадовал! Здорово работает распределение музыки прямо в процессе проигрывания, если бы ещё узнать, какими командами (пока пробовал только кнопками 1,2,...) можно перенаправлять песню на разные каналы из Алисы, можно было бы реализовать тот функционал, что я описывал ранее: следование музыки за человеком по дому из одной комнаты в другую:) Попробовал отправить песню на воспроизведение во всех колонках
one.jpg
one.jpg (22.66 КБ) 11148 просмотров
Всё класс, только в самой программе нету кнопки отправки музыки сразу на все каналы. На каждый по отдельности есть, на фронт, тыл, бок есть, а сразу на все нету.
Да, и в этом случае, когда я не указываю конкретный канал и музыка играет везде, её уже нельзя послать на какой-то конкретный канал. Наверное, всё дело в том, что сразу на все каналы и не планировалось посылать;)
Единственное, что не работает, так это кнопка "Пауза", как я ни старался её нажимать, результата нету... Может баг закрался какой..
Ответить