Перейти к основному содержимому
megapromotingДавайте обсудим
Продукты Monitor Radio

Analiză audio & media Instrument specializat

Из часов аудио — фрагменты, которые вы можете снова найти.

Инструмент для захвата, транскрибации и организации радиорекламы. Группирует повторяющиеся фрагменты и позволяет просматривать их вместе с аудиоисточником.

  1. 1Captură audio
  2. 2Transcriere și grupare
  3. 3Revizuire fragmente
Schemă explicativă ·Monitor Radio

Monitor Radio

От информации к сделанному делу.

01

Capturează

Записывает настроенные потоки в пределах прав на использование.

02

Транскрибирует и группирует

Преобразует аудио в текст и предлагает группировку похожих фрагментов.

03

Позволяет проверку

Команда может прослушивать фрагменты повторно и экспортировать релевантную информацию.

Где это становится полезным.

Медийное исследование

Изучение сообщений и повторов в отслеживаемый период.

Поисковый архив

Поиск фрагментов без повторного прослушивания всего материала.

Анализ контента

Транскрипции и группировки, которые может исправить человек.

Автоматическое обнаружение и транскрибация могут ошибаться. Наличие захватов и покрытие проверяются для каждого источника.

Монитор Radio в деталях

Что вы можете делать с этим проектом.

Монитор Radio отвечает на пять вопросов о рекламе, услышанной по радио: с какой станции она была, во сколько именно началась, как долго длилась, что в ней было сказано и где находится аудиодоказательство для проверки. Основной интерфейс — операционный журнал рекламы, а не экран транскрипции.

Цепочка локальная и без обязательных ключей: `ffmpeg` захватывает поток, Whisper транскрибирует, детектор с прозрачным скорингом помечает сегменты, похожие на рекламу, а повторяющиеся рекламы группируются по текстовому отпечатку. Всё попадает в аудируемую SQLite, из которой можно вывести CSV и аудиофайл каждой рекламы.

Что нужно сказать перед любой демонстрацией: детекция не ловит всё. Собственное измерение на реальной базе данных даёт оценочный recall 30–50% от рекламы, которая действительно была в эфире, а причины известны и перечислены. Кто продаёт мониторинг радио как «ловим всё», либо не измерял, либо вам не говорит.

01

Одновременный захват, с устойчивой очередью

До 10 станций захватываются параллельно с помощью `ffmpeg`, в сегментах по 30 секунд, каждый из которых перед попаданием в очередь проверяется как корректный WAV. Очередь хранится в базе данных, с заимствованием на 300 секунд, сигналом жизни и максимум 3 попытками на задачу — если процесс падает, задачи восстанавливаются, а не теряются. Есть и непрерывный режим без пробелов, который режет поток прямо из `ffmpeg` и забирает его через отслеживание папки.

02

Транскрибация RO + RU

Два взаимозаменяемых движка: Whisper через собственный gateway (по умолчанию в конфигурации) или локальный `faster-whisper`, на CPU с квантизацией int8, модель `large-v3-turbo`, с фильтром VAD и поиском на луче 5. Язык определяется автоматически, что важно на молдавском рынке, где одна и та же станция чередует румынский и русский в течение одного часа.

03

Детектор с видимым скорингом

Каждый сегмент получает оценку от 0 до 1, рассчитанную по явным сигналам: коммерческие ключевые слова на румынском и русском, наличие номера телефона, сайта, цены или призыва к действию, с штрафом, когда текст выглядит как новость. Сегмент длительностью от 5 до 90 секунд получает небольшой бонус. Порог по умолчанию — 0,30, с расширением на соседние сегменты выше 0,20, чтобы реклама, разрезанная на две части, не потерялась. Причины оценки сохраняются рядом с оценкой.

04

Группировка повторяющихся реклам

