<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>димачка пишет</title>
    <link>https://blog.nosooqua.dev/</link>
    <description></description>
    <pubDate>Wed, 08 Jul 2026 01:00:03 +0000</pubDate>
    <item>
      <title>AirPlay и Spotify на Яндекс Станции. что? да</title>
      <link>https://blog.nosooqua.dev/airplay-i-spotify-na-yandex-stantsii</link>
      <description>&lt;![CDATA[иногда мне кажется, что в жизни я занимаюсь чем-то не тем. поэтому сегодня вы узнаете, как завести airplay или спотифай на вашей фсбшной колоночке.&#xA;&#xA;---&#xA;&#xA;зачем, если есть блютуз?&#xA;&#xA;честно? главный аргумент — блютуз меня бесит. и тебя, скорее всего, блютуз полностью устроит — пользуйся, я не осуждаю. но если ты всё же дочитал, вот по делу:&#xA;&#xA;телефон перестаёт быть проводом. по блютузу твой телефон — это и есть звуковая труба: любой дзиньк уведомления, звонок, звук из ютуба и рандомной игры летит прямо в колонку. отошёл в другую комнату — музыка отвалилась. по airplay колонка сама тянет поток по wi-fi, а телефон свободен: можно принять звонок, уйти на кухню, кинуть телефон на зарядку — играет дальше.&#xA;дальнобойность. wi-fi добивает по всей квартире, блютуз — метров 10 и то пока стенка не встанет.&#xA;мультирум. можно лить на несколько колонок сразу и группировать их. блютуз — это всегда один-на-один. правда, с music assistant никто не гарантирует качественного мультирума из-за буферизации потока, об этом в конце этой простыни.&#xA;никаких танцев с сопряжением. любое устройство в сети видит колонку, не надо каждый раз коннектиться и выяснять, к чьему телефону она сейчас прицепилась.&#xA;качество. wi-fi по полосе несравнимо шире. блютуз режет звук кодеком (sbc/aac, лосси, ещё и пережимает). airplay несёт alac вплоть до 16 бит / 44.1 — то есть без второго пережатия поверх и так не lossless-источника.&#xA;&#xA;а спотифай — это вообще другое: подрубаешь колоночку прямо из приложения (примерно как это сделано в приложении яндекс музыки) и рулишь всей своей библиотекой спотифай прямо на станции.&#xA;&#xA;---&#xA;&#xA;что понадобится&#xA;&#xA;домашний сервер, например на убунте. на нём поднимаем Music Assistant с кастомной интеграцией ma-provider-yandex-station — она пока не в официальном репозитории MA (когда-нибудь будет, автор уже льёт PR-ы в апстрим, но пока копируем исходнички ручками).&#xA;&#xA;провайдер общается со станцией по локальному протоколу Glagol (тот самый недокументированный вебсокет в яндекс станции), даёт полноценное управление — play/pause/next/перемотка/громкость — и сам находит колонки в сети по mDNS. это не блютуз и не проброс через облако, всё локально.&#xA;&#xA;---&#xA;&#xA;шаг 1. ставим Music Assistant с провайдером станции&#xA;&#xA;клонируй репозиторий провайдера, там лежит docker-compose.dev.yml. поднимай его:&#xA;&#xA;docker compose -f docker-compose.dev.yml up -d&#xA;&#xA;либо поправь compose под себя. например, в нём по умолчанию nightly-билд MA — можешь заменить на стабильный:&#xA;&#xA;image: ghcr.io/music-assistant/server:latest&#xA;&#xA;вся магия внутри: compose монтирует исходники провайдера в контейнер, а скриптик на старте линкует их в нужную папку MA и доставляет зависимости.&#xA;&#xA;и не забудь:&#xA;networkmode: host — обязателен, иначе не будет ни обнаружения колонок, ни звука (в dev-compose он обычно уже прописан, но проверь).&#xA;сервер, станция и телефон — в одной плоской сети без vlan (mDNS через них не ходит). хотя, если ты знаешь что такое vlan, то ты это понимаешь.&#xA;&#xA;---&#xA;&#xA;шаг 2. добавляем станцию как плеер&#xA;&#xA;заходим на http://вашсервер:8095, регистрируемся.&#xA;&#xA;идём в Settings → Player Providers → Add a player provider → Yandex Station. логин через девайс-код или qr — мне было удобнее через qr. под капотом провайдер получит долгоживущий токен, им он и авторизуется на колонке.&#xA;&#xA;прожимаем снизу сохранить.&#xA;&#xA;всё — теперь ваши фиолетовые товарищи майоры добавлены как колонки в Music Assistant, и на них можно транслировать любую музыку из MA.&#xA;&#xA;---&#xA;&#xA;шаг 3. подрубаем AirPlay&#xA;&#xA;добавляем первый плагин: Plugins → Add a plugin → AirPlay Receiver.&#xA;&#xA;Connected Music Assistant Player — выбираем алисоньку из списка (это плеер, на который приёмник будет переливать звук).&#xA;AirPlay device name — так колонка будет называться в списке устройств.&#xA;&#xA;сохраняем. теперь можно транслировать звук с любого устройства из яблочной экосистемы.&#xA;&#xA;честно: плагин пока в раннем бете, добавлять его надо отдельно под каждый плеер, и иногда он капризничает. работает — да и ладно. иногда нестабильно, иногда не подключается. такова цена жизни в чужой закрытой экосистеме, которую мы любим.&#xA;&#xA;---&#xA;&#xA;шаг 4. Spotify Connect&#xA;&#xA;добавляется там же, в Plugins. думаю, не заблудитесь в трёх кнопках. так же выбираем алисоньку как connected player.&#xA;&#xA;что стоит знать заранее:&#xA;нужен Spotify Premium (плагин работает через librespot, а он с бесплатными аккаунтами не дружит).&#xA;команды из приложения долетают с задержкой 0.5–5 секунд — звук буферизуется и переливается на колонку, так что метадата иногда бежит впереди звука. это норма для такой схемы.&#xA;&#xA;---&#xA;&#xA;как это вообще работает (для любознательных)&#xA;&#xA;и airplay, и spotify connect тут — это плагины-приёмники. MA притворяется колонкой: телефон/приложение думают, что играют на «устройство MA», а Music Assistant буферизует входящий поток и переливает его на реальную станцию по Glagol.&#xA;&#xA;отсюда и плюсы, и минусы. плюс — станция становится универсальным выходом для чего угодно. минус — для самой колонки это просто внешний аудиопоток, поэтому родного визуализатора Алисы на экранчике и голосового управления очередью тут не будет, только звук и управление из приложения-источника. хочешь визуализацию — это уже нативное воспроизведение, только библиотека яндекс музыки.&#xA;&#xA;---&#xA;&#xA;вот таким пердолингом я и занимаюсь. но оно работает. звезду на репозиторий уже поставил, жду, когда провайдер добавят в официальный реестр — тогда весь этот кастомный образ можно будет выкинуть и жить на чистом MA.&#xA;&#xA;а чем вы занимаетесь в свободное время?]]&gt;</description>
      <content:encoded><![CDATA[<p>иногда мне кажется, что в жизни я занимаюсь чем-то не тем. поэтому сегодня вы узнаете, как завести airplay или спотифай на вашей фсбшной колоночке.</p>

<hr>

<p><strong>зачем, если есть блютуз?</strong></p>

<p>честно? главный аргумент — блютуз меня бесит. и тебя, скорее всего, блютуз полностью устроит — пользуйся, я не осуждаю. но если ты всё же дочитал, вот по делу:</p>
<ul><li><strong>телефон перестаёт быть проводом.</strong> по блютузу твой телефон — это и есть звуковая труба: любой дзиньк уведомления, звонок, звук из ютуба и рандомной игры летит прямо в колонку. отошёл в другую комнату — музыка отвалилась. по airplay колонка сама тянет поток по wi-fi, а телефон свободен: можно принять звонок, уйти на кухню, кинуть телефон на зарядку — играет дальше.</li>
<li><strong>дальнобойность.</strong> wi-fi добивает по всей квартире, блютуз — метров 10 и то пока стенка не встанет.</li>
<li><strong>мультирум.</strong> можно лить на несколько колонок сразу и группировать их. блютуз — это всегда один-на-один. правда, с music assistant никто не гарантирует качественного мультирума из-за буферизации потока, об этом в конце этой простыни.</li>
<li><strong>никаких танцев с сопряжением.</strong> любое устройство в сети видит колонку, не надо каждый раз коннектиться и выяснять, к чьему телефону она сейчас прицепилась.</li>
<li><strong>качество.</strong> wi-fi по полосе несравнимо шире. блютуз режет звук кодеком (sbc/aac, лосси, ещё и пережимает). airplay несёт alac вплоть до 16 бит / 44.1 — то есть без второго пережатия поверх и так не lossless-источника.</li></ul>

<p>а спотифай — это вообще другое: подрубаешь колоночку прямо из приложения (примерно как это сделано в приложении яндекс музыки) и рулишь всей своей библиотекой спотифай прямо на станции.</p>

<hr>

<p><strong>что понадобится</strong></p>

<p>домашний сервер, например на убунте. на нём поднимаем <strong>Music Assistant</strong> с кастомной интеграцией <strong>ma-provider-yandex-station</strong> — она пока не в официальном репозитории MA (когда-нибудь будет, автор уже льёт PR-ы в апстрим, но пока копируем исходнички ручками).</p>

<p>провайдер общается со станцией по локальному протоколу <strong>Glagol</strong> (тот самый недокументированный вебсокет в яндекс станции), даёт полноценное управление — play/pause/next/перемотка/громкость — и сам находит колонки в сети по mDNS. это не блютуз и не проброс через облако, всё локально.</p>

<hr>

<p><strong>шаг 1. ставим Music Assistant с провайдером станции</strong></p>

<p>клонируй <a href="https://github.com/trudenboy/ma-provider-yandex-station" rel="nofollow">репозиторий</a> провайдера, там лежит <code>docker-compose.dev.yml</code>. поднимай его:</p>

<pre><code>docker compose -f docker-compose.dev.yml up -d
</code></pre>

<p>либо поправь compose под себя. например, в нём по умолчанию nightly-билд MA — можешь заменить на стабильный:</p>

<pre><code>image: ghcr.io/music-assistant/server:latest
</code></pre>

<p>вся магия внутри: compose монтирует исходники провайдера в контейнер, а скриптик на старте линкует их в нужную папку MA и доставляет зависимости.</p>

<p>и не забудь:
– <code>network_mode: host</code> — обязателен, иначе не будет ни обнаружения колонок, ни звука (в dev-compose он обычно уже прописан, но проверь).
– сервер, станция и телефон — в одной плоской сети без vlan (mDNS через них не ходит). хотя, если ты знаешь что такое vlan, то ты это понимаешь.</p>

<hr>

<p><strong>шаг 2. добавляем станцию как плеер</strong></p>

<p>заходим на <code>http://&lt;ваш_сервер&gt;:8095</code>, регистрируемся.</p>

<p>идём в <strong>Settings → Player Providers → Add a player provider → Yandex Station</strong>. логин через девайс-код или qr — мне было удобнее через qr. под капотом провайдер получит долгоживущий токен, им он и авторизуется на колонке.</p>

<p>прожимаем снизу <strong>сохранить</strong>.</p>

<p>всё — теперь ваши фиолетовые товарищи майоры добавлены как колонки в Music Assistant, и на них можно транслировать любую музыку из MA.</p>

<hr>

<p><strong>шаг 3. подрубаем AirPlay</strong></p>

<p>добавляем первый плагин: <strong>Plugins → Add a plugin → AirPlay Receiver</strong>.</p>
<ul><li><strong>Connected Music Assistant Player</strong> — выбираем алисоньку из списка (это плеер, на который приёмник будет переливать звук).</li>
<li><strong>AirPlay device name</strong> — так колонка будет называться в списке устройств.</li></ul>

<p>сохраняем. теперь можно транслировать звук с любого устройства из яблочной экосистемы.</p>

<p>честно: плагин пока в раннем бете, добавлять его надо отдельно под каждый плеер, и иногда он капризничает. работает — да и ладно. иногда нестабильно, иногда не подключается. такова цена жизни в чужой закрытой экосистеме, которую мы любим.</p>

<hr>

<p><strong>шаг 4. Spotify Connect</strong></p>

<p>добавляется там же, в <strong>Plugins</strong>. думаю, не заблудитесь в трёх кнопках. так же выбираем алисоньку как connected player.</p>

<p>что стоит знать заранее:
– нужен <strong>Spotify Premium</strong> (плагин работает через librespot, а он с бесплатными аккаунтами не дружит).
– команды из приложения долетают с задержкой <strong>0.5–5 секунд</strong> — звук буферизуется и переливается на колонку, так что метадата иногда бежит впереди звука. это норма для такой схемы.</p>

<hr>

<p><strong>как это вообще работает (для любознательных)</strong></p>

<p>и airplay, и spotify connect тут — это плагины-<strong>приёмники</strong>. MA притворяется колонкой: телефон/приложение думают, что играют на «устройство MA», а Music Assistant буферизует входящий поток и переливает его на реальную станцию по Glagol.</p>

<p>отсюда и плюсы, и минусы. плюс — станция становится универсальным выходом для чего угодно. минус — для самой колонки это просто внешний аудиопоток, поэтому родного визуализатора Алисы на экранчике и голосового управления очередью тут не будет, только звук и управление из приложения-источника. хочешь визуализацию — это уже нативное воспроизведение, только библиотека яндекс музыки.</p>

<hr>

<p>вот таким пердолингом я и занимаюсь. но оно <strong>работает</strong>. звезду на репозиторий уже поставил, жду, когда провайдер добавят в официальный реестр — тогда весь этот кастомный образ можно будет выкинуть и жить на чистом MA.</p>

<p>а чем вы занимаетесь в свободное время?</p>
]]></content:encoded>
      <guid>https://blog.nosooqua.dev/airplay-i-spotify-na-yandex-stantsii</guid>
      <pubDate>Tue, 07 Jul 2026 23:06:26 +0000</pubDate>
    </item>
  </channel>
</rss>