Партнёрам: готовое радио для платформы с авторами · Мама Грана
Радиоинфраструктура для платформ с авторами

Радио построено.
Включите и проверьте.

Готовый эфир 24/7 с приёмкой треков, автопроверкой, ротацией и уведомлениями авторам. Разбор потока отдан машине, а финальное «в эфир» по каждому треку остаётся за вашей площадкой и занимает меньше минуты. Дальше ни одного обещания: всё либо работает прямо сейчас, либо помечено словом «план».

Живые данные с эфирного сервера · без слайдов и макетов.

Сейчас в эфире
эфир идёт круглосуточно: включите и услышите
▶ Включить эфир

Панель не нарисована: название и очередь приходят с эфирного сервера в момент, когда вы читаете. Нажмите кнопку и сверьте со звуком. Так устроена вся страница: не верьте, проверяйте.

24/7
эфир без оператора
<1
минуты человека
на трек
ваше
финальное решение
по каждому треку
2-3
недели: плеер
на вашей площадке

Что получает площадка

четыре результата, без обещаний метрик
Авторам
Треки звучат, а не лежат
У каждой заявки понятный путь в эфир и честные условия ротации. Автору отвечает система, а не тишина.
Команде
Поток разбирает конвейер
Отслушивание, проверка текста, громкость, уведомления: всё автоматом. Человеку остаётся решение, меньше минуты на трек.
Слушателям
Причина возвращаться
Эфир обновляется сам, круглые сутки: механика возврата на площадку, а не мёртвый раздел.
Владельцу
Контроль остаётся вашим
Редполитика, правила, бренд и финальное «в эфир» на вашей стороне. Снимается объём работы, не власть.

«Крутите всех» против «так слушать невозможно»

спор не о музыке, а о работе, которая никому не назначена

«Платформа для всех. Крутите всех, иначе зачем мы здесь.»

голос автора

«Включил, выключил через десять минут. Слушать это подряд невозможно.»

голос слушателя

За первым голосом стоит страх автора остаться неуслышанным. За вторым прячется усталость слушателя, на которого вывалили сырой поток. Примирить их может только фильтр: быстрый, прозрачный, одинаковый для всех. Фильтра нет, потому что за фильтром стоит работа.

Работа выглядит так: прослушать целиком, сверить текст (заимствования, запрещённое, спорные строки), принять решение и объяснить его автору. Минуты на трек, помноженные на ежедневный поток. Первую неделю человек слушает честно. Потом по диагонали. Потом решает по обложке. Он не ленив: у ручной проверки нет режима «долго и честно одновременно». Итог один из двух: выгоревший модератор или фильтр, который пропускает не слушая.

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

Что уже построено

восемь подсистем, каждая заменяет чью-то смену
Движок вещания
Эфир 24/7 без оператора
Liquidsoap 2.2.4, Icecast2, Angie. Переходы, джинглы, ночные режимы. Сторож проверяет поток каждые две минуты и поднимает его сам.
Заменяет ночного диджея. Вакансия не открывалась.
Планировщик ротации
Сетка считает себя сама
Лимиты: прокруты в сутки, срок, слот (утро, день, вечер, ночь). Равномерность повторов. Рейтинг слушателей меняет частоту показа; снимает трек только срок или лимит.
Заменяет музыкального редактора сетки.
Приёмка
Форма и Telegram-бот
Карантин, проверка типа файла по содержимому. Любой формат (WAV, FLAC, MP3) перегоняется в эфирный канон с выравниванием громкости к −16 LUFS. У веб-формы потолок: 30 заявок в сутки, антиспам, настраивается.
Заменяет администратора входящих и звукорежиссёра на уровнях.
Автопроверка
Карточка с вердиктом
Распознавание речи снимает текст, языковая модель проверяет заимствование и запрещённое, спорные строки по возможности с таймкодами.
Заменяет выпускающего редактора с наушниками.
Участие слушателей
Голос против накрутки
Пропуск и «на бис» с порогом от числа слушающих, оценки, возврат снятых треков голосованием, чат с ИИ-ведущей, викторина, достижения.
Заменяет ведущего интерактива.
Уведомления артистам
Письмо или Telegram
«Принят», условия ротации, выход в эфир: всё это уходит автору само, письмом (если оставлен email) или в Telegram (если трек подан через бота). Условия написаны словами, а не ссылкой на регламент.
Заменяет менеджера, который переписывается с сотней авторов.
Плеер и живые данные
Готовый мост к фронтенду
Бар-плеер подключается одним скриптом и живёт на каждой странице сайта; рядом отдельная страница-плеер. Открытые файлы состояния эфира: что играет, что дальше, сетка слота. Из этого сырья собрана страница показа.
Заменяет отдельный интеграционный проект.
Эксплуатация
Эфир не прощает выходных
Резервные копии, мониторинг, проверка перед выкатом, откат при провале. Скучная часть, без которой эфир живёт до первого сбоя.
Заменяет дежурного админа.