Одна и та же реклама, выходящая десятки раз, группируется по текстовому отпечатку: транскрипция нормализуется, режется на перекрывающиеся окна по 5 слов, сохраняются первые 20 отсортированных и формируется короткое криптографическое резюме. Поверх этого есть и аудиоотпечаток через `chromaprint`, который группирует одну и ту же рекламу, выходящую на разных станциях, где транскрипции отличаются.

05

Каталог брендов

86 торговых марок из Молдовы в начальном каталоге — ритейл, банки, телеком, аптеки, авто, рестораны — плюс автоматическое обнаружение новых марок из транскрипций, с добавлением, удалением, импортом и экспортом через API.

06

Человеческая проверка и экспорт

Каждая реклама может быть помечена как подтвержденная, отклоненная или неясная прямо из интерфейса, с фильтром и сводкой по этим состояниям. Экспорт CSV учитывает текущий фильтр, а аудио каждой рекламы можно прослушать повторно в браузере на ее точном интервале.

07

Оповещение и наблюдаемость

Три триггера оповещения в Telegram: упавшая станция, задержка выше порога и появление отслеживаемого бренда. Поверх них — метрики Prometheus, глубокая проверка здоровья и endpoint доступности.

Данные и работа

Что входит в систему. Что нужно проверить.

Что фактически обнаруживается, а что нет
Хорошо обнаруживаются рекламы, которые сообщают что-то проверяемое: телефон, сайт, цену, призыв к действию. По конструкции пропускаются: имиджевые рекламы, которые представляют собой только бренд плюс слоган, спонсорства передач, перекрестное продвижение между станциями одной группы, социальные сообщения, спетые джинглы (Whisper транскрибирует их как поэзию или шум), рекламы короче 5 секунд и те, у которых транскрипция ухудшена слабым захватом.
Измеренная точность, на реальных данных
Собственный аудит от 25 мая 2026 года, на живой базе данных с 5018 захватами и 7428 сегментами, дал 111 реклам после расширения. Распределение оценок: 80 сегментов выше 0,50 (четко идентифицированные рекламы), 29 между 0,40 и 0,50, 193 между 0,30 и 0,40 — вручную проверенные как в большинстве своем пропущенные реальные рекламы — 278 между 0,20 и 0,30, 33 между 0,10 и 0,20 и 6815 ниже 0,10, то есть музыка. Оценка recall при пороге того времени, 0,40: 30–50%. Позднее порог был снижен до 0,30 именно на основе этого измерения, что увеличивает recall и увеличивает также число false-positive для проверки.
Почему это не полное измерение точности
Чтобы опубликовать цифру точности и recall в строгом смысле слова, понадобилось бы 60+ минут вручную размеченного аудио на станцию, сравненого с выходом системы. Исследование запланировано, не сделано. У нас есть распределение оценок на реальных данных плюс ручная проверка по выборкам — меньше, чем benchmark, больше, чем впечатление, и важно не путать эти два понятия.
Временное покрытие — реальное ограничение
В аудированной окне захваты покрывали три интервала из примерно 80 возможных часов — остальное, монитор был выключен. Именно это, а не детектор, является главной причиной того, что база содержала 111 реклам, а не тысячи. Полезный результат требует непрерывной работы на сервере, а не на ноутбуке. Деталь, зависящая от рынка, и верная: между 00:00 и 05:00 результат в виде нуля реклам — не ошибка: молдавские радиостанции в этот интервал дают музыку без рекламы.
Способность к транскрибации — узкое место
На Mac с Apple Silicon, на CPU, `large-v3-turbo` с одним worker’ом работает примерно вдвое медленнее реального времени: около 2 обработанных сегментов в минуту против 4, создаваемых 4 постами. Очередь заполняется, давление передаётся назад, и захват замедляется — правильное поведение, потому что мы не теряем аудио. Для 10 постов непрерывно нужен GPU, 2–4 worker’а или более длинные сегменты, по 60–120 секунд.
Что хранится и сколько
WAV-аудио на диске, с очисткой по умолчанию файлов старше 48 часов; транскрипции, сегменты, рекламные объявления и кластеры остаются в базе данных. То есть аудиодоказательство рекламы доступно два дня, если срок не изменён, а текст остаётся.
Права на записи — не установлены
В проекте нет ни одного документа о правах или лицензировании: единственное упоминание лицензии — `license = { text = "Private" }` в конфигурации пакета. Потоки в эталонной конфигурации — это публичные потоки прослушивания некоторых станций из Молдовы. Запись и хранение эфира для анализа — не то же самое, что его прослушивание, и тот, кто оплачивает мониторинг, должен иметь законное основание для захвата и хранения — для каждой станции. Это выясняется до первой установки, а не после; мы не можем передать право, которого у нас нет.

