Capturează
Nagrywaj skonfigurowane strumienie w granicach praw użytkowania.
Analiză audio & media Instrument specializat
Narzędzie do przechwytywania, transkrypcji i organizowania reklam radiowych. Grupuje powtarzające się fragmenty i pozwala na ich przegląd wraz ze źródłem audio.
Monitor Radio
Nagrywaj skonfigurowane strumienie w granicach praw użytkowania.
Przekształca audio w tekst i proponuje grupowanie podobnych fragmentów.
Zespół może ponownie odsłuchać fragmenty i wyeksportować istotne informacje.
Analiza wiadomości i powtórzeń w śledzonym okresie.
Odnajdywanie fragmentów bez ponownego odsłuchiwania całego materiału.
Transkrypcje i grupowania, które mogą zostać poprawione przez człowieka.
Automatyczna detekcja i transkrypcja mogą się mylić. Dostępność nagrań i pokrycie są sprawdzane dla każdego źródła.
Monitor Radio w szczegółach
Monitor Radio odpowiada na pięć pytań o reklamę usłyszaną w radiu: z jakiej stacji pochodziła, o której dokładnie się zaczęła, jak długo trwała, co w niej powiedziano i gdzie jest dowód audio do weryfikacji. Główny interfejs to operacyjny dziennik reklam, a nie ekran transkrypcji.
Łańcuch jest lokalny i bez obowiązkowych kluczy: `ffmpeg` przechwytuje strumień, Whisper transkrybuje, detektor z przejrzystym scoringiem oznacza segmenty wyglądające na reklamę, a powtarzalne reklamy są grupowane przez odcisk tekstu. Wszystko trafia do audytowalnej bazy SQLite, z której można wyeksportować CSV i plik audio każdej reklamy.
Co trzeba powiedzieć przed jakąkolwiek demonstracją: detekcja nie wychwytuje wszystkiego. Własny pomiar na rzeczywistej bazie danych daje szacowany recall 30–50% reklam, które faktycznie były w eterze, a przyczyny są znane i wymienione. Kto sprzedaje monitoring radiowy jako „wychwytujemy wszystko”, albo nie mierzył, albo nie mówi prawdy.
Do 10 stacji przechwytywanych równolegle przez `ffmpeg`, w segmentach po 30 sekund, każdy walidowany jako poprawny WAV przed trafieniem do kolejki. Kolejka żyje w bazie danych, z czasem wypożyczenia 300 sekund, sygnałem życia i maksymalnie 3 próbami na job — jeśli proces padnie, joby są odzyskiwane zamiast ginąć. Istnieje też tryb ciągły, bez przerw, który tnie strumień bezpośrednio z `ffmpeg` i przejmuje go przez śledzenie folderu.
Dwa wymienne silniki: Whisper przez własny gateway (domyślnie w konfiguracji) albo lokalny `faster-whisper`, na CPU z kwantyzacją int8, modelem `large-v3-turbo`, z filtrem VAD i wyszukiwaniem z wiązką 5. Język jest wykrywany automatycznie, co ma znaczenie na rynku mołdawskim, gdzie ta sama stacja w tej samej godzinie przeplata rumuński z rosyjskim.
Każdy segment otrzymuje wynik od 0 do 1, obliczany z jawnych sygnałów: komercyjnych słów kluczowych po rumuńsku i rosyjsku, obecności numeru telefonu, strony internetowej, ceny albo wezwania do działania, z karą, gdy tekst wygląda jak wiadomość. Segment o długości od 5 do 90 sekund otrzymuje mały bonus. Domyślny próg to 0,30, z rozszerzeniem do sąsiednich segmentów powyżej 0,20, aby reklama przecięta na dwie części nie zniknęła. Powody wyniku są zachowywane obok wyniku.
Ta sama reklama emitowana dziesiątki razy jest grupowana przez odcisk tekstu: transkrypcja jest normalizowana, cięta na nakładające się okna po 5 słów, zachowywane są pierwsze 20 posortowane i tworzony jest krótki skrót kryptograficzny. Ponadto istnieje też odcisk audio przez `chromaprint`, który grupuje tę samą reklamę emitowaną na różnych stacjach, gdzie transkrypcje się różnią.
86 marek handlowych z Mołdawii w katalogu początkowym — retail, banki, telekomy, apteki, motoryzacja, restauracje — plus automatyczne wykrywanie nowych marek z transkrypcji, z dodawaniem, usuwaniem, importem i eksportem przez API.
Każda reklama może być oznaczona jako potwierdzona, odrzucona albo niepewna bezpośrednio z interfejsu, z filtrem i podsumowaniem według tych stanów. Eksport CSV respektuje bieżący filtr, a audio każdej reklamy można odsłuchać ponownie w przeglądarce w jej dokładnym przedziale.
Trzy wyzwalacze alertów w Telegramie: padnięta stacja, opóźnienie powyżej progu i pojawienie się śledzonej marki. Ponadto metryki Prometheus, głęboka kontrola zdrowia i endpoint dostępności.
Dane i działanie
Od eksploracji do wdrożenia
Wybiera się stacje do monitorowania, sprawdza każdy strumień za pomocą wbudowanego sondowania (`probe-streams`) i ustala monitorowany przedział czasowy. Stacja, która nie odpowiada, pozostaje wyłączona w konfiguracji, dopóki nie zostanie sprawdzona, a nie dodana w nadziei.
Kto ma prawo nagrywać emisję i jak długo może być przechowywana. To krok, który najczęściej jest pomijany, i jedyny, którego nie da się naprawić technicznie później.
Poniżej 4 stacji działa na CPU. Od 4 wzwyż transkrypcja staje się wąskim gardłem: albo GPU, albo 2–4 workery, albo dłuższe segmenty. Presja wsteczna jest zaprojektowana tak, by spowalniać przechwytywanie, a nie tracić audio — ale backlog 30 minut oznacza alerty z opóźnieniem 30 minut.
Domyślny próg to 0,30. Niżej oznacza więcej przechwyconych reklam i więcej fałszywych pozytywów do odznaczenia; wyżej, odwrotnie. Kalibrację wykonuje się na reklamach potwierdzonych i odrzuconych ręcznie w pierwszym tygodniu, a nie z intuicji.
Co dokładnie ma wyjść: wystąpienia według marki, stacji, przedziału, z linkiem do audio. Eksport CSV i raport dzienny są punktem wyjścia; ostateczna forma jest ustalana po tym, jak zobaczy się, jakie pytania faktycznie zadaje zespół.
Nie, i tę liczbę mamy zmierzoną na rzeczywistych danych: szacowany recall 30–50% przy progu używanym w audycie. To, co pomija, jest przewidywalne — reklamy będące tylko marką i sloganem, bez telefonu, strony internetowej ani ceny; śpiewane jingle, które Whisper transkrybuje jako szum; sponsoring programów; reklamy poniżej 5 sekund. Dobrze wykrywa reklamy, które mówią coś weryfikowalnego, czyli większość tych z ofertą.
Nie mamy jeszcze liczby precyzji w ścisłym sensie i uczciwiej jest to powiedzieć, niż ją wymyślać. Mamy rozkład wyników zmierzony na rzeczywistej bazie 5018 przechwyceń i 7428 segmentów, z 111 zidentyfikowanymi reklamami, plus ręczną weryfikację na próbkach. Z tego wynikła użyteczna obserwacja: 193 segmenty mieściły się między 0,30 a 0,40 i w większości były prawdziwymi przeoczonymi reklamami — dlatego próg obniżono do 0,30. Rzeczywista liczba precyzji i recall wymaga ponad 60 minut ręcznie oznaczonego audio na każdą stację; to osobna praca, z kosztami i czasem trwania.
Nie. Przechwycenie audio dowodzi, że komunikat został nadany, o której godzinie i jak długo trwał. Zasięg to zupełnie inny pomiar, wykonywany przez instytuty badawcze z panelem — nie wynika z faktu, że cyfrowy mikrofon coś usłyszał. Oferujemy liczbę emisji, godzinę, stację i dowód audio.
To pytanie, na które projekt nie ma jeszcze pisemnej odpowiedzi — w repozytorium nie ma żadnego dokumentu prawnego i to jest brak, a nie pominięcie komunikacyjne. Monitorowane strumienie są publiczne do słuchania, ale nagrywanie i przechowywanie emisji do analizy nie jest tym samym co słuchanie. Podstawa prawna dla przechwytywania i retencji ustalana jest dla każdej stacji przed instalacją, wspólnie z prawnikiem beneficjenta. Technicznie możemy ograniczyć ekspozycję: audio jest automatycznie usuwane po 48 godzinach, a tekst i metadane pozostają.
Tak. Język jest wykrywany automatycznie, a detektor ma oddzielne zestawy słów kluczowych dla rumuńskiego i rosyjskiego, z własnymi testami dla każdego. Przypadek, który nadal psuje wynik: jeśli język jest na sztywno ustawiony na rumuński w konfiguracji, reklama po rosyjsku jest transkrybowana zniekształcone i wynik spada poniżej progu. Automatyczne wykrywanie to właściwe ustawienie na stacjach mieszanych.
Przechwytywanie obsługuje 10 równolegle; ograniczeniem jest transkrypcja. Na Macu, na CPU, z jednym workerem, przetwarza się mniej więcej połowę czasu rzeczywistego — czyli 4 stacje generują szybciej, niż udaje się je transkrybować, a kolejka rośnie. System nie traci audio w takiej sytuacji (kontrolowanie spowalnia przechwytywanie), ale wyniki się opóźniają. Dla 10 stacji w czasie bliskim rzeczywistemu potrzebny jest GPU albo dłuższe segmenty.
Tak, i właśnie do tego jest zaprojektowane: każda reklama ma powiązany plik audio, odtwarzalny w przeglądarce w dokładnym swoim zakresie, plus transkrypcję i sąsiednie segmenty. Analiza monitoringu, której nie da się zweryfikować u źródła, nic nie znaczy w rozmowie z klientem lub ze stacją.
Nie w sposób ciągły. To lokalna, kompletna i przetestowana platforma — 81 testów automatycznych przechodzi — ale własny audyt mówi bez ogródek, że monitor nie działa 24/7 nigdzie. Istnieje plik autostartu dla macOS i konfiguracja Docker z profilem GPU; brakuje serwera, na którym miałby działać, oraz testu akceptacyjnego na 10 stacjach przez 2 godziny, dla którego harness jest już napisany.
Przykład ilustracyjny
Scenariusz użycia, bez danych klienta ani przypisanych wyników handlowych.
Ogłaszający chce wiedzieć, ile razy jego reklama została nadana na czterech stacjach, w jakie dni i o jakich godzinach, z dowodem audio.
Cztery strumienie są przechwytywane w segmentach po 30 sekund, walidowane jako poprawny WAV i wrzucane do trwałej kolejki. Whisper transkrybuje każdy segment z automatycznie wykrytym językiem. Detektor ocenia każdy segment pod kątem sygnałów komercyjnych i oznacza to, co przechodzi ponad 0,30, rozszerzając na sąsiednie segmenty powyżej 0,20, żeby reklama przecięta na pół pozostała cała. Oznaczone segmenty są grupowane przez odcisk tekstowy — okna po 5 słów, pierwsze 20 posortowanych — oraz, tam gdzie tekst różni się między stacjami, przez odcisk audio.
Klaster ze wszystkimi wystąpieniami tej samej reklamy, każde z kanałem, datą, dokładną godziną rozpoczęcia, czasem trwania, transkrypcją i odtwarzalnym plikiem audio. Plik CSV z tą samą zawartością, przefiltrowany według przedziału i kanału. Liczba emisji jest dolnym progiem, a nie sumą: przy zmierzonej recall część emisji nie jest uchwycona, zwłaszcza jeśli reklama jest śpiewana albo nie zawiera telefonu, strony internetowej lub ceny.
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.
Możliwości współpracy
Projekty transkrypcji i generowania głosu na materiałach, do których istnieją prawa użytkowania oraz udokumentowany cel.
Definiujemy pilotaż wokół realnego procesu: użytkownicy, dane, integracje, koszty i kryteria akceptacji. Rozszerzenie następuje po ocenie wyniku.
Ustalamy wymagania dotyczące dostępności, hostingu, ochrony danych i interoperacyjności. Każde połączenie z usługami AGE lub STISC wymaga walidacji kwalifikowalności, dostępu i zatwierdzeń.
To są scenariusze adaptacji, a nie oświadczenia o istniejących umowach lub partnerstwach. Proponowane funkcje są potwierdzane w zakresie pracy projektu.
Discută un pilotCronberry łączy autoryzowane źródła, rozmowy i relacje w przestrzeni do badań i koordynacji.
Dezvoltare & demonstrațiiGrai to nasz kierunek badawczy dla syntezy głosu i modeli dostosowanych do języków używanych tutaj.
Cercetare & dezvoltareStudio do generowania, odsłuchiwania i pobierania materiałów głosowych za pomocą modeli text-to-speech.
Instrument specializatOpowiedz nam o swoim procesie. Wspólnie ustalimy, co warto zbudować, co da się połączyć i jak sprawdzimy wynik.