Passer au contenu
megapromotingDiscutons
Produits Monitor Radio

Analyse audio & média Instrument specializat

À partir d’heures d’audio, des segments que vous pouvez retrouver.

Un outil pour la capture, la transcription et l’organisation des publicités radio. Il regroupe les segments répétitifs et permet de les revoir avec la source audio.

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

Monitor Radio

De l’information au travail accompli.

01

Capturează

Enregistre les flux configurés dans les limites des droits d’utilisation.

02

Transcrit et regroupe

Transforme l’audio en texte et propose le regroupement des fragments similaires.

03

Permet la vérification

L’équipe peut réécouter les fragments et exporter l’information pertinente.

Là où il devient utile.

Recherche média

Exploration des messages et des répétitions sur une période suivie.

Archive consultable

Retrouver les fragments sans réécouter l’ensemble du matériel.

Analyse de contenu

Transcriptions et regroupements pouvant être corrigés par une personne.

La détection et la transcription automatiques peuvent se tromper. La disponibilité des captures et la couverture sont vérifiées pour chaque source.

Monitor Radio en détail

Ce que vous pouvez faire avec ce projet.

Monitor Radio répond à cinq questions sur une publicité entendue à la radio : de quelle station elle est venue, à quelle heure exacte elle a commencé, combien de temps elle a duré, ce qui y a été dit et où se trouve la preuve audio pour vérification. L’interface principale est un journal opérationnel des publicités, pas un écran de transcription.

La chaîne est locale et sans clés obligatoires : `ffmpeg` capture le flux, Whisper transcrit, un détecteur avec scoring transparent marque les segments qui ressemblent à de la publicité, et les publicités répétitives sont regroupées par empreinte de texte. Tout entre dans un SQLite auditable, dont on peut extraire des CSV et le fichier audio de chaque publicité.

Ce qu’il faut dire avant toute démonstration : la détection ne capte pas tout. La mesure propre sur la base de données réelle donne un recall estimé de 30–50% des publicités qui étaient réellement à l’antenne, et les causes sont connues et listées. Quiconque vend la surveillance radio en disant « nous captons tout » soit n’a pas mesuré, soit ne vous le dit pas.

01

Capture simultanée, avec file d’attente durable

Jusqu’à 10 enregistrements capturés en parallèle avec `ffmpeg`, en segments de 30 secondes, chacun validé comme un WAV correct avant d’entrer dans la file. La file vit dans la base de données, avec un prêt de 300 secondes, un signal de vie et un maximum de 3 tentatives par job — si le processus tombe, les jobs sont récupérés au lieu d’être perdus. Il existe aussi un mode continu, sans trous, qui découpe le flux directement depuis `ffmpeg` et le reprend par la surveillance du dossier.

02

Transcription RO + RU

Deux moteurs interchangeables : Whisper via sa propre passerelle (par défaut dans la configuration) ou `faster-whisper` local, sur CPU avec quantification int8, modèle `large-v3-turbo`, avec filtre VAD et recherche en faisceau de 5. La langue est détectée automatiquement, ce qui compte sur le marché moldave où la même station alterne le roumain et le russe dans la même heure.

03

Détecteur avec score visible

Chaque segment reçoit un score entre 0 et 1, calculé à partir de signaux explicites : mots-clés commerciaux en roumain et en russe, présence d’un numéro de téléphone, d’un site web, d’un prix ou d’un appel à l’action, avec une pénalisation quand le texte ressemble à une information. Un segment d’une durée entre 5 et 90 secondes reçoit un petit bonus. Le seuil par défaut est de 0,30, avec extension aux segments voisins au-dessus de 0,20, afin qu’une publicité coupée en deux morceaux ne soit pas perdue. Les raisons du score sont conservées à côté du score.

04

Regroupement des publicités répétitives

La même publicité diffusée des dizaines de fois est regroupée par empreinte textuelle : la transcription est normalisée, découpée en fenêtres chevauchantes de 5 mots, les 20 premières triées sont conservées et un bref résumé cryptographique est produit. S’y ajoute une empreinte audio via `chromaprint`, qui regroupe la même publicité diffusée sur différentes stations, là où les transcriptions diffèrent.

05

Catalogue de marques

86 marques commerciales de Moldavie dans le catalogue initial — retail, banques, télécoms, pharmacies, automobile, restaurants — plus découverte automatique de nouvelles marques à partir des transcriptions, avec ajout, suppression, import et export via API.

