Musikplanung - Deutscher Song auf Deutscher Song

Hallo liebe mAirList Community,

ich suche eine Möglichkeit in der Musikplanung von mAirList die Regel aufzustellen, dass zwei Deutsche Songs nicht hintereinander laufen können.
Habt Ihr zufällig Ideen das umzusetzen?

Beste Grüße
Gabriel

Verwende verschiedene Musikblöcke. In dem einen kommen deutsche Songs vor, im anderen nicht.

Wie häufig soll denn deutsche Musik je Stunde gesendet werden bzw. in welchem Abstand?
Gibt es eine feste Musik-Stundenuhr in deinem Programm oder tobt bei dir der Zufalls-Würfel?

Ich habe eine Rotation mit verschiedenen Rotationsstufen und in den verschiedenen Stufen sind einige wenige Songs auf Deutsch. Es kam jetzt relativ häufig vor, dass zwei Deutsche Songs hintereinander liefen.
Am liebsten wäre mir eine Lösung bei dem ich jedem Song einen Tag mit der Sprache gebe und dann irgendwie die Regel aufstelle, dass der Tag “Deutsch” nicht zwei mal hintereinander laufen darf.

Wenn du mAirList vollkommen frei würfeln lässt, kann das passieren, ja. Ebenso wie zwei Top-Hits direkt hintereinander laufen können.

Zunächst einmal ist die Lösung mit dem Tag so oder so möglich, wenn die Sprache schon vorher im ID-Tag enthalten war und als Attribut in mAirList übernommen wurde. Du kannst dieses Attribut aber auch nachträglich in der Datenbank hinzufügen.

Zur Anwendung von Filtern in der Musikplanung:

Die Regel wird jedoch - so, wie du sie formulierst - nicht greifen. Alternativ: Du verwendest einen anderen Algorithmus der Zusammenstellung.
Nähere Informationen dazu: tutorials:mairlistdb:music-scheduling [mAirList Wiki]

Ansonsten müsstest du zu einer externen Musikplanungssoftware greifen.

Ob wir Torben zu einer grundlegenden Überarbeitung - oder zumindest einem Ausbau - des Mini-Schedulers überreden können? Schwer zu beurteilen; da steckt viel Programmierarbeit drin.

Deine Idee lautet ja: Sperre Songs eines gewissen Genres / Sprache / Geschwindigkeit / Tempo / etc. für die nächsten xy Titel, wenn ein Song dieses Filters gerade gewählt wurde.
Puh. :thinking:

Ich habe schon mehrfach erklärt, diese Abhängigkeiten zwischen den Songs würden die Komplexität des Algorithmus auf eine komplett neue Ebene heben, für die man dann sehr ausgeklügelte Approximationsalgorithmen bräuchte, damit alles noch in vertretbarer Zeit abläuft. Die Jungs von MusicMaster entwickeln sowas seit über 25 Jahren. Ich mache das nicht mal eben nebenbei.

Um das Problem zu verstehen:

Solange genug Titel im Pool sind, ist es ja einfach zu sagen “ok, gerade lief ein deutscher Song, dann nehme ich jetzt einen in einer anderen Sprache”.

Wenn aber für den zweite Titel plötzlich nur noch deutsche übrig bleiben, oder die nicht-deutschen aufgrund anderer Regeln/Einschränkungen nicht passen, dann muss der Scheduler theoretisch seine Entscheidung für den ersten Titel wieder über den Haufen werfen. Also einen Schritt zurückgehen. Und eventuell noch viele Schritte mehr zurück.

Das nennt sich “Backtracking”, und endet im worst case in expontentieller Laufzeit. Leih dir gerne mal ein Buch über theoretische Informatik und Komplexitätstheorie aus und lies etwas über “NP-Vollständigkeit”, da bist du dann schon auf dem richtigen Weg :slight_smile:

1 Like

Vielen Dank für Eure Antworten!
Dann werde ich wohl damit leben müssen. Ist ja jetzt nicht soo schlimm :wink: