
tl; dr: Adblock Radio erkennt Audioanzeigen mithilfe von maschinellem Lernen und Shazam-ähnlichen Techniken. Die wichtigste Open Source Engine : Verwenden Sie sie in Ihren Produkten! Sie können sich zusammenschließen, um mehr Radiosender und Podcasts zu unterstützen.
Nur wenige Leute hören gerne Radiowerbung. Ich habe das
AdblockRadio.com- Projekt gestartet,
damit Hörer Anzeigen in ihrem bevorzugten Internetradio überspringen können. Der Algorithmus wird als
Open Source veröffentlicht und dieser Artikel beschreibt, wie er funktioniert.
Adblock Radio hat bereits reale Daten von
mehr als 60 Radiosendern in sieben Ländern getestet. Es ist auch kompatibel mit Podcasts und funktioniert ziemlich gut!
Im Vergleich zu früheren Implementierungen bietet unser Algorithmus einen universellen Ansatz, bei dem Threads aus verschiedenen Quellen verarbeitet werden. Von den vorherigen Implementierungen
stützt man
sich auf Internetradio-Metadaten , aber nur ein kleiner Teil des Radios ist mit dieser Methode kompatibel. Eine andere Implementierung
erkennt bekannte Jingles , aber in vielen Fällen werden Beginn und Ende von Werbeunterbrechungen nicht durch das Jingle markiert.
Zusätzlich zur Erkennung von Werbung kann der vorgeschlagene Algorithmus Konversation von Musik unterscheiden. Daher können Sie auch Rattern vermeiden und nur Musik hören.
Dies ist ein Bericht über meine persönliche Arbeit seit fast drei Jahren. Ich habe Adblock Radio Ende 2015 gestartet, einige Monate nach meinem Abschluss an der Graduiertenschule für Fusionsplasmaphysik. Als Adblock Radio 2016
berühmt wurde, erhielt ich Drohungen von Anwälten französischer Radiosender (mehr unten). Ich musste die Site teilweise schließen, die Architektur des Systems ändern, die rechtlichen Konsequenzen besser untersuchen usw. Heute glaube ich, dass AdBlock Radio im Paradigma der
offenen Innovation viel besser entwickelt wird.
Dieser Artikel besteht aus drei Teilen. Sie sind für unterschiedliche Zielgruppen konzipiert. Sie können nach unten scrollen oder auf den Namen klicken, um direkt zum gewünschten Abschnitt zu gelangen.
- Anzeigenerkennung: bewährte Strategien . Für technisch versierte Leute, Wissenschaftler, Datenanalysespezialisten ... Hier sind verschiedene technische Methoden, mit denen ich versucht habe, Anzeigen zu erkennen, einschließlich Spracherkennung, Tonfingerabdrücke und maschinelles Lernen. Gedanken zu Optionen für die weitere Arbeit.
- Es wird nicht empfohlen, Adblock Radio in der Cloud auszuführen . Für Softwareentwickler und Personen, die sich für das Urheberrecht interessieren. Wir werden diskutieren, wie schwierig es ist, beim Starten von Adblock Radio in Cloud-Diensten einen zufriedenstellenden Kompromiss zwischen den technischen und rechtlichen Einschränkungen zu finden. Aus diesen Gründen ist es am besten, Adblock Radio nur auf Endbenutzergeräten auszuführen.
- Sie können Adblock Radio in Ihren Player integrieren . Für Hersteller, Produktbesitzer, UX-Designer, Technikfreaks ... Ich denke über Ideen zur Integration eines Open-Source-Algorithmus in Endprodukte, einschließlich Autohersteller, nach und betone die Notwendigkeit von Rückmeldungen von Benutzern zu Fällen von Fehlfunktionen. Dies ist notwendig, um das System zu warten. Abschließend finden Sie hier Tipps zum Erstellen der richtigen Benutzeroberflächen. Ich erwarte viel Feedback zu diesem Thema.
Adblock Radio bringt das Vergnügen zurück, Radio zu hörenAnzeigenerkennung: Bewährte Strategien
Um eine Anzeige zu blockieren, müssen Sie sie zuerst erkennen. Ziel ist es, Anzeigen im Audiostream ohne Hilfe des Radiosenders zu erkennen. Dies ist keine leichte Aufgabe. Ich habe verschiedene Ansätze ausprobiert, bevor ich ein gutes Ergebnis erzielt habe.
1. Einfache Methoden (funktionieren nicht)
Lautstärke
Die erste Idee ist, die Lautstärke zu überprüfen, weil die Werbung so laut ist! Für die Werbung
wird häufig eine
akustische Komprimierung verwendet. Dies ist ein interessantes Kriterium, aber es reicht nicht aus, um Werbung zu unterscheiden. Diese Strategie eignet sich beispielsweise sehr gut für klassische Musiksender, bei denen Anzeigen normalerweise lauter als Musik sind. Aber Pop ist so laut wie Werbung. Darüber hinaus kann einige Werbung absichtlich leise gemacht werden, um eine Erkennung zu vermeiden.
Uhrschloss
Eine andere Idee ist, dass Werbung zu einem bestimmten Zeitpunkt nach einem Zeitplan ausgestrahlt wird. Bis zu einem gewissen Grad ist dies wahr, aber es gibt keine Genauigkeit. Zum Beispiel habe ich gesehen, wie die
Morgenshow auf dem französischen Sender nicht genau zur gleichen Zeit begann, mit Variationen von bis zu zwei Minuten. Radiosender können eine solche Sperre leicht umgehen, indem sie ihre Programme zufällig um einige zehn Sekunden verschieben.
Metadaten
Die naheliegende Lösung besteht darin, sich auf
ICY / Shoutcast-Metadaten zu verlassen, damit Spieler wie
VLC Stream-Informationen anzeigen können. Leider sind diese Daten in den meisten Fällen fehlerhaft. Man könnte Informationen aus der Live-Übertragung auf den Websites von Radiosendern entnehmen (ich habe ein
Tool dafür entwickelt ), aber meistens wird die Werbung nicht so identifiziert, wie sie ist. Normalerweise wird während der Werbung auf der Website der Name des vorherigen Songs oder Programms angezeigt. Eine bemerkenswerte Ausnahme ist
Jazz Radio , das während der Werbespots
„la musique revient vite ...“ schreibt (die Musik wird bald zurück sein). Abschließend ist anzumerken, dass dies eine unzuverlässige Strategie ist, da Radiosender Metadaten sehr leicht ändern können.
Manuelle Kennzeichnung
Schließlich ist die Anzeigenerkennung ohne Algorithmus möglich! Sie können einfach einige Hörer bitten, einen Knopf zu drücken, wenn eine Werbung beginnt und endet. Andere Hörer werden davon profitieren. Dies ist die Strategie der Set-Top-Box
TiVo Bolt . Sie können Anzeigen auf festgelegten Kanälen zu einem festgelegten Zeitpunkt entfernen. Dies liefert hervorragende Ergebnisse, lässt sich jedoch nicht gut auf Tausende von Radiosendern skalieren.
Der Nachteil ist, dass es schwierig ist, das System von vorne zu starten. Möglicherweise ist am neuen Sender nicht genügend Publikum für den ordnungsgemäßen Betrieb vorhanden. Die ersten Zuhörer werden verärgert sein und gehen, so dass der Sender niemals ein ausreichend großes Publikum erreichen wird.
Eine weitere Schwierigkeit besteht darin, dass Radiosender gefälschte Signale senden möchten, um das System zu sabotieren. Es erfordert einen Moderationsmechanismus, ein Konsenssystem oder einen Schwellenwert für die Abstimmung.
Crowdsourcing ist eine gute Idee. Ich denke, dass es noch besser aussieht, wenn der Algorithmus den größten Teil der Arbeit erledigt und ein Minimum für die Menschen übrig lässt. Das habe ich getan.
2. Spracherkennung und lexikalische Feldanalyse (Fehler)
Werbung ist immer das gleiche Thema und das gleiche lexikalische Feld: Auto kaufen, Gutscheine für Supermärkte erhalten, sich für eine Versicherung anmelden usw. Wenn Sie Sprache erkennen, können Sie Standard-
Tools zur Bekämpfung von Spam verwenden . Dies war mein erster Forschungspfad Ende 2015, aber ich konnte die Spracherkennung nicht implementieren.
Als Anfänger in der Sprachverarbeitung begann ich damit,
Huangs Sprachverarbeitung zu lesen, ein großartiges Buch, wenn auch etwas veraltet. Ich legte meine schmutzigen kleinen Hände auf
CMU Sphinx , die beste Spracherkennungs-Engine der Zeit.
Der erste Versuch ergab sehr schlechte Ergebnisse und erforderte intensive Berechnungen auf der CPU. Ich habe die Standardparameter verwendet: Standard-Französisch-Wörterbuch (Liste möglicher Wörter und entsprechender Phoneme), Sprachmodell (Wahrscheinlichkeiten von Wortsequenzen) und akustisches Modell (Verbindung von Phonemen mit der Form von Schallwellen).
Versuche, das System zu verbessern, waren erfolglos: Die Anerkennung funktionierte immer noch schlecht. Ich habe das Vokabular- und Sprachmodell auf einem kleinen Datensatz eingerichtet und den Sound
mit einem Tagebuch-Tool geteilt . Er
passte das akustische Modell MLLR auch
an den Radiosender Europe 1 (Französisch) an, auf dem er das System trainierte.
Generell musste die Idee der Spracherkennung aufgegeben werden. Dies ist wahrscheinlich für Experten. In Zukunft können Sie jedoch darauf zurückkommen. Seit 2015 wurden erhebliche Fortschritte bei der Spracherkennung erzielt. Es wurden neue Open-Source-Tools wie
Mozilla Deep Speech veröffentlicht .
3. Crowdsourcing-Werbebasis, Erkennung durch gesunde Fingerabdrücke (ermutigend)
Die erste Version von Adblock Radio im Jahr 2016 arbeitete mit einer Datenbank von Werbespots. Das System hörte kontinuierlich den Tonstrom auf der Suche nach Werbung. Die Ergebnisse waren wirklich vielversprechend, aber es war schwierig, eine solche Basis auf dem neuesten Stand zu halten.
Die Fingerabdruck-Suchtechnik ähnelt der von
Shazam auf seinen Servern zum Erkennen von Songs. Diese Art von Algorithmus ist allgemein als
Orientierungspunkt bekannt . Ich habe es für das Streaming angepasst und
den Quellcode geöffnet .
Fingerabdrücke eignen sich zur Erkennung von Werbespots, da diese wiederholt in derselben Form ausgestrahlt werden. Aus dem gleichen Grund erkennt er Musik. Diese Technik funktioniert jedoch nicht bei der Sprache, da die Wörter niemals auf die gleiche Weise ausgesprochen werden. Dies ist nur möglich, wenn die Programme nachts erneut ausgestrahlt werden, was uns nicht interessiert. Daher müssen Werbung und Musik (als „keine Werbung“) in die Fingerabdruckdatenbank eingegeben werden, aber es ist sinnlos, Sprache zu verarbeiten.
Im Wesentlichen sind Klangfingerabdrücke die Umwandlung einiger Klangeigenschaften in eine Reihe von Zahlen, die als Fingerabdruck bezeichnet werden. Wenn viele Drucke live mit der Basis übereinstimmen, können wir daraus schließen, dass Werbung übertragen wird. Für eine optimale Auflösung, Zeit und Frequenzbereich sind einige Anpassungen erforderlich. Unterschiedliche Muster sollten gut variieren. Das System sollte jedoch auch bei geringfügigen Änderungen der Soundkomprimierungsalgorithmen oder wenn das Radio die Equalizer-Einstellungen geändert hat, funktionieren. Schließlich sollten Sie die Anzahl der Ausdrucke begrenzen, um keine Computerressourcen zu laden.
Beispiel für die Berechnung von Tonabdrücken. Roter Hintergrund - Spektrogramm. Es spiegelt die Änderung der Schallintensität in der Frequenz wider (niedrige Frequenzen unten). Auf dieser Karte werden Spektralspitzen identifiziert (blaue Punkte) und verbunden (graue Linien). Die Position, Länge und Ausrichtung jeder grauen Linie wird in eine eindeutige Zahl, einen Druck, umgewandeltDie binäre Klassifizierung ergibt das Ergebnis: Ist die Stichprobe eine Werbung oder nicht? Wenn wir Fehlerfälle analysieren, hat das System fast immer ein falsch negatives Ergebnis erzielt, dh es hat Anzeigen verpasst und sehr selten gute Inhalte als Werbung festgestellt. Nutzer können unentdeckte Anzeigen mit einem Klick melden, was eine hervorragende Benutzeroberfläche bietet. Der entsprechende Sound wird automatisch zur Datenbank hinzugefügt. Ich habe diese Aktionen a posteriori moderiert.
Es war schwierig, die Datenbank auf dem neuesten Stand zu halten, da sich Werbespots häufig ändern und Anzeigen mit geringen Abweichungen ausgestrahlt werden. Sie werden auch häufig aktualisiert, in einigen Fällen alle paar Tage. Einige Streams mit einer unzureichenden Anzahl von Hörern werden sehr schlecht erkannt.
Ich habe interessante Strategien untersucht, um die Arbeit der Zuhörer teilweise zu automatisieren. Anzeigen werden jeden Tag mehrmals auf die gleiche Weise gesendet. Dies kann verwendet werden, um sie zu identifizieren. Datensätze, die nach
maximal wiederholten Sequenzen (MRS) gesucht wurden. Andere Inhalte werden ebenfalls wiederholt, z. B. Songs und Jingles (Bildschirmschoner). Ich sortierte alle Sequenzen nach Länge und nahm Proben mit einer Länge von ungefähr 30 Sekunden, typisch für Werbespots. So gelang es sehr oft, eine Werbung zu fangen. Aber manchmal kam ein Chor von Liedern oder sogar aufgezeichneten Wettervorhersagen rüber.
Ich habe einen Weg gefunden, die meisten musikalischen Wiederholungen herauszufiltern: Ich habe
die Wiedergabelisten des Senders analysiert, die Songs heruntergeladen und sie mit dem Label "no ads" in die Datenbank integriert. Daher erwiesen sich immer mehr Kandidaten für MRS als echte Werbespots. Aber immer noch nicht alle, so dass die Benutzerunterstützung weiterhin notwendig war.
Es war weniger manuelle Arbeit erforderlich, aber die Serverlast war bereits ein Problem. Rückblickend war die Wahl von SQLite für diese ressourcenintensiven, zeitkritischen Datenbankoperationen nicht die beste.
Glücklicherweise hatte der Algorithmus einige Sekunden Zeit, um festzustellen, ob der Sound eine Werbung ist oder nicht. Dies liegt daran, dass Internetradios einen Audiopuffer verwenden, normalerweise 4 bis 30 Sekunden, der nicht sofort auf dem Endbenutzergerät abgespielt wird. Dies hilft, Broadcast-Unterbrechungen im Falle eines vorübergehenden Netzwerkverlusts zu vermeiden.
Ich habe diese Pufferverzögerung für die Nachbearbeitung verwendet, um Algorithmusvorhersagen stabiler und kontextsensitiver zu gestalten. Unmittelbar vor der Wiedergabe des Sounds auf dem Endbenutzergerät überprüft der Algorithmus die Ergebnisse von Prognosen, die sich noch im Puffer befinden, sowie von älteren, die bereits abgespielt wurden. Es schneidet fragwürdige Datenpunkte mit mehreren Fingerabdruck-Übereinstimmungen ab und zeigt
Hysterese . Es berücksichtigt auch die gewichtete durchschnittliche Zeit, um mögliche Fehler auszugleichen.
Adblock Radio irgendwann im Jahr 2016. Die rote Hervorhebung der Radiosender, auf denen die Werbung gerade läuft, sah wirklich cool aus! Nutzer können übersprungene Anzeigen mit einer blauen Schaltfläche markieren. Mit der Schaltfläche "Musik in einer Wolke" oben können Sie einen benutzerdefinierten MP3-Stream exportieren, aus dem die Werbung entfernt wurde, und, wenn diese Funktion konfiguriert ist, reibungslose Übergänge zwischen Radiosendern durchführen. Unten finden Sie die zusätzlichen Schaltflächen und Funktionen.4. Klassifizierung von Werbung, Konversation und Musik im maschinellen Lernen (fast fertig!)
Die nächste Version des Algorithmus analysiert die Akustik: von niedrigen zu hohen Tönen und deren zeitliche Änderung. Neue unbekannte Werbespots werden fast genauso gut erkannt wie die alten, auf denen das Training stattgefunden hat, nur durch Anzeichen von Lärm und Wichtigkeit. Dies ist eine komplexere Methode zur Analyse der Schalllautstärke (siehe vorherige Diskussion).
Zu diesem
Zweck habe ich maschinelle Lernwerkzeuge verwendet, nämlich die
Keras- Bibliothek, die mit
Tensorflow verbunden ist . Dies ergab sehr gute Ergebnisse bei geringer CPU-Auslastung. Diese Version war mehr als ein Jahr lang in Produktion, von Anfang 2017 bis Mitte 2018. Jetzt ist es möglich, Gespräche und Musik zu unterscheiden, daher ist die Klassifizierung genauer geworden: anstelle von „Werbung / keine Werbung“ - „Werbung / Gespräch / Musik“.
Wir werden die Details studieren. Der Ton wird in eine 2D-Karte konvertiert, in der die Schallintensität als Funktion von Frequenz und Zeit (auf einer Skala von etwa vier Sekunden) dargestellt wird. Diese Karte ähnelt konzeptionell der roten Karte im Kapitel Fingerabdruck. Der Hauptunterschied besteht darin, dass ich anstelle des klassischen Fourier-Spektrums
Mel-Cepstral-Koeffizienten verwendet habe , die für die Spracherkennung relevant sind.
Sequentielle Karten mit unterschiedlichen Zeitstempeln wurden dann als Bilder in einem
wiederkehrenden neuronalen Netzwerk wie
LSTM (Long Short Term Memory) analysiert. Jede Karte wurde unabhängig von der anderen analysiert (RNN
ohne Zustandserhaltung ), aber die Karten überlappten sich. Die Karten waren 4 Sekunden lang und jede Sekunde erschien eine neue. Das Endergebnis für jede Karte war der
Softmax- Vektor, z. B.
ad: 72%, talk: 11%, music 17%
. Diese Vorhersagen wurden dann mit der gleichen Methode verarbeitet, wie im Abschnitt Fingerabdruck beschrieben.
Vorschau typischer maschineller Lernergebnisse für zwei Radiosender. Die horizontale Achse repräsentiert ungefähr 17 Minuten Zeit. Die grüne Linie bewegt sich zwischen drei Positionen: Werbung oben, Konversation in der Mitte und Musik unten (am nächsten an einem einheitlichen grauen Hintergrund). Rote Bereiche - Benutzerintervalle. Wenn der Algorithmus eine falsche Vorhersage liefert, kann der Benutzer diese korrigierenAnfangs habe ich ein neuronales Netzwerk auf einem sehr kleinen Datensatz trainiert. Ich habe die Benutzeroberfläche (siehe Bild oben) entwickelt, um Prognosen zu visualisieren und mehr Daten hinzuzufügen, um Modelle mit besserer Leistung zu trainieren. Zum Zeitpunkt dieses Schreibens enthält der Trainingsdatensatz ungefähr zehn Tage Audio: 66 Stunden Werbung, 96 Stunden Sprechen und 73 Stunden Musik.
Trotz der guten Arbeit war die Klassifizierungsgenauigkeit immer noch etwas niedriger als die Erwartungen der Benutzer (siehe Abschnitt über zukünftige Verbesserungen weiter unten). Im Training betrug die Genauigkeit der Kategorieprognose 95%, aber die verbleibenden falschen Klassifizierungen machten die Benutzer unglücklich.
Hinweis für Datenverarbeitungsspezialisten: Es ist üblich, formale Ergebnisse zu liefern und den Datensatz in Teilmengen von Schulungen und Tests zu unterteilen. Ich denke, dass dies hier keinen Sinn macht, da der Datensatz allmählich auf Daten aufgebaut wird, bei denen frühere Modelle falsch waren. Dies bedeutet, dass der Datensatz mehr Pathologien enthält als die durchschnittliche Sendung, und die Genauigkeit wird unterschätzt. Für die Messung der realen Indikatoren sind separate Arbeiten erforderlich. Der Bediener kann fortlaufende Segmente herkömmlicher Audioaufnahmen als Testdaten markieren, dann die Genauigkeit berechnen und diese abrufen. Mit einer solchen regelmäßigen Überprüfung können Sie die Leistung der Filter überwachen.Die Kategorisierung von Werbung / Gesprächen / Musik fügte den Zuhörern mehr Komfort hinzu. Diese Klassifizierung komplizierte jedoch die Benutzeroberfläche und es wurde schwieriger, mit Benutzerberichten zu arbeiten. Wenn die Flagge anzeigt, dass es sich bei einigen Inhalten nicht um Musik handelt, handelt es sich dann um Werbung oder Konversation? Hier brauchen Sie sofortige Moderation, nicht post factum.
Um die Qualität weiter zu verbessern, habe ich die neueste Version von Adblock Radio entwickelt, die diese Strategie leicht verbessert.
5. Die Kombination aus Klangklassifizierung und Fingerabdruckabgleich (Erfolg!)
Mein bester Algorithmus ist
auf Github veröffentlicht . Um die Zuverlässigkeit zu erhöhen, kombiniert er Konzepte aus zwei früheren Versuchen: akustische Klassifizierung und Fingerabdruckdatenbank.
Ein ordnungsgemäß trainierter Prädiktor für maschinelles Lernen bietet die korrekte Klassifizierung der meisten Quellmaterialien, funktioniert jedoch in einigen Situationen nicht (siehe Abschnitt über zukünftige Verbesserungen weiter unten). Die Rolle des Fingerabdruck-Matching-Moduls besteht darin, Fehler im Modul für maschinelles Lernen zu reduzieren.
Nicht alle bekannten Trainingsdaten werden in die Fingerabdruckdatenbank eingegeben, sondern nur eine kleine Teilmenge, in der beim maschinellen Lernen Fehler auftreten. Ich nenne es die "Hotlist-Datenbank". Die geringe Größe trägt dazu bei, die Gesamtfehlerrate zu reduzieren und gleichzeitig die CPU-Auslastung gering zu halten.
Auf einem normalen Laptop verbraucht der Algorithmus nur 5-10% der CPU in Dateien und 10-20% in der Luft.
Zukünftige Verbesserungen
Einige Arten von Inhalten sind immer noch problematisch.
Der Detektor funktioniert bei bestimmten Arten von Audioinhalten nicht einwandfrei:
- Hip-Hop-Musik wird oft als Werbung erkannt. Sie können das Problem umgehen, indem Sie der Hotlist Titel hinzufügen, aber das ist zu viel Musik. Ein allgemeineres neuronales Netzwerk könnte entwickelt werden, möglicherweise auf Kosten der Leistung.
- Musikalbum-Anzeigen werden häufig als Musik erkannt. Das Blockieren durch Fingerabdrücke führt jedoch zu Fehlalarmen, wenn ein echtes Lied gesendet wird. Das Problem kann durch eine eingehendere Analyse des Kontexts gelöst werden, ist jedoch in der Luft schwierig, da der Kontext nur wenige Sekunden im Voraus bekannt ist.
- Talkshow-Anzeigen werden häufig als Konversation erkannt. Es gibt unscharfe Grenzen, weil es sowohl ein Gespräch als auch eine Werbung ist. Wir sehen die Grenzen der Möglichkeiten des Klassifikators Werbung / Konversation / Musik. Für die Klassifizierung nach Fingerabdrücken habe ich einige Zeit die Klasse ad_self verwendet, die Talkshow-Anzeigen auf bestimmten Stationen enthält. Mit der Einführung des Algorithmus für maschinelles Lernen habe ich dies jedoch eingestellt. Es kann ratsam sein, diese Klasse neu zu erstellen. Eine weitere Option ist eine bessere Analyse des Kontexts.
- native Werbung, bei der der Gastgeber den Sponsorentext liest. Im Radio ist dies selten und häufiger in Podcasts. Der logische nächste Schritt zum Blockieren solcher Werbung ist die Einführung einer Spracherkennungssoftware.
Markov-Ketten für eine stabilere Nachbearbeitung
Die Nachbearbeitungsstabilität kann verbessert werden. Derzeit werden nur Konfidenzschwellen verwendet. Wenn der Schwellenwert erreicht ist, wird die letzte sichere Prognose erstellt. Daher speichert das System manchmal einen Fehler.
Die Zyklen von Werbung, Gesprächen und Musik sind bei jeder Sendung eher zyklisch. Beispielsweise dauert Werbung normalerweise einige Minuten. Für jeden Zeitraum in einer Werbepause können Sie die Wahrscheinlichkeit eines Übergangs in einen anderen Zustand (Konversation oder Musik) berechnen. Diese Wahrscheinlichkeit hilft, die verrauschten Vorhersagen des Algorithmus besser zu interpretieren: Ist es nur ein kurzes Musiksegment in der Anzeige oder ist die Werbepause abgeschlossen? Hier werden
versteckte Markov-Modelle ein gutes Forschungsgebiet sein.
Analoges Radio wird noch nicht unterstützt
Analoge Signale (FM) wurden nicht getestet und werden derzeit nicht unterstützt. Analoges Rauschen überschreibt die hier verwendeten Methoden. Möglicherweise sind Filter und / oder rauschresistente Algorithmen zur Erkennung von Fingerabdrücken erforderlich. In diesem Fall kann das Programm eine breitere Anwendung unter den Benutzern finden. Radio verlagert sich jedoch zunehmend auf rauschfreie digitale Technologien wie
DAB und Internetradio.
Es wird nicht empfohlen, Adblock Radio in der Cloud auszuführen
Im Idealfall sollte Adblock Radio nur auf Endgeräten ausgeführt werden. Aber jetzt sind Cloud-Services in Mode. Darüber hinaus ist dies eine großartige Geschäftsidee! Adblock Radio testete zwei Architekturoptionen mit einem solchen Paradigma. Die Erfahrung zeigt jedoch, dass dies aus technischen und rechtlichen Gründen nicht die beste Option ist.
Option 1. Relais vom Server
Der Server kann Audioinhalte mit Anzeigen- / Gesprächs- / Musik-Tags an Hörer weiterleiten. Wir haben es 2016 getestet. Hier treten rechtliche Probleme auf, da die Weitergabe des Streams als Fälschung und / oder Verletzung des Urheberrechts angesehen werden kann (obwohl ich kein Anwalt bin). Es lässt sich auch nicht gut skalieren, da Sie jetzt ein CDN sind und die Kosten tragen müssen.
Aus Scherzgründen wurde Adblock Radio am Sonntag, als ich aus familiären Gründen abwesend war, sehr beliebt,
worauf es fiel . Unterhaltsame Tatsache: Einige Tage später
bewarb France Inter , ein großer französischer öffentlicher Radiosender,
Adblock Radio zur Hauptsendezeit (ohne es jedoch zu benennen). Dies ist eine unerwartete redaktionelle Entscheidung im Zusammenhang mit der Tatsache, dass die Aufsichtsbehörden 2016 beschlossen haben
, die Werbebeschränkungen für staatliche Radiosender zu lockern , was den
Streit zwischen den Mitarbeitern von Radio France und dem Management verschärfte.
Einige Wochen später erhielt ich vom Anwalt des französischen privaten Radiosenders
Les Indés Radio Drohungen , angeblich aufgrund von Urheberrechts- und Markenrechtsverletzungen. Da ich keine finanziellen Mittel für ernsthaften Schutz hatte, musste ich einige Flows von der Site entfernen, die Site teilweise schließen und die Architektur des Systems ändern. Gleichzeitig weigerte sich dieses Funknetz, auf der Suche nach einem Kompromiss zusammenzuarbeiten. Da ich in den Protokollen sehe, dass sie meine Website weiterhin überwachen (manchmal mit pseudonymen Konten), haben sie sich auch mit
ihren Anwälten beraten. Was für eine Ehre für mich! Rückblickend haben sie erfolgreich Zeit gewonnen, aber nichts weiter. Hallo Leute aus Indés! Ich wünsche Ihnen viel Spaß beim Lesen!
Xoxoxo .
Liebeserklärung von Les Indés, einem Netzwerk von 131 französischen RadiosendernOption 2. Der Server leitet den Sound weiter, jedoch privat
Dies setzt eine Analyse auf dem Server und die Weiterleitung des gelöschten Tons für einen bestimmten Benutzer voraus. Ein solches System kann als eigene private Kopie der Medien vom Urheberrecht ausgenommen sein. Wenn der Server vom Endbenutzer verwaltet wird und die ursprüngliche Quelle in Ihrer Region legal und offiziell verfügbar ist, ist wahrscheinlich alles legal sauber. Weitere Informationen finden Sie in der Diskussion zu
Station Ripper [FR] und
VCast [FR] . Benutzer sind jedoch selten technisch versiert, einen Server selbst zu mieten und zu installieren.
Es ist sehr verlockend, den Server unter die Kontrolle eines Dritten zu stellen, dies führt jedoch zu rechtlichen Problemen, da dann der Betreiber, der die Kopie erstellt, und der Endbenutzer nicht dieselbe Person sind. In diesem Fall gelten zumindest in Frankreich gesetzliche Beschränkungen. Der französische Internetdienst
Wizzgo [FR] ist 2008 auf diese Regel gestoßen. In jüngerer Zeit wurde in den USA der
Aereo- Fernsehdienst geschlossen, obwohl Vorsichtsmaßnahmen getroffen wurden, indem
jedem Kunden ein
separater Tuner (!) Verteilt wurde.
Derzeit kämpft der
Dienst Molotov.TV [FR] gegen Urheberrechtsinhaber, die
seine Funktionen [FR] trotz des erheblichen Einflusses seiner Mitbegründer
einschränken wollen.
Private Copy Tax [FR] muss
an die offizielle Organisation gezahlt werden . Die Menge wird durch
ziemlich undurchsichtige Berechnungen [FR] bestimmt und
erhöht sich jedes Jahr
[FR] und erreicht mehrere zehn Eurocent pro Benutzer und Monat. Dieses Board ist so hoch geworden, dass Molotov.TV kürzlich
die Funktionen seines Dienstes für kostenlose Benutzer [FR] entfernt hat . (Hinweis: Ich danke den Journalisten der französischen Website
NextINpact von
Herzen für die sehr gute Berichterstattung zu diesem Thema.)
Bezahlen ist nicht genug: Laut Gesetz müssen Unternehmen wie Molotov.TV
[FR] -Vereinbarungen mit urheberrechtlich geschützten Unternehmen über die Funktionalität ihres Dienstes unterzeichnen. Versuchen Sie, eine Einigung mit den Radiounternehmen zu erzielen, wenn Sie mit der Kürzung ihrer Anzeigen beginnen.
Option 3. Der Server sendet nur Metadaten
Eine andere Möglichkeit besteht darin, dass sowohl der Benutzer als auch der Server gleichzeitig dasselbe Internetradio hören. In diesem Fall analysiert der Server den Ton und sendet die Metadaten der Benutzerklassifizierung (Anzeige / Gespräch / Musik), jedoch keine Audioinhalte. Seit 2017 arbeitet
adblockradio.com an dieser Architektur. Es basiert auf CDN und verursacht daher keine Kosten in Bezug auf Broadcast-Audio.
Diese Architektur beseitigt das Problem der Urheberrechtsverletzung (Haftungsausschluss: Ich bin kein Anwalt). Es besteht jedoch möglicherweise noch eine gewisse Unsicherheit hinsichtlich der Markengesetze. Vor kurzem (Oktober 2018) forderten die
Eigentümer von
Skyrock- Radios, dass Inhalte auf dieser Grundlage entfernt werden.
Romanze aus der Rechtsabteilung von SkyrockZusätzlich zu rechtlichen Überlegungen gibt es ein technisches Problem bei der ordnungsgemäßen Synchronisierung zwischen Audio und Metadaten. In den meisten Fällen funktioniert alles einwandfrei mit einem Synchronisationsintervall von weniger als zwei Sekunden. Einige Radiosender haben jedoch seltsame / böswillige CDNs oder fügen Anzeigen dynamisch in den Stream ein. Dies bedeutet, dass die Flüsse zwischen dem Server und verschiedenen Clients erheblich variieren können. Beispielsweise wurden bei
Radio FG Verzögerungen von bis zu 20 Sekunden und bei
Jazz Radio von bis zu 45 Sekunden beobachtet. Dies enttäuscht die Zuhörer.
Die Synchronisation kann eng implementiert werden, indem Datenblöcke zwischen dem Server und dem Benutzer verglichen werden. Leider funktioniert dies in Webbrowsern nicht, da die meisten CDNs in Internetradiosendern keine
CORS-Header verwenden . Daher kann JavaScript im Browser keine Audioinhalte zum Vergleich lesen. Für die Arbeit benötigen Sie separate eigenständige Module (z. B.
Electron ), Flash-Module (yeah) oder Web-Erweiterungen, was etwas redundant erscheint.
Sie können Adblock Radio in Ihren Player integrieren
Dieses Projekt richtet sich nicht an Endbenutzer, sondern an Unternehmen, die ein Massenprodukt veröffentlichen. Das kannst du machen!
Entwickler haben zwei Möglichkeiten, Adblock Radio zu integrieren. Erstens nimmt das
SDK einfach Metadaten vom adblockradio.com-Server. Dies ist aus den oben beschriebenen Gründen (rechtliche und Synchronisierungsprobleme) keine ideale Lösung. Es ist besser, einen vollständigen
Analysealgorithmus auszuführen.
Software
- Mobile Anwendungen für Internetradio und Podcasts. Keras-Modelle müssen in nativen Tensorflow konvertiert werden, und die Keras + Tensorflow-Bibliothek kann durch Tensorflow Lite für Android und iOS ersetzt werden . Node.JS-Routinen werden mit dem React Native-Plugin oder im Extremfall mit Termux implementiert .
- Browsererweiterungen funktionieren mit Tensorflow JS und SQL.js. Die Erweiterung kann den Lautstärkeregler in gängigen Internetradio-Verzeichnissen wie TuneIn oder Radio.de steuern. Ich habe bereits an einer solchen Erweiterung gearbeitet. Es hat Spaß gemacht, in JavaScript-Playern herumzustöbern, um diese Kontrolle zu bekommen. Beachten Sie je nach Implementierung die oben beschriebenen Synchronisierungsprobleme.
Hardware
- Digitale Alarme und Amateurprojekte, sofern ausreichende Rechenleistung und Netzwerkzugang verfügbar sind. Plattformen wie Raspberry Pi Zero / A / B sollten ausreichen, um einen einzelnen Stream zu analysieren, obwohl RPi 3B / 3B + für die parallele Steuerung mehrerer Streams empfohlen wird. Tensorflow ist auf Raspbian .
- angeschlossene Lautsprecher wie Sonos . Der Algorithmus selbst funktioniert auf solchen Geräten nicht. Daher müssen Sie Daten entweder in der Cloud oder auf einem separaten Gerät im selben lokalen Netzwerk (z. B. auf Raspberry) verarbeiten. Tolle Idee für eine Crowdfunding-Kampagne.
Adblock Radio im Auto
Das Auto ist einer der beliebtesten Orte, um Radio zu hören. Dort brauchen die Leute wirklich einen Werbeblocker. Dies ist jedoch auch der Kontext, in dem die Implementierung von Adblock Radio nicht einfach ist. Schließlich muss das System Feedback erhalten, um neue Anzeigen effektiv filtern zu können, sodass das Programm eine Netzwerkverbindung benötigt. Ich sehe drei mögliche Konzepte für Automobilprodukte mit Adblock Radio.
- Eine Anwendung, die mit den Infotainmentsystemen moderner Autos kompatibel ist . Der wahrscheinlich einfachste Weg, Daten zu übertragen, ist über das Smartphone des Benutzers. Das Smartphone kann auch separat verwendet werden - mit einer mobilen Anwendung, die Internetradio über Audioausgang streamen und eine Verbindung zum AUX oder Bluetooth des Fahrzeugs herstellen kann. Es kann auch in das Infotainment-System des Autos integriert werden, im Geiste von Apple Car Play , Android Auto und MirrorLink . Es wäre fantastisch, terrestrisches Radio (FM, DAB) zu hören. Es ist jedoch noch Arbeit erforderlich, um festzustellen, in welchen bestimmten Konfigurationen Adblock Radio auf den Audioausgang des Radio-Tuners zugreifen und ihn gleichzeitig steuern kann (Lautstärke, Kanal).
- Universeller Hardwareadapter, dedizierte Benutzeroberfläche . Es ist auch möglich, kundenspezifische Geräte zu entwickeln, die den vorhandenen DAB-Adaptern für Automobile ähneln. Diese Geräte stellen Radiosender ein und übertragen Audiodaten über die AUX-Buchse oder über einen nicht verwendeten FM-Kanal wie alte iPod FM-Adapter an das Fahrzeugsystem. Der Zugriff auf das Netzwerk kann über ein Smartphone über Bluetooth erfolgen. Alternative Lösungen wie Sigfox und LoRa könnten in Betracht gezogen werden, wenn Bitrate und Preis angemessen sind. Es sollte eine spezielle Benutzeroberfläche entwickelt werden, die vom Hauptfahrzeug getrennt ist. Am Ende kann sich dies als zu teuer herausstellen.
- Ein minimalistisches Gerät, das in den FM-Empfänger einbricht . Ein so kleines Gerät kann den Tuner bei Bedarf steuern. Benötigen Sie eine standardmäßige, aber einfach zu verbindende Schnittstelle. Lenkradschalter sind ein guter Kandidat, aber Endbenutzer können sie für diesen Zweck nicht einfach modifizieren. Sie müssen also das System hacken.
Dieses kopflose Gerät verfügt über einen FM-Tuner und ein Mikrofon, um zu analysieren, welchen Sender der Benutzer hört (Kreuzkorrelation). Wenn eine Anzeige erkannt wird, sendet das Gerät gefälschte RDS- Daten (z. B. Verkehrsmeldungen ), um den Autotuner auszutricksen und den Sender für die Dauer der Anzeige zu wechseln.Es kann auch Stille auf der aktuellen FM-Frequenz senden.
Die Benutzeroberfläche eines solchen Geräts ist mit nur wenigen Tasten sehr einfach. Also billiger als ein voll ausgestatteter Autoadapter. Es ist jedoch unklar, ob dies zuverlässig funktioniert, da die Verwendung von Funksendern ohne Lizenz gesetzlich streng beschränkt ist . Schließlich ist nicht bekannt, ob eine solche Strategie für die Arbeit mit digitalen DAB-Streams angepasst werden kann.
Wenn es möglich ist, ein billiges Gerät zu entwickeln, muss ein solches Produkt kommerziellen Erfolg haben. Es eignet sich auch für Crowdfunding.Das Projekt benötigt Signale für falsche Antworten und Unterstützung bei deren Verarbeitung.
Lassen Sie bei der Integration von Adblock Radio in das Produkt die Möglichkeit für Feedback. Fehlfunktionen sollten mir sofort gemeldet werden, damit ich Modelle für maschinelles Lernen und die Hotlist-Basis aktualisieren kann.Berichte werden manuell angezeigt: Geben Sie einfach den Namen des Radiosenders und die Zeit an, zu der das Problem aufgetreten ist. Die Bibliothek gegründeten Mechanismus Berichterstattung für das Senden.Die Berichtsverarbeitung braucht Zeit. Neben den Serverkosten ist dies ein weiterer Grund, warum ich adblockradio.com keine weiteren Radiosender hinzugefügt habe. Benötigen Sie Hilfe , um Audiospuren anzuhören und Inhalte in der Admin-Weboberfläche zu klassifizieren? Dank dessen können wir die Anzahl der Radiosender erhöhen und Podcasts unterstützen. Wenn Sie bereit sind zu helfen, bitteRegistrieren Sie sich hier und folgen Sie dem Repository, in dem die Diskussion der unterstützten Threads stattfinden wird.So ersetzen Sie Anzeigen: UX-Frage
Das Überspringen von Anzeigen in einem Podcast ist trivial: Aus der Sicht des Hörers ist es so, als würde man Teile eines Songs überspringen. Leider funktioniert dies nicht für Radio. Wir können live nicht schnell vorspulen!Adblockradio.com bietet jetzt drei Filteroptionen:- Lautstärke verringern
- zu einem anderen Sender wechseln und am Ende der Werbung zurückkehren. Dies gilt, wenn der Benutzer eine Konversation abhört. Während der Werbung wechselt er vorübergehend zu einem Musiksender.
- permanente Umschaltung auf eine andere Station. Nützlich beim Hören von Musiksendern.
Ich habe mein Bestes gegeben, um es so bequem wie möglich zu gestalten, aber das System ist immer noch kompliziert. Nicht so einfach wie ein normaler Radio- oder Werbeblocker auf einem Computer, den Sie installieren und vergessen können . Ich zähle wirklich auf die Hilfe des kollektiven Geistes.
Aktuelle Adblock Radio -Weboberfläche Ein
alter Prototyp, der nie herauskam. Hier hat der Benutzer absolut vollständige Einstellungsfreiheit. Nur Konversationssendungen von einem Sender, nur Musik von einem anderen Sender usw. Aber Tester sind so verwirrt! Rückblickend ist diese Benutzeroberfläche selbst für mich schwer zu verstehen.Es scheint mir eine andere Möglichkeit zu sein, den Inhalt anzuhören. Ich konnte es aus den oben genannten rechtlichen Gründen nicht auf adblockradio.com verkaufen. Stattdessen habe ich einen eigenständigen Desktop-Player erstellt (auch auf Github erhältlich ), im Geiste digitaler Videorecorder . Benutzer beginnen mit einer Zeitverschiebung von etwa 10 Minuten zu hören (dh beispielsweise um 7.30 Uhr morgens beginnen sie, die Audioübertragung ab 7.20 Uhr anzuhören). Bei jeder Werbeunterbrechung erfolgt ein schneller Vorlauf - und Sie können Ihr Programm ohne Unterbrechungen genießen. Mit einer typischen Menge an Werbung können Sie in einer zehnminütigen Schicht ein oder zwei Stunden lang ohne Unterbrechung Radio hören. Im Falle einer mobilen Anwendung würde dies ausreichen, um an die Arbeit zu gehen.Wenn der Benutzer das Gerät einschaltet, muss er die Sendung vor zehn Minuten liefern. Wie geht das im Kontext der Mobilität mit Einschränkungen bei der Menge an Energie und Daten? Bitte beachten Sie, dass das Gesetz nicht lizenzierten Dritten (in der Cloud) die Ausstrahlung von Radioaufnahmen untersagt.
Ein funktionierender Prototyp eines Zeitverschiebungsradios. Audioblöcke werden nach Segmenten klassifiziert. Die Musik ist blau, die Gespräche sind grün und die Werbung ist rot. Wenn der rosa Cursor die rote Zone (Anzeigen) erreicht, wird er übersprungenAuf lange Sicht kann das System Broadcast-Inhalte von allen Sendern empfangen - und diese vollständig an den Geschmack jedes Hörers anpassen. Übertragen Sie Ihre Lieblingssendungen, Musik nach Ihrem Geschmack, fügen Sie Podcasts usw. ein. Meiner Meinung nach sind Live-Inhalte schwer zu verschieben und später hochzuladen: Sportveranstaltungen, Nachrichten, Wettervorhersagen, Live-Musik und usw. Vielleicht wird dies ein alternatives Geschäftsmodell für Radio .Fazit
Die technische Lösung zum Blockieren von Werbung im Radio und in Podcasts erwies sich als komplizierter als wir möchten. Modelle müssen regelmäßig mit neuen Videos aktualisiert werden. Dies bedeutet, dass das System in mit dem Internet verbundenen Geräten wie Smartphones und WLAN verwendet werden sollte. Der Dienst ist noch nicht für herkömmliche Standalone-Radios (FM, DAB +) geeignet. Glücklicherweise ändern die Menschen mit der Allgegenwart der Mobilkommunikation ihre Gewohnheiten, sodass das Blockieren von Anzeigen in Zukunft einfacher sein sollte.Sie können bei der Entwicklung von Adblock Radio helfen.- Als Radiohörer: Schalten Sie den Player ein , hören Sie Radio und notieren Sie Fehler, damit der Algorithmus lernen kann. Hast du keine Lieblingssender? Kein Problem, gehen Sie hier und hinterlassen Sie eine Anfrage.
- Als Entwickler: Gehen Sie zum Repository , führen Sie die Demo aus, und nehmen Sie an der Diskussion teil. Schauen Sie sich eine weitere Demo des Desktop-Players auf Electron an.
- Als Produktmanager: Kontaktieren Sie uns, wenn Sie Adblock Radio in Ihr Produkt integrieren möchten. Ich helfe Ihnen gerne weiter.
Audiowerbung bleibt auch in Zukunft in fernen Erinnerungen! Danke fürs Lesen.