Единственный шаг, где нужен человек: открыть готовую карточку, подтвердить чек-лист и задать условия ротации. Меньше минуты на трек. Отслушивать не нужно: карточка уже говорит, куда смотреть.

Как эти подсистемы собраны и что у них внутри, разобрано на странице «Как устроено»: стек, путь трека, цифры.

Что нельзя заказать по ТЗ

четыре решения, которые появляются только после запуска

Код этих подсистем команда напишет. Вопрос в другом: сколько итераций живого эфира уйдёт, чтобы написать их правильно. Четыре примера из практики. Решения названы, подробности на скоупинге.

Громкость

Казалось: авторы пришлют нормальные файлы.

Оказалось: громкость нельзя доверять авторам. Один трек рвёт динамики, следующий не слышно, слушатель тянется к регулятору и закрывает вкладку. Теперь каждый принятый трек выравнивается к −16 LUFS (эфирный стандарт EBU R128): и lossless-исходники, и готовые MP3. Сначала я MP3 не пережимал, берёг качество, но замер показал разброс библиотеки почти в 10 LU: ровная громкость для слушателя важнее теоретических потерь пережатия, тем более что финальное качество всё равно задаёт эфирный поток.

Распознавание

Казалось: сняли текст, дальше дело техники.

Оказалось: на песнях распознавание врёт, причём уверенно. Поэтому текст снимают два движка: один лучше слышит песни, второй даёт разметку по времени. Языковая модель проверяет уже устойчивый текст, а спорные строки привязываются к секундам, когда разметка есть. Ловля вранья распознавания: отдельный контур, оплаченный живыми заявками.

Ротация

Казалось: не нравится слушателям, снимай трек.

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

Голосование

Казалось: кнопки «скип» и «на бис», что тут строить.

Оказалось: без порога один вечерний слушатель становится программным директором станции. У меня порог считается от числа слушающих прямо сейчас, а накрутку гасит отдельный контур. Какой именно, расскажу на скоупинге.

Конвейер приёмки. Единственный ручной шаг: «решение · 1 мин» (выделен жёлтым).

Код пишется за месяцы. Эти четыре решения кодом не пишутся: их выдаёт только живой эфир. Этот счёт уже оплачен.

Не верьте на слово

числа называю первыми, сырые данные отдаю сам

Обычно на этом месте рисуют графики роста. Я вместо этого называю свои числа первыми: в эфире 47 треков, в реестре 48, слушателей мало. Охват я не продаю: он в этой связке ваш, сотня с лишним активных авторов и их аудитория. Я приношу машину, и её можно пощупать. Конвейеру приёмки всё равно, сколько человек слушает эфир: десять или десять тысяч. Ёмкость раздачи потока под ваш масштаб: понятная отдельная строка плана, как и потолок приёмки.

Сырые данные эфира · те же файлы читает эта страница
radiograna.com/nowplaying_ext.json что звучит сейчас и сколько длится radiograna.com/upnext.json очередь, собранная планировщиком radiograna.com/roster.json сетка текущего слота: рейтинги, отдых fetch('https://radiograna.com/nowplaying_ext.json') .then(r => r.json()).then(console.log)

Обновите любой из файлов через минуту: данные изменятся. Витрину так не подделаешь.

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

Что такое «Мама Грана» и зачем эфиру глубина

моя редполитика, чтобы вы понимали, кого зовёте в партнёры

«Мама Грана» это авторский музыкальный проект: человеческий текст, машинный голос, русская душа. Я открыто говорю, что музыка сделана с ИИ, и строю вокруг неё радио, каким его понимаю: эфир со смыслом, а не витрину хитов.

Глубина в моём понимании это трек, который живёт дольше первого прослушивания: второй слой в тексте, настроение, которое не продаётся плейлистам, тема, которой не место в чартах. Коммерческая ротация так не отбирает: она смотрит на удержание первых тридцати секунд. Моя смотрит на то, что остаётся после последней.

