BBC R&D: Using MusicBrainz and Twitter to tell artists when their tracks are played on BBC Radio

Development Producer

As part of a 10% time project, myself and my colleagues in BBC R&D have created 7 Twitter bots that will tweet bands and artists whenever their music is played on BBC Radio:

1. BBCR1MusicBot - now playing on Radio 1

2. BBC1XMusicBot - now playing on 1xtra

3. BBCR2MusicBot - now playing on Radio 2

4. BBC6MusicBot - now playing on 6Music

5. BBCR3MusicBot - now playing on Radio 3

6. BBCANMusicBot - now playing on Asian Network

7. BBCMcrMusicBot - now playing on BBC Radio Manchester

The BBC 6 Music Twitter bot

What is this?

The original idea came from a friend whose music occasionally gets played on Radio 1, 1xtra and 6Music. Almost always he missed this and either found out later from a friend or never found out at all. But he does use various bits of social media (including Twitter) to make contact with fans and promote his releases and live appearances.

Unofficial now playing Twitter feeds exist for some (though not all) BBC radio networks. The only thing this adds is greater coverage of radio networks and the inclusion of @mentions so now playing information appears in the mentions timeline of the artist (or artists) concerned.

The accounts we created are designed to notify artists and not designed to be followed unless you want to drown in now playing information. That said the unofficial Radio 1 now playing account has over 40,000 followers...

How to use this if you're an artist

To power online music services such as BBC iPlayer Radio, Playlister and /music the BBC uses metadata provided by MusicBrainz, a community maintained music encyclopedia. If you use Twitter and you're a music artist or an agent or a publicist or similar and would like now playing notifications you need to check that your Twitter account handle is in MusicBrainz. Go to MusicBrainz and search for yourself or your band using the artist search. And hopefully you'll see yourself in the search results. (If you don't see yourself in the results then you'll need to add yourself or your band to MusicBrainz. Tom Robinson wrote an excellent guide to getting started with MusicBrainz here.) Click on the search result and you'll see your details. At the bottom of the right hand column you should see a list of external links. If your Twitter account isn't there then you'll need to add it.

Luckily anyone can edit MusicBrainz but first you'll need to register here. Once you've done that and logged in you'll see an "editing" section in the right hand column of your artist page. Under there there's an option to "Relate to URL". Click that, select "has a microblog at" from the type drop-down, enter the URL of your Twitter account, press "Enter edit" and next time one of your tracks gets played out on BBC radio you should get a Twitter notification.

Whilst you're editing MusicBrainz... can also add links to your homepage, Myspace page, Facebook page, SoundCloud page, blog, YouTube channel, music store, Discogs page, Wikipedia page etc. Links to all of these will automatically appear on your BBC /music page.

It's also worthwhile adding any track and release information and keeping that up to date. Because artist names can be ambiguous (there are 17 different artists called Aurora in MusicBrainz) we use track titles to disambiguate artist names and match them to MusicBrainz. So if the artist is called Aurora and the track title is Spectral Bass we can confidently say it's this Aurora.

Without the track title in MusicBrainz we can't reliably get a MusicBrainz artist ID and without that we can't get your Twitter handle. In general the more information you add to MusicBrainz and the more up to date that information is kept the better your representation on current and future BBC music services.

Behind the scenes

National music radio networks (and Radio Manchester) use a digital music playout system, where tracks are ripped to the equivalent of giant iPods and played out from a touch screen in the studio.

Every time a track starts to play the system sends a message to a message queue with now playing information (start time, duration, artist(s), track title, release title, label, catalogue number etc). Another piece of software picks up these messages, matches the artist(s) to MusicBrainz identifiers and puts the enhanced data onto another message queue. Which gets picked up by another piece of software which matches the network and timing information to programme information in PIPs (the system behind BBC iPlayer, BBC iPlayer Radio and /programmes). And another message queue takes that data and writes it to PIPs where it's used to power tracklists on programme pages and /music.

We've tapped into these queues of queues to get track information, artist MusicBrainz IDs and programme information. And then looked to MusicBrainz to check if the artist has a Twitter handle we can use to generate a mention.

Some caveats

1. Only the networks mentioned above currently use the music playout system. If other networks in the nations and regions switch to the same system then we'll add similar accounts for them.

2. Some pre-recorded programmes do not include now playing information.

3. TV does not use the playout system so any music played on TV as performance or background isn't included here.