От исследования к внедрению

Как мы готовим проект с Monitor Radio.

01

1. Фиксируем станции и окно

Выбираются станции для отслеживания, проверяется каждый поток с включённым опросом (`probe-streams`), и задаётся мониторируемый временной интервал. Станция, которая не отвечает, остаётся отключённой в конфигурации до проверки, а не добавляется в надежде.

02

2. Уточняем основание для захвата и хранения

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

03

3. Размеряем hardware по числу станций

До 4 станций работает на CPU. С 4 и выше транскрибация становится узким местом: либо GPU, либо 2–4 worker’а, либо более длинные сегменты. Обратное давление спроектировано так, чтобы замедлять захват, а не терять аудио — но backlog на 30 минут означает оповещения с задержкой в 30 минут.

04

4. Калибруем порог с человеческой проверкой

Порог по умолчанию — 0,30. Ниже — больше пойманных реклам и больше ложноположительных, которые нужно отмечать; выше — наоборот. Калибровка выполняется по рекламам, подтверждённым и отклонённым вручную в первую неделю, а не по интуиции.

05

5. Определяем отчёт, который важен

Что именно должно выходить: упоминания по бренду, по станции, по интервалу, со ссылкой на аудио. Экспорт CSV и ежедневный отчёт — отправная точка; окончательная форма определяется после того, как станет видно, какие вопросы реально задаёт команда.

Вопросы, которые стоит уточнить.

Поймает ли это все рекламы?

Нет, и эту цифру мы измерили на реальных данных: оценочный recall 30–50% при пороге, использованном в аудите. То, что он пропускает, предсказуемо — ролики, где есть только бренд и слоган без телефона, сайта или цены; пропетые джинглы, которые Whisper транскрибирует как шум; спонсорства передач; ролики короче 5 секунд. Лучше всего ловятся ролики, которые сообщают что-то проверяемое, то есть большинство тех, где есть предложение.

Какая у вас точность, точно?

У нас пока нет цифры точности в строгом смысле, и честнее сказать это, чем выдумывать её. Что у нас есть — это распределение скорингов, измеренное на реальной базе из 5018 захватов и 7428 сегментов, с 111 идентифицированными рекламами, плюс ручная проверка по выборкам. Из этого был сделан полезный вывод: 193 сегмента находились между 0,30 и 0,40 и в большинстве случаев были пропущенными реальными рекламами — поэтому порог был снижен до 0,30. Реальная цифра точности и recall требует 60+ минут аудио, размеченного вручную, по каждой станции; это отдельная работа с отдельной стоимостью и сроком.

Он говорит мне, сколько людей услышали рекламу?

Нет. Аудиозахват доказывает, что сообщение было в эфире, во сколько и сколько длилось. Аудитория — это совершенно другая метрика, которую измеряют институты с панелью — её нельзя вывести из того, что цифровой микрофон что-то услышал. Мы предоставляем количество выходов в эфир, время, станцию и аудиодоказательство.

Какие права мне нужны, чтобы записывать станции?