Поэтому в мою волну будет попадать то, что не популярно в коммерции, и это осознанная редполитика, а не сбой отбора. По моей оценке, таких авторов на любой площадке 5-10%: те, кому нужна своя волна, а не место в общем чарте. Больших денег на них не построить; зато на них держатся лицо площадки и та аудитория, которая приходит слушать, а не листать. Большая волна при этом остаётся вашей и живёт по вашим правилам. Глубина: моя половина разделения труда.

Две волны: строка, которой не будет в чужой смете

направление развития после базового запуска

Спор из начала страницы не выигрывается. Он разводится по двум волнам.

Большая волна: ваша. план В неё выходит всё, что прошло приёмку. Имя волны и редполитику задаёте вы. Автор подал трек, получил вердикт, вышел в эфир: обещание «крутим всех» выполняется буквально.

Тихая волна: моя. живое Кураторская, медленная, с воздухом вокруг каждого трека. Она уже звучит: это сегодняшний эфир «Мамы Граны».

Между волнами машина подсказок, и у неё одно направление: вверх. план По реакции слушателей большой волны она предлагает куратору поднять трек в тихую. Только предлагает. Снять, запретить, не пустить она не может: таких прав в конструкции нет. Шаг ноль определён заранее: машина работает вслепую, её подсказки ложатся рядом с решениями человека, и я сверяю, где она попала. Пока не попадает, она молчит.

Статус без прикрас: разведение на две волны пока план, а не готовая функция. Второй эфирный контур я поднимал параллельно живому, но только в тесте: долгих недель под боевой нагрузкой за ним пока нет. Механика целиком, включая ответ на вопрос «почему никому не обидно», расписана на странице «Две волны».

Плеер, приёмку и ротацию можно выписать в ТЗ и заказать. Снятый управленческий конфликт заказать нельзя: он нарабатывается только на живом эфире. Эта строка приходит в комплекте с движком.

Смета: соберите её сами

стройка по подсистемам в неделях, ставку подставьте свою

Всё описанное выше можно построить своими силами. Ниже трудоёмкость по подсистемам. Это не прогноз с потолка: эту стройку мы прошли, конвейер работает и проверяется со страницы. Рублей в таблице нет намеренно: умножьте недели на ставку вашего разработчика.

Про открытые компоненты, пока вы не спросили: Icecast и Liquidsoap ставятся за день, я ими и пользуюсь. Они дают поток, но не дают ни сетки, ни лимитов, ни голосования, ни выживания без оператора. 6-8 недель первой строки: путь от «поток играет» до «эфир живёт сам».

И про скорость, тоже первыми. Сам я прошёл этот путь заметно быстрее таблицы: строю с ИИ-ускорением и не скрываю этого, у меня и музыка так сделана. Ваша команда может ускориться так же. Только покупается здесь не код, а решения, проверенные живым потоком, и их ИИ не ускоряет: они выводятся только эфиром, сколько бы кода в час ни писал инструмент. Эксплуатация не сжимается вовсе: эфир идёт круглосуточно и после запуска. А готовое включается сегодня: любая стройка, классическая или ускоренная, начнёт отдавать через месяцы.

Оценка предполагает, что ваша команда пройдёт грабли быстрее меня. Часть граблей выше названа поимённо: распознавание галлюцинирует на песнях, нормализация ломает динамику, накрутка приходит раньше аудитории. Решения существуют, они внутри движка; в смете самостоятельной стройки каждое стоит отдельных недель. И вторая статья, которой в смете не видно: эксплуатация. Эфир идёт круглосуточно. Стройка кончается, а эксплуатация остаётся.

Построить
  • 25-36 недель классики; с ИИ-ускорением быстрее, но месяцы
  • грабли собираются заново, на вашей аудитории
  • эксплуатация 24/7 с первого дня и навсегда
  • ваши разработчики на месяцы сняты с вашего продукта
Взять готовое
  • конвейер работает, проверяется с этой страницы
  • грабли уже оплачены моим эфиром
  • эксплуатация остаётся на мне
  • охват ваш, машина моя

Три модели партнёрства

Модель А
Внедрение и сопровождение
Этап 1: плеер эфира на вашей площадке; объём известен уже сейчас, 2-3 недели работ. Этап 2: приёмка вашего потока и эфирные механики, объём фиксируем после недели скоупинга. Помесячно: эксплуатация, инциденты, развитие.
Модель Б
Лицензия на движок
Движок разворачивается в вашей инфраструктуре: код, документация, обучение вашей команды, поддержка на время внедрения. Дальше он живёт у вас и под вашим контролем.
Модель В
Низкий вход и доля
Входной платёж ниже, чем в модели А; дальше доля от монетизации эфирных механик. Риск делим: наша выручка растёт вместе с вашей.

