Android-如何实现歌词同步到每一个字
在做一个音乐播放器,我已经同步到每一行了,怎么样实现同步到每一个字,即歌词颜色渐变?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
在做一个音乐播放器,我已经同步到每一行了,怎么样实现同步到每一个字,即歌词颜色渐变?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(4)
将时间映射到每个字上的做法人工成本太高了,每听一个字都要停一下,我估计做歌词的文件的人会疯掉。
更好的思路是分析音轨,声音的表现其实是有规律可循的,比如Siri或Google的声音搜索,如果能拿到这个东西的API或代码,或者根本不需要识别性那么强,只需要能断字和断句的算法就可以了。
lrc两句歌词之间的间隔,是上一句歌词费掉的时间,拿这个时间再除以这句的字数...,虽然这个方法不是很精确,但应该可以满足大量的歌词!
这是歌词文件的格式问题。
一般 lrc 格式的歌词文件是每一行作为一个时间点的,所以用这种格式的歌词文件只能同步到每一行。
你可以使用 krc 格式的歌词文件,这个是 酷狗音乐播放器 使用的格式文件,会对每个字进行记录时间点,就可以同步到每一个字了,但是这种文件比 lrc 文件复杂得多,如果你真的想要实现,还需自己去分析 krc 文件的格式,网上也有例子,自己搜一下。
分析人声音轨,在人生音轨的高处播放下一个字。但对于渐弱的声音无耐