Это вопрос, на который у проекта пока нет письменного ответа — в репозитории нет ни одного документа по правам, и это недостаток, а не недоработка в коммуникации. Мониторимые потоки доступны для прослушивания, но запись и хранение эфира для анализа — не то же самое, что прослушивание. Правовое основание для захвата и хранения определяется по каждой станции до установки, вместе с юристом заказчика. Что мы можем сделать технически — это снизить экспозицию: аудио автоматически удаляется через 48 часов, а текст и метаданные остаются.

Работает с русским языком?

Да. Язык определяется автоматически, а у детектора есть отдельные наборы ключевых слов для румынского и русского языков, со своими тестами для каждого. Случай, который всё ещё портит результат: если язык принудительно зафиксирован как румынский в конфигурации, реклама на русском транскрибируется искажённо, и скор падает ниже порога. Автоматическое определение — правильная настройка для смешанных станций.

Сколько станций можно отслеживать одновременно?

Захват поддерживает 10 параллельно; ограничение — транскрибация. На Mac, на CPU, с одним worker'ом обрабатывается примерно половина реального времени — то есть 4 станции производятся быстрее, чем мы успеваем транскрибировать, и очередь растёт. В этой ситуации система не теряет аудио (она контролируемо замедляет захват), но результаты задерживаются. Для 10 станций почти в реальном времени нужен GPU или более длинные сегменты.

Могу ли я переслушать рекламу, чтобы проверить?

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

Он сейчас где-то работает?

Нет, не непрерывно. Это локальная, полная и протестированная платформа — проходит 81 автоматический тест — но собственный аудит без прикрас говорит, что монитор не работает 24/7 нигде. Есть файл автозапуска для macOS и Docker-конфигурация с GPU-профилем; чего не хватает, так это сервера, на котором это будет стоять, и acceptance-теста на 10 станциях в течение 2 часов, для которого harness уже написан.

Показательный пример

Сколько выходов в эфир было у кампании за неделю, на четырёх станциях

Сценарий использования, без данных клиента или приписанных коммерческих результатов.

Исходная ситуация

Рекламодатель хочет знать, сколько раз его реклама была в эфире на четырёх станциях, в какие дни и в какое время, с аудиодоказательством.

Как это работает

Четыре потока захватываются в сегментах по 30 секунд, валидируются как корректный WAV и помещаются в надёжную очередь. Whisper транскрибирует каждый сегмент с автоматически определённым языком. Детектор оценивает каждый сегмент по коммерческим сигналам и отмечает то, что проходит выше 0,30, расширяясь на соседние сегменты выше 0,20, чтобы реклама, разрезанная пополам, оставалась целой. Отмеченные сегменты группируются по текстовому отпечатку — окна по 5 слов, первые 20 отсортированы — и, где текст различается между станциями, по аудиоотпечатку.

Rezultatul

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

Ce este necesar:Un server care rulează continuu în intervalul monitorizat — pe un laptop pornit câteva ore pe zi rezultatul e incomplet și înșelător. Peste 4 posturi, GPU. Și temeiul legal pentru captura și retenția fiecărui post, stabilit înainte de start.

Возможности сотрудничества

Monitor Radio, в контексте вашей организации.

Обработка аудиоконтента

Проекты по транскрибации и голосовой генерации на материалах, для которых есть право использования и задокументированная цель.

Частные компании

Мы определяем пилот вокруг реального процесса: пользователи, данные, интеграции, затраты и критерии приемки. Масштабирование следует после оценки результата.

Государственные учреждения и компании

Мы устанавливаем требования к доступности, размещению, защите данных и совместимости. Любое соединение с сервисами AGE или STISC требует проверки соответствия, доступа и утверждений.

Это сценарии адаптации, а не заявления о существующих контрактах или партнерствах. Предлагаемые функции подтверждаются в рабочей области проекта.

Обсудить пилот

Часть экосистемы.

Что вы хотели бы наладить?

Расскажите о своём процессе. Вместе определим, что стоит построить, что можно подключить и как проверим результат.

Давайте обсудим