06

Révision humaine et export

Chaque publicité peut être marquée comme confirmée, rejetée ou incertaine directement depuis l’interface, avec filtre et résumé sur ces états. L’export CSV respecte le filtre actuel, et l’audio de chaque publicité peut être réécouté dans le navigateur sur son intervalle exact.

07

Alertes et observabilité

Trois déclencheurs d’alerte sur Telegram : station en panne, retard au-delà du seuil et apparition d’une marque suivie. En plus, métriques Prometheus, vérification de santé approfondie et un endpoint de disponibilité.

Données et fonctionnement

Ce qui entre dans le système. Ce qu'il faut vérifier.

Ce qui est effectivement détecté, et ce qui ne l’est pas
Sont bien détectées les publicités qui disent quelque chose de vérifiable : un téléphone, un site, un prix, un appel à l’action. Sont manquées, par construction : les publicités d’image qui sont seulement une marque plus un slogan, les parrainages d’émission, la promotion croisée entre les stations d’un même groupe, les messages sociaux, les jingles chantés (Whisper les transcrit comme de la poésie ou du bruit), les publicités plus courtes de 5 secondes et celles dont la transcription est dégradée par une mauvaise capture.
Précision mesurée, sur des données réelles
L’audit interne du 25 mai 2026, sur la base de données live avec 5018 captures et 7428 segments, a donné 111 publicités après extension. Distribution des scores : 80 segments au-dessus de 0,50 (publicités clairement identifiées), 29 entre 0,40 et 0,50, 193 entre 0,30 et 0,40 — vérifiés manuellement comme étant en majorité de vraies publicités manquées — 278 entre 0,20 et 0,30, 33 entre 0,10 et 0,20 et 6815 en dessous de 0,10, c’est-à-dire de la musique. Recall estimé au seuil de l’époque, 0,40 : 30–50%. Le seuil a ensuite été abaissé à 0,30 précisément sur la base de cette mesure, ce qui augmente le recall et augmente aussi le nombre de faux positifs à réviser.
Pourquoi ce n’est pas une mesure de précision complète
Pour publier un chiffre de précision et de rappel au sens strict du terme, il faudrait plus de 60 minutes d’audio annoté manuellement par post, comparé à la sortie du système. L’étude est planifiée, pas réalisée. Ce que nous avons, c’est une distribution de scores sur des données réelles, plus une vérification manuelle sur des échantillons — moins qu’un benchmark, plus qu’une impression, et il est important de ne pas confondre les deux.
La couverture temporelle est la vraie limitation
Dans la fenêtre auditée, les captures ont couvert trois intervalles sur environ 80 heures possibles — le reste, le moniteur était arrêté. C’est cela, et non le détecteur, qui explique principalement pourquoi la base contenait 111 publicités et non des milliers. Un résultat utile exige une exploitation continue sur un serveur, pas sur un laptop. Un détail lié au marché et exact : entre 00:00 et 05:00, le résultat de zéro publicité n’est pas une erreur — les radios moldaves diffusent de la musique sans publicité pendant cet intervalle.
La capacité de transcription est le goulot d’étranglement
Sur un Mac avec Apple Silicon, sur CPU, `large-v3-turbo` avec un seul worker fonctionne à environ la moitié du temps réel : environ 2 segments par minute traités contre 4 produits par 4 stations. La file se remplit, la pression se propage en amont et la capture ralentit — comportement correct, car nous ne perdons pas l’audio. Pour 10 stations en continu, il faut un GPU, 2–4 workers ou des segments plus longs, de 60–120 secondes.
Ce qui est stocké et en quelle quantité
Audio WAV sur disque, avec suppression par défaut des fichiers de plus de 48 heures ; les transcriptions, les segments, les publicités et les clusters restent dans la base de données. Autrement dit, la preuve audio d’une publicité est disponible pendant deux jours si le terme n’est pas modifié, et le texte reste.
Droits sur les enregistrements — non établis
Le projet ne contient aucun document de droits ou de licence : la seule mention de licence est `license = { text = "Private" }` dans la configuration du paquet. Les flux de la configuration de référence sont des flux publics d’écoute de certaines stations de Moldavie. L’enregistrement et la conservation d’une émission pour analyse ne sont pas la même chose que son écoute, et celui qui paie la surveillance doit disposer du fondement légal pour la capture et la rétention — pour chaque station. Cela se clarifie avant la première installation, pas après ; nous ne pouvons pas transférer un droit que nous n’avons pas.