Что предлагаю я: гибрид А и В. Внедрение и сопровождение по нижней планке: этап 1 внедрения 150-250 тыс. ₽, сопровождение 80-100 тыс. ₽ в месяц. Сверху доля 20-25% от монетизации эфирных механик; какие именно механики входят в базу расчёта, фиксируем на скоупинге, до договора. Так я делю риск и зарабатываю тогда, когда механики зарабатывают вам, а не только на чеке за работу.

Принцип цены один: цену этапа 2 называю после недели скоупинга по вашей документации, не раньше. Этап 1 посчитан: 150-250 тыс. ₽; точка внутри вилки зависит от вашей вёрстки и брендинга. Тон разговора о деньгах такой же, как у этой страницы: вот что это стоит и почему.

Дорожная карта

зависимости названы до подписи, а не после
Фаза 1 · Плеер-виджет на вашей площадке готов у нас

Пользователь слушает эфир, не уходя с вашей платформы. У меня плеер уже работает готовым модулем: один скрипт, и бар эфира живёт на каждой странице сайта. Внедрение сводится к адаптации под вашу вёрстку и бренд, а не к разработке с нуля.

оценка: 2-3 недели · 150-250 тыс. ₽ нужно: место в вёрстке
Фаза 2 · Приёмка вашего потока и большая волна план

Конвейер приёмки построен и работает у меня. Что мешает назвать срок сегодня: ваш API. Авторизация, хранение, платежи живут у вас, и оценивать чужую систему вслепую нечестно. Порядок фиксированный: неделя скоупинга по вашей документации, после неё цена.

оценка: после скоупинга упирается в ваш API
Фаза 3 · Тихая волна, подсказки, чарт план

Опирается на фазу 2: без потока заявок тихой волне нечего курировать. Запуск с шага ноль вслепую: сначала замер без подсказок, потом включение. Механика на странице «Две волны».

оценка: после фазы 2 нужен поток фазы 2

Про масштаб, отдельной строкой. Сегодня у веб-формы защитный потолок 30 заявок в сутки на весь сайт: антиспам, настраивается; у подачи через бота свои ограничения. При сотне с лишним активных авторов вы упрётесь в него быстро, и я говорю это до договора. Целевой уровень после масштабирования: 200-300 заявок в сутки. Это строка плана со своей оценкой на скоупинге, не текущий режим; конвейер столько выдержит, проверка параллелится, железо докупается под поток. Раньше упрётся другое, называю сразу: сутки эфира (при трёх прокрутах на трек в сетке живёт порядка 130 треков, дальше очередь на выход или вторая волна) и минуты вашего модератора (триста решений это до пяти часов в сутки, лечится сменами; обучение ваших людей входит в сопровождение). Фразы «само отмасштабируется» в этом плане нет и не будет.

Что если я пропаду. Модель Б существует ровно для этого: код и документация живут у вас. В моделях А и В условия передачи фиксируются договором до старта. И про ответственность за эфир: вердикт машины остаётся рекомендацией, финальное «в эфир» нажимает ваш человек. Решение всегда на вашей стороне.

Кто задаёт скорость: вы. Моя часть фазы 1 готова. Таймер фазы 2 стартует в день, когда открывается ваша документация. Тому, кто называет срок интеграции, не открыв её, не верьте. Мне тоже.

Проверьте смету за 20 минут

Показ вживую, экран в экран, ваш секундомер: тестовый трек проходит путь от заявки до карточки решения у вас на глазах.

  1. Подаёте тестовый трек как обычный автор: форма на сайте или Telegram-бот. Трек выбирайте сами: подойдёт и заявка любого вашего автора.
  2. Смотрите приёмку по шагам: карантин, проверка файла, эфирная громкость, снятый текст, проверка на заимствования и запрещённое.
  3. Система выдаёт карточку с вердиктом.
  4. Я подтверждаю чек-лист и задаю условия ротации. По секундомеру меньше минуты. Отслушивать трек мне не пришлось.

Фоном всё это время идёт эфир. Без оператора, как и остальные 24 часа. После показа предметный разговор о цене: этап 1 посчитан (150-250 тыс. ₽), остальное после недели скоупинга.

Отвечаю лично я, автор проекта. Дату и время выбираете вы.