MTG / dunya

The Dunya music browser
http://dunya.compmusic.upf.edu
GNU Affero General Public License v3.0
29 stars 20 forks source link

Artist role/instrument in a release #219

Closed gopalkoduri closed 9 years ago

gopalkoduri commented 9 years ago

Currently the API does not serve the data that concerns the role/instrument a person/an artist plays . For example, for the recording with MBID 3845625a-e186-44c3-b8f9-b47c1ca155bb, this is what is served:

{u'artists': [{u'mbid': u'0afc280e-c99c-4ab7-99d6-d1757c85d0f9',
   u'name': u'Sumithra Vasudev'},
  {u'mbid': u'e7e20b72-5405-4b7e-b1bf-60f005dbd647',
   u'name': u'Kallidaikurichi S. Sivakumar'},
  {u'mbid': u'38bbf40f-a2ea-4c69-99e0-bcb25be964b9',
   u'name': u'Padma Shanker'}],
 u'concert': [{u'mbid': u'98019cb6-9652-4d5a-a615-4eb3b896db35',
   u'title': u'Sumitra Vasudev at Arkay'}],
 u'form': [],
 u'length': 517093,
 u'mbid': u'3845625a-e186-44c3-b8f9-b47c1ca155bb',
 u'raaga': [],
 u'taala': [],
 u'title': u'Vanajaksha Ninne Kori',
 u'work': {u'mbid': u'aa74a709-1263-4ce9-929f-c426797f1342',
  u'title': u'Vanajaksha ninne'}}

This is a required information for the prototype app we are developing. Is there a way I can already get this info using the current API?

alastair commented 9 years ago

Yes, easy to add. It's on the list.

On 9 July 2015 at 01:34, Gopala Krishna Koduri notifications@github.com wrote:

Currently the API does not serve the data that concerns the role/instrument a person/an artist plays . For example, for the recording with MBID 3845625a-e186-44c3-b8f9-b47c1ca155bb, this is what is served:

{u'artists': [{u'mbid': u'0afc280e-c99c-4ab7-99d6-d1757c85d0f9', u'name': u'Sumithra Vasudev'}, {u'mbid': u'e7e20b72-5405-4b7e-b1bf-60f005dbd647', u'name': u'Kallidaikurichi S. Sivakumar'}, {u'mbid': u'38bbf40f-a2ea-4c69-99e0-bcb25be964b9', u'name': u'Padma Shanker'}], u'concert': [{u'mbid': u'98019cb6-9652-4d5a-a615-4eb3b896db35', u'title': u'Sumitra Vasudev at Arkay'}], u'form': [], u'length': 517093, u'mbid': u'3845625a-e186-44c3-b8f9-b47c1ca155bb', u'raaga': [], u'taala': [], u'title': u'Vanajaksha Ninne Kori', u'work': {u'mbid': u'aa74a709-1263-4ce9-929f-c426797f1342', u'title': u'Vanajaksha ninne'}}

This is a required information for the prototype app we are developing. Is there a way I can already get this info using the current API?

— Reply to this email directly or view it on GitHub https://github.com/MTG/dunya/issues/219.

alastair commented 9 years ago

The easiest way for me to add this is to have another field, instruments, like this:

    "instruments": [
        {
            "artist": {
                "mbid": "0afc280e-c99c-4ab7-99d6-d1757c85d0f9",
                "name": "Sumithra Vasudev"
            },
            "instrument": {
                "id": 1,
                "name": "Voice"
            }
        },
        {
            "artist": {
                "mbid": "38bbf40f-a2ea-4c69-99e0-bcb25be964b9",
                "name": "Padma Shanker"
            },
            "instrument": {
                "id": 2,
                "name": "Violin"
            }
        },
        {
            "artist": {
                "mbid": "e7e20b72-5405-4b7e-b1bf-60f005dbd647",
                "name": "Kallidaikurichi S. Sivakumar"
            },
            "instrument": {
                "id": 3,
                "name": "Mridangam"
            }
        }

Do you want this in addition to the artists field, or should I replace it?

alastair commented 9 years ago

Replace the artist block. If possible, add the concert artist if there is no relationship, with a blank instrument.

Look at opening another ticket to add missing lead artist relationships for the carnatic and hindustani collections on musicbrainz

alastair commented 9 years ago

Fixed in https://github.com/MTG/dunya/commit/a9dd180cbd8c813837b10cc79b64193da99ce5fd

I also opened https://github.com/MTG/dunya/issues/242 for us to add missing information to other carnatic releases. We can't do this automatically because we don't know if a lead artist is a vocalist or a violinist (for example).