ABC_DJ – Innovative Audio Branding Toolkit

ABC_DJ stands for Artist to Business to Business to Consumer Audio Branding System. The cooperative project of seven companies and research institutions from five different European countries is funded by the European Union’s Horizon 2020 research and innovation program and was scheduled for a duration of three years, from January 2016 to December 2018.
We supported HearDis! with the conceptual design and development of various components that are designed to make the daily workflow as efficient as possible and to accelerate various processes, such as the creation of custom playlists in the filed of instore music.
Music Library Manager
With the Music Library Manager, you can manage multiple client pools, which include a base set of tracks, that are automatically tagged with special meta tags (such as instrumentation and BPM for example). The automated tagging is done through several tailormade tools from Ircam and will be reviewed by music consultants afterwards. Deviations from the sense of the consultant can be subsequently adapted.

Playlist Generator
The playlist generator automatically creates customized playlists with the help of different rules or rulesets. You can drag the available rules to a calendar module and define a certain period. For example, it can be determined that the BPM should increase from 80 bpm to 90 bpm from 10:00 to 12:00 o'clock. And only female voices should occur plus tracks should not be repeated for a certain amount of time.
The more complicated the rules are, the less music from the pool fits these rules. Thus, with complex rule sets, a correspondingly large pool must be present to have longer playlists created with the requirements of PLG's internal algorithm. The generated playlists can then be delivered directly to the corresponding stores via the cockpit unit. If the generated playlists need to be analyzed first, the audio branding tool gives you an option to analyze in detail.

Audio Branding Tool
The audio branding tool is used to check generated playlists by the Playlist Generator on the one hand. Is the BPM course as desired? Is a title is played only a maximum of two times a day with a distance of + 6h? Are my genres and styles as wanted?
On the other hand, ABT also enables the visualization of customer pools. Outliers can be detected and information relevant to the customer can be captured quickly and visually easy.

Cockpit Unit
The Cockpit Unit is responsible for distributing the generated playlists and gives an overview to the administrator which player modules are currently in use. With the Cockpit Unit, playlists can always be updated with new music remotely. Different reports inform the user if playlists are ending soon or technical failures are appearing.

Technical background
The technical base used for both the Audio Branding Tool and the Playlist Generator is Grails 3 (a Groovy/Spring/Hibernate based Web-Framework for the JVM) in the backend and Angular, d3 in the frontend.
All components are containerized using Docker and can be easily deployed to their target environment from the CI-tool (where Gitlab is currently used).
Architectural specificities
The technically advanced jQuery FullCalendar was adapted to the customers need to allow easy and comfortable scheduling of rules in the PLG (Playlist Generator) component.
As the system consists of multiple standalone tools (Audio Branding Tool, Playlist Generator, Music Library Manager, Cockpit Unit) but authentication should only be done once by the user, Keycloak is used to provide an SSO experience.
Does this project sound interesting to you?
If you like what you see, let us know!