De l'exploration à l'implémentation

Comment nous préparons un projet avec Monitor Radio.

01

1. Nous fixons les stations et la fenêtre

Les stations à suivre sont choisies, chaque flux est vérifié avec le sondage inclus (`probe-streams`) et l’intervalle horaire surveillé est défini. Une station qui ne répond pas reste désactivée dans la configuration jusqu’à ce qu’elle soit vérifiée, pas ajoutée dans l’espoir qu’elle fonctionne.

02

2. Nous clarifions le fondement de la capture et de la rétention

Qui détient le droit d’enregistrer l’émission et combien de temps elle peut être conservée. C’est l’étape que l’on saute le plus souvent et la seule qui ne peut pas être réparée techniquement après coup.

03

3. Nous dimensionnons le matériel selon le nombre de stations

En dessous de 4 stations, cela fonctionne sur CPU. À partir de 4, la transcription devient le goulot d’étranglement : soit GPU, soit 2–4 workers, soit des segments plus longs. La pression inverse est conçue pour ralentir la capture, pas pour perdre l’audio — mais un backlog de 30 minutes signifie des alertes avec 30 minutes de retard.

04

4. Nous calibrons le seuil avec une revue humaine

Le seuil par défaut est de 0,30. En dessous, cela signifie plus de publicités détectées et plus de faux positifs à cocher ; au-dessus, l’inverse. La calibration se fait sur les publicités confirmées et rejetées manuellement durant la première semaine, pas à partir de l’intuition.

05

5. Nous définissons le rapport qui compte

Ce qui doit en sortir : apparitions par marque, par émission, par intervalle, avec lien vers l’audio. L’export CSV et le rapport quotidien sont le point de départ ; la forme finale se décide après avoir vu quelles questions l’équipe pose effectivement.

Des questions qui méritent d’être clarifiées.

Capture-t-il toutes les publicités ?

Non, et le chiffre est mesuré sur des données réelles : rappel estimé à 30–50% au seuil utilisé dans l’audit. Ce qu’il manque est prévisible — les publicités qui ne sont que la marque et un slogan sans téléphone, site ou prix ; les jingles chantés, que Whisper transcrit comme du bruit ; les parrainages d’émission ; les publicités de moins de 5 secondes. Ce qu’il capture bien, ce sont les publicités qui disent quelque chose de vérifiable, c’est-à-dire la majorité de celles avec une offre.

Quelle précision avez-vous, exactement ?

Nous n’avons pas encore de chiffre de précision au sens strict, et il est plus honnête de le dire que d’en inventer un. Ce que nous avons, c’est une distribution de scores mesurée sur une base réelle de 5018 captures et 7428 segments, avec 111 publicités identifiées, plus une vérification manuelle sur des échantillons. Il en est ressorti une constatation utile : 193 segments se situaient entre 0,30 et 0,40 et étaient en majorité de vraies publicités manquées — raison pour laquelle le seuil a été abaissé à 0,30. Un chiffre réel de précision et de rappel exige 60+ minutes d’audio étiqueté manuellement pour chaque station ; c’est un travail séparé, avec coût et durée.

Me dit-il combien de personnes ont entendu la publicité ?

Non. Une capture audio prouve que le message a été diffusé, à quelle heure et combien de temps il a duré. L’audience est une mesure complètement différente, réalisée par des instituts de mesure avec panel — elle ne se déduit pas du fait qu’un microphone numérique ait entendu quelque chose. Ce que nous fournissons, c’est le nombre de diffusions, l’heure, la station et la preuve audio.

De quels droits ai-je besoin pour enregistrer les stations ?

C’est la question à laquelle le projet n’a pas encore de réponse écrite — dans le dépôt, il n’existe aucun document sur les droits, et c’est un manque, pas une omission de communication. Les flux surveillés sont publics à l’écoute, mais enregistrer et conserver une émission pour l’analyse n’est pas la même chose qu’écouter. La base légale pour la capture et la rétention se détermine pour chaque station avant l’installation, avec le juriste du bénéficiaire. Ce que nous pouvons faire techniquement, c’est réduire l’exposition : l’audio est supprimé automatiquement après 48 heures, tandis que le texte et les métadonnées restent.

