Skip to content
This repository has been archived by the owner on Nov 3, 2023. It is now read-only.

文件名 singer 问题及命名建议 #135

Open
qupig opened this issue Sep 7, 2023 · 2 comments
Open

文件名 singer 问题及命名建议 #135

qupig opened this issue Sep 7, 2023 · 2 comments

Comments

@qupig
Copy link

qupig commented Sep 7, 2023

相关代码:

https://github.com/QiuChenlyOpenSource/QQFlacMusicDownloader/blob/b3b84496de59c901ccb6a554ed5d888ef329b576/flaskSystem/src/Common/Tools.py#L157-L159
https://github.com/QiuChenlyOpenSource/QQFlacMusicDownloader/blob/b3b84496de59c901ccb6a554ed5d888ef329b576/flaskSystem/src/Common/Tools.py#L233

目前直接使用了专辑信息的第一个 singer,由此会造成下述问题:

  • 当专辑中存在不同人演唱的同名歌曲时,由于最终文件名相同,造成只下载了其中一首
  • 当专辑中存在多个演唱者时,其他演唱者的歌曲也会被命名为第一个演唱者,产生命名错误

示例专辑:b:003efsms0jxvy5

建议:

  • 如果可能的话,最好查询 单曲演唱者,而不是使用 专辑演唱者
  • 对于单曲存在多个演唱者导致文件名过长的情况,可能直接省略演唱者是更好的选择
  • 为防止同名歌曲,建议文件名中附带 歌曲ID 进行区别
  • 对于歌曲名含特殊字符或过长的情况,也可以再省略歌曲名只使用 歌曲ID
  • 在校验是否已下载等场景中直接检查 歌曲ID,能更加准确、灵活、通用

可以考虑的文件名格式:[歌手1[,歌手2]...]-[歌曲名][.歌曲ID].Format,例如:

  • 张三,李四,王五 - 我是歌曲名.123456789.flac
  • 张三 - 我是歌曲名.123456789.flac
  • 我是歌曲名.123456789.flac (演唱者过多时,省略演唱者)
  • 123456789.flac (歌名过长时,省略歌名)
@QiuChenly
Copy link
Collaborator

呃 做一下回复:
其他的后面再说,主要回复一下为什么要强制第一个人做专辑艺术家:

  1. emby 显示专辑有bug,举个例子:a b 两首歌都属于xxx专辑,但是两个歌手演唱着singer分别是a b,这就会导致出现两个一摸一样的专辑,并且只有单独的一首歌,其他的非歌手的歌曲全部是另外单独一个专辑,所以我也是经过测试才决定这么写的。
  2. 我为了保证专辑艺术家能够让emby正确分类到一个专辑里,已经对专辑歌手做了查询,会先去qq服务器查询某专辑属于谁,然后就用这个歌手名称作为专辑演唱者,这就是为什么不用歌曲演唱者反而要用专辑演唱者的问题。

@qupig
Copy link
Author

qupig commented Sep 8, 2023

@QiuChenly 感谢回复。

抱歉没仔细看,该项目是主要只为 emby 做资源提供吗?

如果是 emby 的 bug,向上游反馈而不是将错就错造成其他错误,可能是更好的选择。

或将其作为一个选项,提供不同的输出方式。

文件名 singer 错误不是太大问题,只是影响查阅文件,但漏下同名歌曲就是硬错误了。

无论如何,感谢创建和维护该项目!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants