Как очень хотелось всё сделать на WI-FI… Конечно, можно было бы начать эту статью с лирического отступления про «умные» дома будущего (или квартиры), в которых повсюду стоят миниатюрные (или не очень) звуковые колонки, услаждающие хозяев музыкой. Вероятно, в ближайшем будущем так оно и случится, когда каждый девайс у нас дома будет оснащен копеечным WI-FI адаптером. Но почему-то в настоящее время такие технические решения, связанные с беспроводной раздачей звука по WI-FI, могут стоить каких-то неразумных денег. Вот, например, мультирум-системы от фирмы «SONOS», где только одна! беспроводная WI-FI колонка, обойдётся покупателю в сумму свыше двадцати тысяч рублей.
Вообще, хорошая статья 2016 года про WI-FI раздачу аудио так и называется «Беспроводные аудиосистемы: криво, дорого, очень интересно» [1], где два последних слова заголовка и отражают надежду автора, что в будущем хоть что-нибудь, наконец-то, изменится в лучшую сторону. Так что, пока китайцы не завалят нас дешёвыми аудио колонками со своей знаменитой микросхемой ESP8266 (позволяющую наладить полноценный обмен данными по WI-FI c целевым устройством и которую энтузиасты пихают куда угодно вплоть до лампочек и кофеварок и ), нам остается лишь обращаться уже к проверенным временем техническим решениям. 1. Провода. (что как бы уже диссонирует с названием нашей статьи) 2. Блюпуп. 3. FM радио. Конкретно, в моем случае, мне хотелось слушать запускаемые на компьютере музыкальные композиции во всей квартире, да так чтобы звук шёл отовсюду откуда можно и нельзя. Для этой цели первоначально служили 12 активных колонок расставленных в прихотливом порядке на подоконниках, шкафах и на книжных полках под потолком. Также присутствовал телевизор ответственный за целую стену. Его звуковоспроизводящую систему тоже хотелось использовать параллельно, благо у меня был уже установлен беспроводной HDMI передатчик (включаешь кино на компьютере, а смотришь со звуком по телевизору и никаких тебе тормозных донглей или медиа-проигрывателей с вечно устаревшими видеоформатами). Итак часть 1. А может сделать всё просто?.. Первоначально я проложил много чего проводочками. В принципе, вдоль окон и на расстояние до 10 метров, все получилось довольно цивилизованно и незаметно, и как оказалось выход звуковой карты компьютера прекрасно тянет даже дюжину активных колонок включенных параллельно (два года уже, кстати, тянет).
Но вот с остальными стенами и дверными проёмами, да ещё и в других комнатах, всё уже было не таким безоблачным. Явно требовалось передать звук по воздуху. Да и телевизор тоже хотелось включить в общую сеть (зря, что ли, там японское качество пропадает?). Тогда я решил воспользоваться технологией Блюпуп… Но как говорится, всё уже давно
украдено придумано до нас. Небезызвестная фирма LOGITECH ещё в 2006 году выпустила так называемую Logitech Wireless Music System for PC с вполне вменяемой стоимостью от 75 долларов. Вы получали в руки Bluetooth передатчик сопряжённый с вашим компьютером, а уже он раздавал звук на такие же блюпуп приёмники в количестве до четырёх, что вполне подходило под мои запросы. Единственным крупным недостатком этого устройства было то, что его сняли с производства уже где-то лет пять, если не больше. В принципе, можно и сейчас приобрести этот девайс на eBay, если у вас есть желание. Но вот в России его уже днём с огнём не сыщешь. Я нашёл только один комплект в Москве. Но там был всего один приемник, когда мне требовалось, ну, хотя бы два. Поиски аналогичных устройств от других производителей тоже успеха не принесли, единственное, на что я постоянно натыкался, были или просто обычные Bluetooth колонки, либо ещё одно устройство от уже упомянутой фирмы, так называемый Bluetooth Audio Receiver (которое благо, пока еще не сняли с продажи). Вообще, это тот же Bluetooth приемник, к которому можно подключть активные колонки, но без возможности объединения в сеть, пока у вас нет передатчика. А у нас его нет. Или есть? Может всё-таки можно как-то раздать на несколько таких устройств звук непосредственно с нашего компьютера, который и будет Bluetooth передатчиком? Я попытался попробовать. В наличие были: Bluetooth колонка, Bluetooth наушники и уже вышеупомянутый Bluetooth Audio Receiver (он ещё может называться Logitech BT Adapter Stereo), с подключенными к нему обычными активными колонками. Само подключение к списку устройств воспроизведения на компьютере (здесь и далее по умолчанию будет идти речь про семейство Windows) было тривиальным (стандартное для всех блюпуп устройств) и отдельного рассмотрения не заслуживает. Получается в итоге, что-то похожее на следующую картинку. Теперь можно попробовать прослушать все подключенные нами аудиоустройства. Как нетрудно выяснить в итоге, мы можем слушать только одно устройство, а именно то, на котором стоит зелёная галочка (что означает устройство по умолчанию). Остальные аудиоустройства молчат, как рыбы, пока не получат вожделенную галочку. С одной стороны это понятно, а с другой немножко удивительно, если мы проведем простой эксперимент. Пусть, пока по умолчанию работает звуковой выход Real High Definition Audio. Это обычный линейный выход звуковой карты компьютера. Присоединив к нему обычные проводные наушники, мы в этом непосредственно убедимся. Они и воспроизводят в данный момент звук. Но вот, если мы кликнем правой кнопкой мыши по молчащим пока беспроводным наушникам, (в моем случае это MDR-ZX330BT Hands-Free), и выберем свойство «Дополнительно», а в нем «Проверка», то мы услышим, как в динамиках наушников поочерёдно блямкнет. То есть, они нормально подключены, могут транслировать звук (проверочный), но вот музыку, как работающие сейчас проводные, шиш с маслом. То есть теоретически Windows может распихивать звук на все устройства одновременно (с учетом, конечно, производительности компьютера), но делать этого не хочет. Вы можете выбрать только что-то одно (на самом деле два). Единственный возможный трюк прослушать одновременно два аудиоустройства в Windows состоит в использовании штатного стереомикшера. Одним из устройств должен быть линейный аудиовыход компьютера (тот самый к которому вы подключаете проводные наушники и колонки). У меня он обозначен как Real High Definition Audio. Он должен быть в состоянии «Устройство по умолчанию». Теперь выберем второе аудиоустройство. Переходим с вкладки «Воспроизведение» на «Запись», «Стереомикшер», «Свойства», «Прослушать». В раскрывающемся списке выбираем нужное нам аудиоустройство Я выбрал имеющийся у меня Logitech BT Adapter Stereo. Теперь можно запускать музыку одновременно на эти два аудиоустройства. И они действительно будут проигрываться одновременно. Правда, у этой схемы есть два недостатка. Первый — ограничение в два устройства ещё можно пережить. Второй недостаток, перечёркивающий всю схему целиком — это то, что звук звучит рассинхронизировано. Музыка по блюпуп каналу (как впрочем и по телевизионному HDMI), ОТСТАЁТ от музыки проигрывающейся через линейный аудиовыход. Разница, примерно 0,2-0,3 секунды, но из-за этого слушать 99% саундтреков просто невозможно, потому что в в итоге вы слышите звуковую кашу. В редких случаях (звуки там природы или колокольчики всякие), такая рассинхронизация даже по своему забавна, создается этакий эффект глубины и присутствия. Но просто музыку, тем более песни, слушать просто невыносимо. Вероятно, проблема здесь в буферизации цифровых данных для беспроводной передачи, из-за которой и происходит запаздывание сигнала. Но это в итоге рушит всё. Если бы, можно было ещё как-то настроить задержку сигнала для линейного аудиовыхода, то ситуацию с рассинхронизацией можно было исправить, настроив, например, вручную длительность этой задержки. Но к сожалению штатные средства Windows такой возможности вроде как не представляют. Казалось бы, тогда можно не использовать стандартный аудиовыход, а взять к примеру, по умолчанию одно Bluetooth устройство, а второе пропустить через вышеупомянутый стереомикшер Windows. Тогда задержки в буферизации будут одинаковые, рассинхронизации не будет и два одновременно играющих устройства мы всё же получим. Но опять-таки, к сожалению, у нас ничего не получится, поскольку эта схема со стереомикшером работает только в том случае, если одним из её участников и является линейный аудиовыход. Выходит прямо как по книжке «Трое в лодке, не считая собаки» с одним из её персонажей: «Потом Гаррис стал рассказывать нам истории о том, как он пересекал Ла-Манш в такой шторм, что пассажиров пришлось привязывать к койкам, и только два человека на борту – он сам и капитан корабля – устояли против морской болезни. Иногда теми, кто устоял против морской болезни, оказывались он сам и второй помощник, но неизменно это был он сам и кто-то другой. Если же это были не он сам плюс кто-то другой, то это был он один.» Как говорится, ничего не прибавить и не отнять. Линейный аудивыход и есть Гаррис. И все равно, после этого я не разочаровался. После этого я попытал счастья с FM передачей… Часть вторая. FM-трансмиттер. Помощь ультракоротких волн. После прочтения соответствующей статьи на Хабре [2], в моём воображении сразу возник план построениия радиосети, где в центре есть небольшой FM-передатчик, подключенный к аудиовыходу компьютера, а вокруг него по всей квартире соответственно располагается с пяток FM-приёмников, с выхода которых вещают уже обычные активные колонки. Реализовать идею оказалось несложно. Был куплен за 500 рублей автомобильный FM-трансмиттер, с линейным входом; в документации он проходит как вход AUX (кстати, не во всех трансмиттерах он имеется! USB входы, чтение карт памяти есть у всех, а вот простейшего линейного входа у половины этих устройств уже нет!). Пришлось, правда, немного его доработать, поскольку двенадцативольтовое питание вне автомобиля редкость. Поэтому я подключил к трансмиттеру USB шнур, с которого взял провода пятивольтового питания и припаял их ко входу стабилизатора напряжения 3.3 вольт уже внутри самого трансмиттера (там на печатной плате всё обозначено, ошибиться сложно). Аудиовыход компьютера я подключил к AUX входу трансмиттера и при включении тот начал стабильно выдавать в эфир радиоволны на заданной по умолчанию частоте (её значение потом при желании можно настроить кнопочками). Соответственно для приёмной части был приобретён вот такой FM-приёмник: Приятной особеннностью этого девайса оказалось наличие разъёма-мамы для наушников, куда прекрасно зашел разьём-папа от активных колонок. Если настроить приёмник на нужную частоту, а настраивается он тоже очень удобно кнопками, а не как по старинке верньером или колёсиком, то вы услышите, как раз то, что передает ваш FM-трансмиттер — ЭТОТ прекрасный тёплый радиозвук. Сразу вспоминается детство, когда среди треска и свиста вы вылавливаете запрещённые песни с BBC. Это не какое-то там холодное чистое компьютерное звучание! Короче говоря, как ни менял я частоты на трансмиттере и соответственно на приёмнике, нормального чистого звучания добиться мне так и не удалось. Собственно, когда играет сама музыка, то помехи ещё не сильно слышны, но стоит только случиться паузе и вы услышите все возможные турбуленции радиоэфира в радиусе десяти километров. Я уже не говорю о том случае, когда вы НЕ слушаете музыку, а просто допустим, сидите работаете за компьютером; но и тогда вы тоже слышите сплошной треск и переговоры полиции — приёмник-то работает, что-то ловит. Поэтому от планов передачи звук по FM-каналам тоже пришлось отказаться. Часть 3. Всё есть программа… Вначале я-то искал программы микшеры. Меня не оставляла надежда каким-нибудь программным способом организовать задержку сигнала на аудиовыходе компьютера, чтобы прослушивать одновременно хотя бы два аудиоустройства без рассинхронизации. А цифровые микшеры, по идее, должны делать такие вещи. Но как оказалось, в основном эти программы умеют сводить звуковые дорожки из разных источников в одну финальную, а вот разводить из одной на разные устройства воспроизведения они уже как-то не очень, то есть, это точно не их основная функция. И даже если эта функция существует, то она погребена где-то глубоко в недрах настроек, откуда ее еще надо выкопать. К тому же надо ухитриться как-то интегрировать эти микшеры в аудиопоток того же браузера, музыку с которого, вы, к примеру, слушаете. Но перебирая все эти микшеры и аудиоредакторы я накнулся на интересную программу Virtual Audio Cable, с помощью которой я и решил в итоге все свои задачи. Цитата:
Программа создает в системе несколько аудиоустройств, которые называются «виртуальные кабели», каждое из которых содержит входное и выходное устройство для подачи звука. Любое приложение может отправлять свой аудиопоток на «выходную» часть кабеля, в то время как любое другое приложение может получать звук из «входной» части этого виртуального кабеля. Передача происходит полностью в цифровом виде, за счет этого качество звука не снижается.
Программа вроде как изначально платная, но найти бесплатный ее вариант вам тоже никакого труда не составит. И как только вы сделали устраивающий вас выбор, вам остается лишь её запустить и применить к нашим подключенным аудиоустройствам. В моем случае это были: телевизор «SHARP» подсоединённый к компьютеру через беспроводной HDMI канал. Две штуки Bluetooth Audio Receiver с присоединёнными к ним активными колонками. На одном адаптере четыре колонки, на втором, аж восемь.Bluetooth наушники «SONY MDR-ZX330BTBluetooth колонка BoomBot 2 Вот теперь мы и попробуем заставить функционировать все эти устройства параллельно и без заметных слуху задержек. Проверяем для начала в списке оборудования, что все эти девайсы уже подключены и готовы к работе (это важно, подключение на лету, чревато глюками). Забегая вперёд, скажу, единственное, чем мы не будем пользоваться — это именно линейным аудиовыходом компьютера, поскольку, он как тот герой из книжки вечно тянет одеяло на себя (да-да, Гаррис и этим тоже отличался). Чтобы его полностью нейтрализовать, втыкаем в него самые дешёвые проводные наушники, типа таких: Ставим Real High Definition Audio (линейный выход) в списке устройств, как устройство по умолчанию, устанавливаем в „Стереомикшере“ (см. выше) воспроизведение с него же, закидываем наушники за системный блок и забываем про него теперь уже навсегда. Теперь же установим программу Virtual Audio Cable. В папке самой программы и подпапке x64 (для тех у кого Windows 64-разрядная)находятся два нужных нам для исполнения файла: vcctlpan.exe и audiorepeater.exe (которую в дальнейшем будем просто называть „аудиорепитер“). Запускаем сначала первую: В ней мы фактически устанавливаем количество виртуальных кабелей — один, и источники сигнала „Line“. Программу закрываем, больше она нам не потребуется. Запускаем теперь браузер, а в нём какую-нибудь композицию Youtube. Если всё в порядке, то мы услышим еле слышный звук откуда-то из-за системного блока. Это заработали проводные наушники. А вот со второго файла „audiorepeater.exe“ делаем ярлык прямо на рабочий стол, он нам будет требоваться регулярно. Теперь открываем его в первый раз и меняем в нём две строчки: из выпадающего меню „Wave in“ выбираем „Стереомикшер“, так как мы провели именно через него аудио канал, а из выпадающего меню „Wave out“ выбираем телевизор и жмем „Start“. Телевизор должен заголосить. Как и раньше звук с него будет отставать от проводных наушников, но нам уже будет всё равно, мы их просто не услышим. Вообще, как оказалось, строчку „Wave“ in можно не менять, а оставить исходное „Переназначение звуковых устр.“. Вроде как программа сама понимает, где нужный вход по умолчанию. Поэтому мы в дальнейшем эту строчку даже и не трогаем. Экономим силы. Теперь запускаем новый экземпляр аудиорепитера. В нём выбираем первый по счёту Bluetooth Audio Receiver (он немного отличается от второго в названии) и жмем „Start“. Начинают голосить колонки подключенные к этому приёмнику. Тоже самое делаем со вторым Bluetooth приёмником. Теперь голосят колонки подключенные к нему. Теперь принимаемся за беспроводную колонку BoomBot 2. И последний штрих — беспроводные наушники MDR-ZX330BT. Играют? Обратите внимание, что из-за примерно одинаковых задержек буферизации, рассинхронизации звука не ощущается (кстати, её теперь можно подстроить, меняя значение в поле „Total buffer“). Качество звука? Если честно, я не аудиофил, меня вполне устраивает. Хотя конечно, профессионалы в этой области изругают меня матом и за блюпуп передачу и за компьютерные колонки. Что касается дальности связи, в пределах одного помещения сигнал проходит устойчиво на расстоянии в десять метров (больше не мерил, квартира кончилась) и успешно преодолевает одну межкомнатную перегородку. Хотелось бы конечно, использовать и линейный аудиовыход, раз уж он имеется. Но опять возникает проблема рассинхронизации. Казалось бы, сигнал на него тоже можно пропустить через аудиорепитер и настроить задержку, но увы, он всё равно будет проигрываться параллельно с самим аудиовыходом. То есть, он почему-то всегда присутствует и в виртуальном кабеле и в настоящем. Может у кого-то и получится его победить, но у меня это не вышло. Теперь о некоторых тонкостях. Не все беспроводные устройств включены по умолчанию, например телевизор или наушники. Поэтому Windows при включении компьютера, назначает устройством по умолчанию какой-нибудь „живой“ на этот момент девайс. Вот поэтому мы и используем в этом качестве те самые проводные наушники, чтобы у нас гарантированно было всегда одно и тоже устройство для воспроизведения по умолчанию (а так как они всегда включаются одновременно с компьютером, то система и находит их первыми). Соответственно в стереомикшере сигнал тоже воспроизводится через них, но даже, если там идут наложения звука, нас это уже не волнует (нам их не слышно). А вот если бы их не было, то Windows при запуске, назначило бы устройством по умолчанию какое-нибудь включенное на данный момент удалённое устройство, да еще бы и продублировало его через стереомикшер. Можно, конечно, каждый раз проверять список устройств при запуске, но мне показалось удобным поставить „заглушку“ в виде проводных наушников и забыть про эти нюансы. Кстати, сам стереомикшер отключать нельзя, без него ничего не работает. А теперь о ложках дегтя в нашей бочке мёда:1. Количество подключенных через программу Bluetooth устройств нельзя довести до теоретического предела ( 71 штука вроде?). В реальности у меня абсолютно стабильно работают максимум три таких устройства одновременно. Ну и плюс к ним телевизор по HDMI каналу (такое впечатление, что ему абсолютно пофиг на количество соседей; корректно работает всегда). Уже четыре блюпупа начинают рано или поздно заикаться, а буферы „VirtualCable“ переполняться. Есть версия, что может быть это Bluetooth адаптер и звуковая карта самого компьютера уже не успевают раздавать свои аудиопотоки.2. Не все Bluetooth устройства совместимы между собой. Когда я попытался подключить дополнительную беспроводную колонку „Defender“ она вдруг начала конфликтовать с БумБотом. В общем, они пытались петь одновременно, но получалось у них это только поочерёдно. Причем с другими устройствами они не конфликтовали. Только с друг другом. Этот вопрос тоже требует своего изучения. В итоге все-таки я получил, что хотел, даже в таком ограниченном количественно варианте. Можно слушать пение птичек в лесу и в гостиной и в спальне или смотреть, как играет пламя в камине (в телевизоре, конечно же)и трещат дрова, а за окном завывает зимний ветер или льет дождь или плещут волны. На Youtube полным-полно этих многочасовых видео. Можно расшарить экран на компьютере, детям пустить по телевизору мультики дополнительным экраном и звуком, а самому работать и слушать музыку на самом компе через беспроводные наушники (или телеконференцию на нём смотреть), в то время, как жена в спальне читает книжку и слушает пение птичек в лесу через беспроводные колонки. Ну и так далее. Буду рад, если моя статья окажется кому-нибудь полезной. [1] Беспроводные аудиосистемы: криво, дорого, очень интересно [2] Радионаушники из FM-трансмиттера
- Цена: $34.68 (брал за $ 25.66)
Назначение этого аппарата — транслировать аудиосигнал по WiFi с помощью протоколов Airplay (Apple) или DLNA на усилитель или AV-ресивер. Устройство имеет два выхода — обычный выход на наушники и оптический выход. С помощью данного устройства можно превратить старый AV ресивер или стерео усилитель в устройство воспроизведения цифровых аудиозаписей с мобильных устройств или компьютера. Или установить в автомобиль и стримить музыку с телефона. В отличие от Bluetooth адаптеров протоколы Airplay или DLNA могут обеспечить передачу сигнала по цифре без сжатия и ухудшения качества. Оптический выход позволяет подключить устройство напрямую к AV ресиверу или к высококачественному ЦАПу. Небольшие габариты позволяют встроить это устройство в различную аппаратуру (магнитолы, ресиверы, усилители и проч). Сейчас цена аппарата около 35$. На али можно найти за 23$. Устройство пришло в пакетике. Комплектация — кабель USB-micro USB для питания, стерео кабель джек 3.5 — RCA, инструкции на русском и китайском языках. Блока питания нет, корпус глянцевый легко царапается. Размер корпуса 8*8*3 см. На корпусе написаны настройки сети.Плата размером с корпус 8*8.
Коробочка разбирается легко. Места свободного внутри много — можно аккумулятор разместить (если в машину ставить). Смотрим на микросхемы w9425g6jh — память 32 мб, MIPS-процессор WiSOC Atheros ar9331 и звуковой чип Wolfson wm8918G. Пайка аккуратная. Подключаем. Время загрузки — около 10 сек. Появляется новая Wi-Fi сеть. Подключаемся. Можно зайти в настройки по адресу 192.168.222.254/. Настроек почти нету. Можно подключиться к домашней Wi-Fi сети, если на нее не установлено шифрование. Так как домашние сети всегда с шифрованием, то функция бесполезная. Это очень плохо. Техники Apple у меня нет. Airplay проверить не могу. На Android подключаемся с телефона и стримим музыку с помощью программ BubbleUPnP, iMediaShare, QQ music. Для подключения через Windows использовал отдельный Wi-Fi адаптер (чтобы от домашней сети не отключаться) с внешней антенной. Для Windows есть несколько программ для стриминга через DLNA. Я тестировал на плеере foobar2000 с плагином UPnP/DLNA Renderer, Server, Control Point 0.99.49. Плагин полностью реализует все функции UPnP/DLNA. Так же возможен стриминг музыки, которая сейчас играет в плеере. Стримил без сжатия и со сжатием в mp3. Играет и по оптике и через аудиовыход оба формата. Качество аудиовыхода удовлетворительное. Громкость меняется софтово только на аналоговом выходе. На оптике нет. Замерять Wi-Fi смысла нет — нужна стабильность сети, чтобы сбоев звука не было. Качество приема Wi-Fi устройства через бетонную стену между устройствами 7 метров — сбоев почти нету если в несжатом формате музыку передавать. Через две стены — затыки. Если стримить в mp3 — затыков меньше. Видимо аудиобуфер небольшой у устройства. Где-то в инете видел инструкцию по взлому устройства, но где не помню. Потребление устройства — до 0.2 А. Плюсы 1. Работает 2. Простое подключение, малые размеры 3. Выход по оптике Минусы 1. Нет возможности подключится к сетям с шифрованием — ВОЗМОЖНО ЭТО! см апдейт. 2. Неизвестно, кто разработал устройство и где обновление прошивки брать — см ссылки ниже может и будут обновления. 3. Непонятно зачем нужен полный USB. Update OEM Производитель:http://www.longsys.com/en/products/detail.asp?id=253 Один из продавцов — 70 E!!!!:http://www.crystalaudiovideo.com/ProductDetails/WiDAC.aspx Форум:https://forum.openwrt.org/viewtopic.php?id=50512 UPPDATE Можно подключаться к закрытым сетям. Используйте для настроек девайса Internet Explore. В Firefox окно ввода пароля сети не открывается. Возможно нужно будет обновить прошивку. news.detail : ajax-tape !!! —> ТехнологииWi-FiBluetoothБеспроводной звук —>Ссылки по теме:
Миссия «Dawn»: пролить свет на астероиды
Японский стартап планирует протестировать новый тип аккумуляторов на Луне
Сюрприз: зонд OSIRIS-REx обнаружил, что на его целевом астероиде есть гейзер
Используемые источники:
- https://habr.com/post/403685/
- https://mysku.ru/blog/aliexpress/30027.html
- https://m.iguides.ru/main/other/pochemu_my_ne_ispolzuem_wi_fi_dlya_peredachi_besprovodnogo_zvuka/