4. In the past more specialist music was often not ripped to the playout system but played from CDs and vinyl in the studio. We had no record of now playing information for this music. Increasingly even where music is not played out of the playout system, (meta)data for the track and timing information is entered so we do get now playing information.

This project is an experiment from BBC R&D. I’d be very interested in your feedback on it, so please leave a comment below.

Michael Smethurst is a Development Producer in BBC R&D


This entry is now closed for comments.

  • Comment number 13. Posted by fantasticlife

    on 28 Nov 2013 13:47

    Delayed replies... sorry

    @cping500 this piece of work is quite separate to the BBC's PRS reporting. The playout system mentioned does output reporting data but that needs to be combined with all the music played which doesn't come out of the playout system (CD plays, prerecorded programmes, live tracks etc)

    @mavit that's interesting to know. I was aware of bots replicating data in the other direction (musicbrainz to wikidata) but wasn't aware of this one

    @rovastar no. we have a musicbrainz mirror which obviously has release (and release group) data but we don't match to release information from production systems. So far we've only found the need to match to artists and not tracks or releases since /music is artist centric. Which is why only artist names are clickable on programme tracklists.
    Playlister ( does rely on having identifiers for "tracks" but a similar problem to the release / release group problem exists there too. If a single artist has multiple recordings of the same song / work (live at x, live at y, in session, single version, album version, extended mix, complete remix etc etc) at what point do people understand that a recording is different enough to constitute a new "thing"? For that reason playlister doesn't use musicbrainz track ids but some combination of musicbrainz artist id and some heuristic processing of track titles to roughly group recordings which are "similar enough". But that's probably a whole other post.
    > However what I do not understand if you are getting (most of) this
    > information from musicbrainz how you cannot have some corresponding
    > Musicbrainz release ID? I don't see how you can have one without the
    > other.
    Because the matching done in the message queues only matches the artist name to a musicbrainz artist id (using the track title to disambiguate). we're not matching a track played to a musicbrainz track because we've never needed to / it's hard
    hope that explains

  • Comment number 12. Posted by Rovastar

    on 18 Nov 2013 16:08


    I see. I presumed you had musicbrainz release information. I also do understand that is just an R&D project knocked up quickly and not a dedicated and detailed product.
    As a keen musicbrainz editor I understand the problems of multiple releases (maybe the release group would be better in this case)

    However what I do not understand if you are getting (most of) this information from musicbrainz how you cannot have some corresponding Musicbrainz release ID? I don't see how you can have one without the other.

    • This entry is now closed for comments. Number of positive ratings for comment 12: 0
    • This entry is now closed for comments. Number of negative ratings for comment 12: 0
  • Comment number 11. Posted by mavit

    on 16 Nov 2013 19:11

    Andy: there are bots that import data from Wikidata to MusicBrainz (e.g. [Broken URL removed by Moderator] . Extending one of those to get missing Twitter URL into MusicBrainz may be the way to go (assuming, of course, that someone isn't doing this already).

    • This entry is now closed for comments. Number of positive ratings for comment 11: 0
    • This entry is now closed for comments. Number of negative ratings for comment 11: 0
  • Comment number 10. Posted by cping500

    on 15 Nov 2013 09:41

    Thanks for a very interesting post Thanks to Michael and commenters. My interest is not the music but the'10% Time Projects and 'the innovation/learning' aspects shared with a wider community,

    Incidentally is it linked with the BBCs PRS reports?

    • This entry is now closed for comments. Number of positive ratings for comment 10: 0
    • This entry is now closed for comments. Number of negative ratings for comment 10: 0
  • Comment number 9. Posted by fantasticlife

    on 13 Nov 2013 14:59

    @rovostar Think this question might be outside the scope of this (very small) piece of work and probably best addressed to the radio and music team. Like I said earlier this was just a very quick hack which did the job (artist notification) as simply as possible. I'll try to answer your questions with the caveat that other people could probably answer them better:

    On linking to releases I wasn't very clear in my earlier comment and was talking about the choice of linking to the programme, the /music artist page or the musicbrainz artist page. These are are available from the data we have in the message queues. Release information isn't available in those feeds and we don't (yet) map to MusicBrainz release IDs in our systems because:
    - quite a lot of the time radio stations are playing pre-release tracks ripped from CDs which aren't yet on an official release
    - occasionally tracks are played off compilation albums and various artist compilation albums
    - MusicBrainz models release quite granularly (the UK pink vinyl release, the Japanese CD, the French CD etc). So there are 18 Beatles Rubber Souls in MusicBrainz (as I'm sure you know - sorry if this is egg-sucking) so choosing which is match to isn't trivial:
    Hopefully the Release Group modelling will plug this gap one day but I don't think it's populated yet for everything. Also the BBC isn't allowed to link out to direct sales sites so that gap from release to sale is hard to fill
    That said playlister is looking to link out to track streaming services and at some point it would be nice to include that in the twitter feeds:

    @ewan we have looked at fingerprinting music (and radio programmes). We haven't yet used it to match to MusicBrainz because to date matching to artists has been good enough and we've not attempted to match to tracks, releases or release groups. Again there's the problem that a proportion of the music played is played pre-release so there's nothing to match fingerprints to...

  • Comment number 8. Posted by U15917364

    on 13 Nov 2013 07:22

    Great Info. Thanks for the your effort. Appreciate it.

    • This entry is now closed for comments. Number of positive ratings for comment 8: 0
    • This entry is now closed for comments. Number of negative ratings for comment 8: 0
  • Comment number 7. Posted by _Ewan_

    on 12 Nov 2013 17:02

    Given that the playout system doesn't cover everything, and given the need to disambiguate tracks with common titles, did you consider using audio fingerprinting on the output instead?

    • This entry is now closed for comments. Number of positive ratings for comment 7: 0
    • This entry is now closed for comments. Number of negative ratings for comment 7: 0
  • Comment number 6. Posted by Rovastar

    on 12 Nov 2013 15:54

    Personally I don't think it is easy to find out what release the track came from.
    Say I saw the twitter update and thought I want to buy/find more info about this release - it is very tricky to get there. I would have thought the artists retweets of this (one of your goals) would be very useful to have what release it is.

    a) Sometimes/often the twitter feed does not reflect the show listing. Now I am looking the Radio 1 feed now and no tracks are the same at all.

    b) Even if I have the Radio show getting the album/release is difficult. Especially if the artist has dozens of releases. You already have the relevant MB release ID to directly link to it.
    Can you explain how to do it? It might be 3 clicks away but I cannot see it.

    • This entry is now closed for comments. Number of positive ratings for comment 6: 0
    • This entry is now closed for comments. Number of negative ratings for comment 6: 0
  • Comment number 5. Posted by fantasticlife

    on 11 Nov 2013 19:22

    @beth Glad you like :-)

    @rovastar We did think about also adding a link to the /music artist pages but decided against it for a couple of reasons:
    - tweet lengths are variable and some already get quite long. Especially for urban tracks with multiple contributors
    - adding two links might look and feel spammy to the artists concerned and they might trust the tweets less. Also it *might* make tweets more readily fall into twitter spam filters and we've already had some problems with that...

    We could have added links to artist pages instead but then you lose some of the context of the episode the track was played in (although the 'latest tracks' links back to the episode page). Linking to the episode page keeps you in the programme context and the artist page is only a click away (from the tracklist) and MusicBrainz one click past there

    @andy I did think the 'latest tracks' module on artist pages:
    had a subsidiary resource with rss available:
    but that doesn't seem to be the case. So either it did and I'm misremembering or it's been removed.

    RSS for radio stations is available via a slightly circuitous route. The old Radio and Music R&D team wrote some code to scrobble national radio now playing data to
    and you can get RSS from there.

    That said I don't think RSS solves the problem we were trying to solve here: the simplest means possible to notify artists they're on the radio. Personal preference would be to create RSS for all timed aggregations but for different reasons than this.

    On checking Wikidata for Twitter IDs, MusicBrainz has pretty good coverage of Twitter accounts for "major" artists; it's the smaller bands that tend to be missing. Given Wikipedia notability criteria going through Wikipedia to Wikidata probably wouldn't add a lot more. And then there's the usual flakey Wikipedia URLs to contend with which makes that bridge harder to cross. Also, as per the post, before we even get to Twitter handles we need to use track titles to disambiguate artist names so if artists add release and track information to MusicBrainz it's only going to improve the results.

  • Comment number 4. Posted by Andy Mabbett

    on 11 Nov 2013 14:47

    PS If you have a Wikipedia link but no Twitter ID in MusicBrainz, you can check Wikidata for a Twitter ID.

    • This entry is now closed for comments. Number of positive ratings for comment 4: 0
    • This entry is now closed for comments. Number of negative ratings for comment 4: 0
More comments

More Posts