VocaDB / vocadb

VocaDB is a Vocaloid Database with translated artists, albums, music videos and more.
https://vocadb.net
Other
334 stars 40 forks source link

Supporting Bilibili videos that credit profiles of multiple collaborating artists #1338

Open AgFlore opened 4 years ago

AgFlore commented 4 years ago

From 2019 Bilibili has introduced a new feature, allowing producers to credit every staff member's profile (in terms of their Bilibili user id) in the video metadata. They are marked directly in the metadata as composers, tuners, singers, mixers, illustrators, animators etc. It would be great convenience if vocaDB can make use of that information and credit artists automatically with respective roles when adding songs.

The crediting information is available from the new API mentioned in VocaDB/vocadb#571 . Take https://vocadb.net/S/274579 (https://www.bilibili.com/video/av94664782) as an example. Access https://api.bilibili.com/x/web-interface/view?aid=94664782 and one get:

{
  "code": 0, 
  "message": "0",
  "ttl": 1,
  "data": {
    "bvid": "BV1HE411M7D6",
    "aid": 94664782,
    "videos": 1,
    "tid": 30,
    "tname": "VOCALOID·UTAU",
    "copyright": 1,
    "pic": "http://i2.hdslb.com/bfs/archive/6ba76449374152ad04610574340a057209329efe.jpg",
    "title": "【初音原创曲】39感谢日《在心上建一座星球》",
    "pubdate": 1583673534,
    "ctime": 1583665781,
    "desc": "我们心里年少时自己的模样,望着与曾经相似的影子,唤醒了自己曾经也拥有过的热烈自由\n“希望都可以成为这样的人,永远无畏,永远自由,永远满怀热忱”\n\nstaff:\n作编曲:katsu\n词:赭柚奶\n调声:流绪\n吉他:katsu\n贝斯:詹力旬\n混音:李星辰(Sound Crush Studio)\nSpecial Thanks:Digger\n\n一晃眼miku陪伴了我十年  有一首我五年前我的miku初投稿\n传送门:av1100118",
    "state": 0,
    "attribute": 16793984,
    "duration": 246,
    "mission_id": 12927,
    "rights": {
      "bp": 0,
      "elec": 0,
      "download": 1,
      "movie": 0,
      "pay": 0,
      "hd5": 1,
      "no_reprint": 1,
      "autoplay": 1,
      "ugc_pay": 0,
      "is_cooperation": 1,
      "ugc_pay_preview": 0,
      "no_background": 0
    },
    "owner": {
      "mid": 37399970, 
      "name": "katsu-Lee",
      "face": "http://i0.hdslb.com/bfs/face/766f4a69a5f046052c7acfa1ac2de424e5e071c3.jpg"
    },
    "stat": {
      "aid": 94664782,
      "view": 14605,
      "danmaku": 161,
      "reply": 170,
      "favorite": 1384,
      "coin": 1089,
      "share": 139,
      "now_rank": 0,
      "his_rank": 0,
      "like": 2499,
      "dislike": 0,
      "evaluation": ""
    },
    "dynamic": "#2020初音未来感谢日#新歌来啦",
    "cid": 161602123,
    "dimension": {
      "width": 1920,
      "height": 1080,
      "rotate": 0
    },
    "no_cache": false,
    "pages": [
      {
        "cid": 161602123,
        "page": 1,
        "from": "vupload",
        "part": "序列 01_1",
        "duration": 246,
        "vid": "",
        "weblink": "",
        "dimension": {
          "width": 1920,
          "height": 1080,
          "rotate": 0
        }
      }
    ],
    "subtitle": {
      "allow_submit": false,
      "list": []
    },
    "staff": [
      {
        "mid": 37399970,
        "title": "UP主",
        "name": "katsu-Lee",
        "face": "http://i0.hdslb.com/bfs/face/766f4a69a5f046052c7acfa1ac2de424e5e071c3.jpg",
        "vip": {
          "type": 1,
          "status": 0,
          "vip_pay_type": 0,
          "theme_type": 0
        },
        "official": {
          "role": 0,
          "title": "",
          "desc": "",
          "type": -1
        },
        "follower": 5720,
        "label_style": 0
      },
      {
        "mid": 407012333,
        "title": "作词",
        "name": "赭柚奶",
        "face": "http://i0.hdslb.com/bfs/face/c3efbb41df46db6ff060e8260ce3b1c0ab2a655d.jpg",
        "vip": {
          "type": 0,
          "status": 0,
          "vip_pay_type": 0,
          "theme_type": 0
        },
        "official": {
          "role": 0,
          "title": "",
          "desc": "",
          "type": -1
        },
        "follower": 276,
        "label_style": 0
      },
      {
        "mid": 5544091,
        "title": "视频制作",
        "name": "白凉Nitram",
        "face": "http://i0.hdslb.com/bfs/face/fa7536570e189f438e2a0915cf87df34f13ea248.jpg",
        "vip": {
          "type": 1,
          "status": 0,
          "vip_pay_type": 0,
          "theme_type": 0
        },
        "official": {
          "role": 0,
          "title": "",
          "desc": "",
          "type": -1
        },
        "follower": 80,
        "label_style": 0
      },
      {
        "mid": 8226658,
        "title": "调校",
        "name": "流绪绪绪",
        "face": "http://i2.hdslb.com/bfs/face/ad59b1d06801a9689bc6d6510f9d88a1fde7b27d.jpg",
        "vip": {
          "type": 2,
          "status": 1,
          "vip_pay_type": 0,
          "theme_type": 0
        },
        "official": {
          "role": 7,
          "title": "音乐领域优质UP主",
          "desc": "",
          "type": 0
        },
        "follower": 21477,
        "label_style": 0
      },
      {
        "mid": 1986114,
        "title": "曲绘",
        "name": "瓷小鱼",
        "face": "http://i2.hdslb.com/bfs/face/f47e6d0471a3895e58f6550ea6cb6591bba89190.jpg",
        "vip": {
          "type": 1,
          "status": 0,
          "vip_pay_type": 0,
          "theme_type": 0
        },
        "official": {
          "role": 0,
          "title": "",
          "desc": "",
          "type": -1
        },
        "follower": 733,
        "label_style": 0
      }
    ]
  }

In the owner part of the response, we see "katsu-Lee" is the one who uploaded the video, and is currently grabbed as the producer by VocaDB when adding the song. If you scroll down and check the staff part, you can see all the staff credited for making this video. In this case, "katsu-Lee" is credited with the title "UP主" (video uploader, maybe the publisher on vocaDB), while "赭柚奶" is credited with the title "作词" (lyricist), "白凉Nitram" the "视频制作" (animator), "流绪绪绪" the "调校" (voice manipulator) and "瓷小鱼" the "曲绘" (illustrator). It would be great convenience if all these roles can be automatically credited.

riipah commented 4 years ago

Are the roles (titles) fixed/consistent, or can they be whatever? Does the upload select the role from a predefined list or is it free form text?

AgFlore commented 4 years ago

Are the roles (titles) fixed/consistent, or can they be whatever? Does the upload select the role from a predefined list or is it free form text?

So far the roles can be only selected from a predefined list. Currently it reads: "作词" (lyricist), "作曲" (composer), "编曲" (arranger), "演唱" (vocal), "混音" (mixing), "曲绘" (illustrator), "后期" (post-production), "视频制作" (animator), "调校" (tuning), "参演" (starring), "填词" (lyricist for changed-lyrics-covering), "配音" (dubbing), "调音" (voice tuning for Jinriki vocaloids or MAD videos), "剪辑" (video clipping), "演奏" (instrumentalist), "母带" (mastering), "字幕" (subtitles) and "策划" (director/initiator).

ycanardeau commented 3 years ago
List of role names: Bilibili VocaDB
"作词" (lyricist) Lyricist
"作曲" (composer) Composer
"编曲" (arranger) Arranger
"演唱" (vocal) Vocalist
"混音" (mixing) Mixer
"曲绘" (illustrator) Illustrator
"后期" (post-production) N/A
"视频制作" (animator) Animator
"调校" (tuning) N/A
"参演" (starring) N/A
"填词" (lyricist for changed-lyrics-covering) N/A
"配音" (dubbing) N/A
"调音" (voice tuning for Jinriki vocaloids or MAD videos) N/A
"剪辑" (video clipping) N/A
"演奏" (instrumentalist) Instrumentalist
"母带" (mastering) Mastering
"字幕" (subtitles) N/A
"策划" (director/initiator) N/A
N/A Distributor
N/A Other
"UP主" (video uploader) Publisher
N/A Vocal data provider
N/A Voice manipulator
AgFlore commented 3 years ago

List of role names: Bilibili VocaDB "作词" (lyricist) Lyricist "作曲" (composer) Composer "编曲" (arranger) Arranger "演唱" (vocal) Vocalist "混音" (mixing) Mixer "曲绘" (illustrator) Illustrator "后期" (post-production) N/A "视频制作" (animator) Animator "调校" (tuning) N/A

This one can be listed as Voice Manipulator soundly by definition I think.

"参演" (starring) N/A "填词" (lyricist for changed-lyrics-covering) N/A

And this can also be listed as Lyricist right?

"配音" (dubbing) N/A "调音" (voice tuning for Jinriki vocaloids or MAD videos) N/A

This one is also OK to be taken as voice manipulator.

"剪辑" (video clipping) N/A

Would we consider tagging this also as the animator?

"演奏" (instrumentalist) Instrumentalist "母带" (mastering) Mastering "字幕" (subtitles) N/A "策划" (director/initiator) N/A

Can this be the publisher as well?

N/A Distributor N/A Other "UP主" (video uploader) Publisher N/A Vocal data provider N/A Voice manipulator

ycanardeau commented 3 years ago

I noticed that VocaDB already has a feature that is very similar to this, MikuDbAlbumImporter and MikuDbAlbumService. They can import albums from MikuDB and add artists and songs automatically. We have a dedicated page for processing those imported albums. Do we need to have a dedicated page like this for Bilibili to credit artists automatically with respective roles? Any thoughts?

AgFlore commented 3 years ago

I noticed that VocaDB already has a feature that is very similar to this, MikuDbAlbumImporter and MikuDbAlbumService. They can import albums from MikuDB and add artists and songs automatically. We have a dedicated page for processing those imported albums. Do we need to have a dedicated page like this for Bilibili to credit artists automatically with respective roles? Any thoughts?

Sure it would be better if one can manually check whether all the credits are correct right in the Create-song page. The layout can be like the artists column in the song edit page, with one change-role (and perhaps the collaborative tickbox) button for each artist added.

But it'll be ok to me to leave the checkstep to the edit stage as it is now, the system just tags the artists' roles silently when the song is added, and the editor further verifies and modifies the roles tagged in the entry editing page.