System, który analizuje 8 GB audio na sekundę – kulisy projektu dla branży muzycznej

MicroBe - Music Recognition

Cel projektu_

Celem projektu dla MicroBe było stworzenie dedykowanego systemu od podstaw, który sprostałby wyzwaniu identyfikacji muzyki emitowanej przez wybrane stacje radiowe i telewizyjne, działającego nieprzerwanie przez całą dobę (24/7). ​

Kluczowym zadaniem było zaprojektowanie portalu webowego, który prezentowałby szczegółowe statystyki i wykresy dotyczące rozpoznawanych utworów. Projekt miał odpowiedzieć na potrzeby Związku Producentów Audio i Video (ZPAV) oraz jego członków, umożliwiając im analizę emisji utworów muzycznych. ​

Dodatkowo, system powinien generować cykliczne raporty AirPlay oraz wykorzystywać ulepszony algorytm Echoprint do rozpoznawania wzorców audio, z zapisem odcisków palców utworów w bazie danych LMDB.

Dostarczone rozwiązania_

Zespół theGoodPeople opracował kompleksowy system backendowy, nasłuchujący wybrane stacje radiowe ​i telewizyjne, oraz portal webowy, prezentujący różnorodne statystyki i analizy dotyczące rozpoznanych utworów. ​

System bazuje na SQL do przechowywania rozpoznań ​oraz metadanych utworów, oferując aktualizacje w czasie rzeczywistym i umożliwiając szybki dostęp do danych ​o emitowanej muzyce. ​

Ponadto, zaimplementowano narzędzia dla operatorów ​i monitorowanie, aby wspierać codzienną pracę, w tym automatyczne wstawianie na podstawie metadanych strumienia oraz dedykowane sprzęty do odsłuchu kanałów TV.

 

Produkty projektu_

  • Kompletny system backendowy do rozpoznawania utworów muzycznych. ​

  • Portal webowy dla ZPAV i wytwórni muzycznych, prezentujący statystyki, wykresy oraz raporty AirPlay.

Technologie i metodyki_

Web portal: Angular.js​, TypeScript​, ASP.NET​

Backend: SQL Server​, LMDB​, C#​, .NET 8​, ASP.NET Core 8​, RabbitMQ​, FFmpeg​

Monitoring: OpenTelemetry + Grafana/Loki/Jaeger do monitorowania infrastruktury. Niestandardowy system webowy do monitorowania systemu w czasie rzeczywistym

 

Zalety rozwiązania_

  • Modularny projekt​
  • Architektura zorientowana na usługi (SOA)​
  • Wysoka skalowalność i pełna redundancja​
  • Ponad 650 000 rozpoznań na miesiąc​
  • Baza ponad 300 000 utworów​
  • 4 wysokiej klasy serwery 20-rdzeniowe ​(40-rdzeni w trybie hyperthreading), ​128 GB ramu z obciążeniem 50-80%​
  • Wsparcie 24/7​
  • Analiza metadanych strumieni​
  • Monitoring 99 stacji radiowych i telewizyjnych 24/7​
  • Generowanie raportów tygodniowych, miesięcznych ​i rocznych​
  • Ultra-szybka baza danych LMDB (800k losowych odczytów na sekundę, przetwarzanie średnio ​8 GB danych na sekundę)​
  • Niestandardowy system monitorowania w czasie rzeczywistym i automatyczne alerty

Zespół projektowy_

  • 2x frontend developer, ​
  • 2x backend developer, ​
  • 1 data developer, ​
  • 1 QA, ​
  • 0,5 PM

Zobacz więcej

logo Fundusze Europejskie Program Regionalnylogo Rzeczpospolita Polskalogo ŚląskieLogo UE fundusz rozwoju