Est-ce que cela fonctionne avec la langue russe ?

Oui. La langue est détectée automatiquement, et le détecteur dispose d’ensembles de mots-clés séparés pour le roumain et le russe, avec des tests propres pour chacun. Le cas qui dégrade encore le résultat : si la langue est forcée en roumain dans la configuration, une publicité en russe est transcrite de manière déformée et le score passe sous le seuil. La détection automatique est le réglage correct sur les stations mixtes.

Combien de stations puis-je suivre simultanément ?

La capture en supporte 10 en parallèle ; la transcription est la limite. Sur un Mac, sur CPU, avec un worker, on traite environ la moitié du temps réel — c’est-à-dire que 4 stations produisent plus vite que nous ne parvenons à transcrire, et la file augmente. Le système ne perd pas l’audio dans ce cas (il ralentit la capture de manière contrôlée), mais les résultats prennent du retard. Pour 10 stations en quasi temps réel, il faut un GPU ou des segments plus longs.

Puis-je réécouter la publicité pour vérifier ?

Oui, et c’est conçu exactement pour cela : chaque publicité a un fichier audio associé, lisible dans le navigateur sur son intervalle exact, ainsi que la transcription et les segments voisins. Une analyse de surveillance qui ne peut pas être vérifiée à la source ne vaut rien dans une discussion avec un client ou avec une station.

Est-ce que cela fonctionne quelque part en ce moment ?

Pas en continu. C’est une plateforme locale, complète et testée — 81 tests automatiques passent — mais l’audit lui-même dit sans ménagement que le moniteur ne tourne nulle part 24/7. Il existe un fichier de démarrage automatique pour macOS et une configuration Docker avec un profil GPU ; ce qui manque, c’est le serveur sur lequel l’héberger et le test d’acceptation sur 10 stations pendant 2 heures, pour lequel le harness est déjà écrit.

Exemple illustratif

Combien de diffusions une campagne a-t-elle eu en une semaine, sur quatre stations

Un scénario d’utilisation, sans données client ni résultats commerciaux attribués.

Situation initiale

Un annonceur veut savoir combien de fois sa publicité a été diffusée sur quatre stations, à quels jours et à quelles heures, avec la preuve audio.

Comment ça fonctionne

Les quatre flux sont capturés en segments de 30 secondes, validés comme WAV corrects et placés dans une file durable. Whisper transcrit chaque segment avec la langue détectée automatiquement. Le détecteur score chaque segment sur les signaux commerciaux et marque ceux qui dépassent 0,30, en étendant vers les segments voisins au-delà de 0,20 pour qu’une publicité coupée en deux reste entière. Les segments marqués sont regroupés par empreinte de texte — fenêtres de 5 mots, les 20 premiers triés — et, lorsque le texte diffère entre les stations, par empreinte audio.

Rezultatul

Un cluster avec toutes les occurrences de la même publicité, chacune avec la station, la date, l’heure exacte de début, la durée, la transcription et le fichier audio lisible. Un CSV avec le même contenu, filtré par intervalle et par station. Le chiffre des diffusions est un seuil minimum, pas un total : au recall mesuré, une partie des diffusions n’est pas captée, surtout si la publicité est chantée ou ne contient pas de téléphone, de site ou de prix.

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.

Possibilités de collaboration

Monitor Radio, dans le contexte de votre organisation.

Traitement du contenu audio

Projets de transcription et de génération vocale sur des matériaux pour lesquels il existe des droits d’utilisation et une finalité documentée.

Entreprises privées

Nous définissons un pilote autour d’un processus réel : utilisateurs, données, intégrations, coûts et critères d’acceptation. L’extension suit après l’évaluation du résultat.

Institutions et entreprises publiques

Nous établissons les exigences d’accessibilité, d’hébergement, de protection des données et d’interopérabilité. Toute connexion avec des services AGE ou STISC nécessite la validation de l’éligibilité, de l’accès et des approbations.

Ce sont des scénarios d’adaptation, non des déclarations sur des contrats ou partenariats existants. Les fonctions proposées sont confirmées dans le périmètre de travail du projet.

Discuter d'un pilote

Faisant partie d’un écosystème.

Qu'est-ce que vous voudriez voir mieux fonctionner ?

Racontez-nous votre processus. Ensemble, nous décidons ce qui vaut la peine d'être construit, ce que nous pouvons connecter et comment nous vérifions le résultat.

Discutons