Giter Site home page Giter Site logo

Comments (7)

WXRIW avatar WXRIW commented on June 9, 2024

显示歌词制作者信息是我一直在考虑的事情,从去年年中就有相关想法了。但是实现起来有诸多难点,下面我简单的列举几点。

  1. 很多用户自制歌词并不会携带 [by:] 的 Tag,而很多导入的歌词反而会携带此 Tag,如部分酷狗音乐的歌词等。
  2. Lyricify 在后台是有存储上传者的 Spotify ID 的,之前考虑过通过这个 ID 获取用户名,并显示出来。但是这个方案有以下两大缺点:
    • 由于要获取用户名,这就需要走 Spotify API,而 Spotify API 的请求所需要时间较长,不太适合为了一个名称来做一次请求。
    • Lyricify 存储的是一个 ID 序列,也就是说所有对这段歌词有过修改的用户都会被记录进去,如果需要显示多位用户,会比较麻烦。
  3. 由于 Lyricify 对原始歌词没有额外的编辑保护,对于未经管理员锁定的歌词,任何用户都有权限对其进行编辑,如果通过直接显示 Tag 中的 By 来显示创作者信息,就不能排除会有用户通过修改别人上传的歌词来将信息改成自己的行为。由于 Lyricify 用户数不是一个小数字,这种行为很难被及时发现和封禁。

我目前的打算

通过在年度报告中对自制歌词的数量进行显示,来激励社区用户为 Lyricify 歌词库贡献歌词。
在 2023 年的年度报告数据分析中,我已经实现了 Lyricify 歌词库的歌词来源分类,只是没有显示在最终报告中。在 2024 年的报告中我会想办法把这个数据展示出来。

感谢你对 Lyricify 和 Lyricify 歌词库的大力支持!

from lyricify-app.

St7530 avatar St7530 commented on June 9, 2024

我的想法如下:

  1. 不同于当前的歌词内容&时间戳信息区域,再为歌词头部信息单独分出一块灰色区域,禁止用户编辑
  2. 头部信息仅在导入歌词时由 Lyricify 自动加上[from: ];如果用户没有选择导入歌词,则自动标注[by: %username%]%username%在登录 Lyricify 时已经获取过了
  3. 无视用户在歌词内容&时间戳信息区域自行编写的“头部信息”,在保存、应用、或上传到服务器时自动删除
  4. 对于已经存在[by: ]的导入歌词,比如您提到的部分酷狗歌词,可以由您统一在服务器端批量将[by:Kugou]改为[from:Kugou]
  5. 不必显示所有修改的用户,仅显示最后一次修改的即可,因为前几次的用户歌词想必都是不准确的
  6. 如果不对歌词内容&时间轴作出修改,即使点击保存到服务器,头部标签也不更新

from lyricify-app.

WXRIW avatar WXRIW commented on June 9, 2024

不考虑将信息存储在歌词原文里,这样会造成诸多额外的问题。

  1. 想法是好的,实现起来是极其麻烦的。
  2. 用户名更改时就无法实现。
  3. 判断头部信息是很复杂的,因为这个编辑框里支持不止一种歌词格式,有些格式的头部 Tag 是不一样的。
  4. 酷狗的导入已经默认加入了酷狗的标识信息,不需要对 by 进行修改。
    image

from lyricify-app.

WXRIW avatar WXRIW commented on June 9, 2024

并且,如果坚持使用 by 标签来记录制作者,那么很多用户是并不知道这里可以记录制作者信息的。这个 by 就成为了很小众的记录方式,不够易用。

from lyricify-app.

St7530 avatar St7530 commented on June 9, 2024

并且,如果坚持使用 by 标签来记录制作者,那么很多用户是并不知道这里可以记录制作者信息的。这个 by 就成为了很小众的记录方式,不够易用。

[by: ]标签在用户保存、上传歌词时自动补上,且不允许用户自行修改

仅存储并显示用户上传该歌词时的 Spotify 用户名足矣。大多数人并不会频繁更换用户名,即便后续用户名更改,有必要的话也可以通过歌词管理员修正

from lyricify-app.

St7530 avatar St7530 commented on June 9, 2024

我认为这个方案理论逻辑上行得通,如果实现起来确实复杂,那也确实没有必要了,请由您关闭此 Issue 吧。
毕竟大多数人用 Lyricify 就是为了Apple Music 歌词,在Apple Music 歌词界面也看不到歌词来源信息 😃 😆

还是感谢您的耐心解答!!

from lyricify-app.

WXRIW avatar WXRIW commented on June 9, 2024

这个问题实现起来确实很麻烦,可能需要更多的时间去寻找一个更佳的解决方案。
本 Issue 先做关闭处理。后期若有更新进展,可关注 Lyricify 更新。

from lyricify-app.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.