网易云音乐歌词批量下载(C#),针对 Walkman 优化

2017-08-10 22:08:16 +08:00
 SENSIR
https://github.com/Ludoux/LrcHelper
很早便开始做了,只是最近有时间,软件逐渐稳定起来,而且自己要的功能都填上了。发出来当个测试?不过不知道用 Windows 的 V 友多吗。

最大的特点便是对于外文歌词且有外文翻译的,可以以一定时间间隔错开,当作两句歌词来显示,或者根据长度来判断是要错开还是将翻译直接接在外文歌词后。使用场景是在 Walkman A25 的屏幕上显示歌词。

还有就是支持自定义歌词文件名格式,方便和歌曲名配对

记得看 Wiki 😀
4572 次点击
所在节点    分享创造
12 条回复
Famio
2017-08-10 22:41:26 +08:00
C#同党,前来支持!
only0jac
2017-08-10 22:55:44 +08:00
不知道国外用户有多少?还用英文界面?
VShawn
2017-08-10 22:57:50 +08:00
C#党手持黑色 A25 前来支援
CEBBCAT
2017-08-10 23:02:27 +08:00
支持一个,我也正在学 C#(学生),不知道有什么书或者网站是可以推荐?

顺便小小吐槽一下 UI,哈哈😄
SENSIR
2017-08-10 23:07:16 +08:00
@only0jac 实话讲,用户一直以来就我一个。
我不知道为什么英文界面会对你造成这么大的情绪波动,宋体中文不好看,微软雅黑字体太大。
Music playlist 这些是网易云音乐 URL 的内容,写英文更容易理解。
FilenamePattern 是模仿 Foobar 2000 的 rename 方法。
假如即使这样你也觉得英语有冒犯之意,MIT 协议欢迎 Fork,代码太烂但改改界面应该还是不会伤到人的。


@VShawn 当时买了 A25 一直就在思考歌词的事…两个时间轴相同的歌词又只会显示出一个,好气哟。后面就自己慢慢弄了,反正自己用也没有压力~
VShawn
2017-08-10 23:18:12 +08:00
@SENSIR 哈哈,还好我一直用蓝牙连接,从来不看屏幕歌词,根本没这方面的烦恼。
hljjhb
2017-08-10 23:43:54 +08:00
A15 路过 试了试一直 crash 但 1.0.6 版本以前是正常的

异常信息: System.Globalization.CultureNotFoundException

看了下 commit,没见有相关改动呃,是外文歌词那块?
sxw11
2017-08-11 00:24:03 +08:00
不知道为啥,在 V2 看见 C#贼亲切。。。
SENSIR
2017-08-11 07:33:04 +08:00
@CEBBCAT 我看的是图灵社区的几本,还有 MSDN …

@hljjhb 方便给出 ID 和类型(歌曲歌单?)吗?😀本身小小工具软件,早就习以为常了…但是第一次遇到一个错误,可能和环境有关?
only0jac
2017-08-11 09:00:42 +08:00
@SENSIR 没有没有,开源是好事,以前看到过一些度盘插件的开源项目,readme 用英文写,不是因为难以理解,是因为别扭……就像在中国一家公司上班,大家都说普通话,只有一个人一直在说英文
HRain
2017-09-19 10:51:24 +08:00
我 A15 弄歌词不能批量每次都麻烦的很 感谢 SENSIR!!
有个建议 翻译可以弄成在下一句歌词的前多少秒 而不是在这一句歌词的后多少秒 比如

[00:26.20]Well you only need the light when it's burning low
[00:29.30]只有在朦胧黯淡时才念及灯火光亮
[00:29.50]Only miss the sun when it starts to snow
[00:32.00]只有在冰天雪地时才怀念阳光温暖
[00:32.30]Only know you love her when you let her go
[00:38.00]只有在已然放手后才始知那是真爱
[00:38.30]Only know you've been high when you're feeling low
[00:42.00]只有在身处低谷时才遥想过去峥嵘
如果这样 那么那一句唱的长 英文歌词显示的时间就久 而翻译则是固定时间
这样看着舒服 更符合使用逻辑
不然一句唱了三秒 而英语只显示一秒 我就要看翻译两秒 显然看起来就像歌词快了几秒一样
SENSIR
2017-09-19 17:04:55 +08:00
@HRain 会考虑,但可能不会很快,你现在可以先试下高级设置里面延时调负数…多半不行。(时间值上翻译应该会在歌词前,但文本行就不是按照时间顺序来了,不知道 Walkman 读不读得了…)
当时就是烦这样原文时间太短,就有了高级设置调 1 那个模式,但主要针对日韩这种语言为方块字的歌曲(方块字相同意思下更短小),英文太长所以大多数情况都不能同屏显示。

(假如你愿意的话,应该是在 SharedFramework.cs 311-325 行,可能针对 DelayMsec 做一下正负判断,调一下输出文本的顺序就可以了,然后再把这段 copy 到 431-445 行。当然最优雅的解决方式是最后将文本转为歌词类排序再输出,不过…(本身是学习+自用小工具,能跑就是胜利…)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/382046

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX