歌词解析器 - python

这是一个Python程序,用于根据时间间隔显示相应的歌词。初始版本存在时间匹配问题,主要由于进制转换导致,后来通过改进实现了准确的时间与歌词对应。

该程序实现根据时间间隔显示相印的歌词

musicLrcStr = """[00:03.50]传奇
[00:19.10]作词:刘兵 作曲:李健
[00:20.60]演唱:王菲
[00:26.60]
[04:40.75][02:39.90][00:36.25]只是因为在人群中多看了你一眼
[04:49.00]
[02:47.44][00:43.69]再也没能忘掉你容颜
[02:54.83][00:51.24]梦想着偶然能有一天再相见
[03:02.32][00:58.75]从此我开始孤单思念
[03:08.15][01:04.30]
[03:09.35][01:05.50]想你时你在天边
[03:16.90][01:13.13]想你时你在眼前
[03:24.42][01:20.92]想你时你在脑海
[03:31.85][01:28.44]想你时你在心田
[03:38.67][01:35.05]
[04:09.96][03:39.87][01:36.25]宁愿相信我们前世有约
[04:16.37][03:46.38][01:42.47]今生的爱情故事 不会再改变
[04:24.82][03:54.83][01:51.18]宁愿用这一生等你发现
[04:31.38][04:01.40][01:57.43]我一直在你身旁 从未走远
[04:39.55][04:09.00][02:07.85]
"""

music_eachLines = musicLrcStr.splitlines()
# print(music_eachLines) #['[00:03.50]传奇', '[00:19.10]作词:刘兵 作曲:李健', '[00:20.60]演唱:王菲', '[00:26.60]', '[04:40.75][02:39.90][00:36.25]只是因为在人群中多看了你一眼', '[04:49.00]', '[02:47.44][00:43.69]再也没能忘掉你容颜', '[02:54.83][00:51.24]梦想着偶然能有一天再相见', '[03:02.32][00:58.75]从此我开始孤单思念', '[03:08.15][01:04.30]', '[03:09.35][01:05.50]想你时你在天边', '[03:16.90][01:13.13]想你时你在眼前', '[03:24.42][01:20.92]想你时你在脑海', '[03:31.85][01:28.44]想你时你在心田', '[03:38.67][01:35.05]', '[04:09.96][03:39.87][01:36.25]宁愿相信我们前世有约', '[04:16.37][03:46.38][01:42.47]今生的爱情故事 不会再改变', '[04:24.82][03:54.83][01:51.18]宁愿用这一生等你发现', '[04:31.38][04:01.40][01:57.43]我一直在你身旁 从未走远', '[04:39.55][04:09.00][02:07.85]']
List_DicTimeContent = []
for each_lineSplit in music_eachLines:
    each_lineSplit = each_lineSplit.split(']')
    # print(each_lineSplit) #['[04:40.75', '[02:39.90', '[00:36.25', '只是因为在人群中多看了你一眼']
    music_content = each_lineSplit.pop(-1)
    # print(music_content) #只是因为在人群中多看了你一眼
    # print(each_lineSplit) #['[04:40.75', '[02:39.90', '[00:36.25']
    for each_time in each_lineSplit:
        TimeList = []
        each_time = each_time[1:]
        # print(each_time) #00:19.10
        # print('')
        TimeList.append(each_time)
        dic_eachTimeContent = {
   
   'time':TimeList,'content':music_content}
        # print(dic_eachTimeContent) #{'time': ['02:54.83'], 'content': '梦想着偶然能有一天再相见'}
        List_DicTimeContent.append(dic_eachTimeContent)
# print(List_DicTimeContent) #[{'time': ['00:03.50'], 'content': '传奇'}, {'time': ['00:19.10'], 'content': '作词:刘兵 作曲:李健'}, {'time': ['00:20.60'], 'content': '演唱:王菲'}, {'time': ['00:26.60'], 'content': ''}, {'time': ['04:40.75'], 'content': '只是因为在人群中多看了你一眼'}, {'time': ['02:39.90'], 'content': '只是因为在人群中多看了你一眼'}, {'time': ['00:36.25'], 'content': '只是因为在人群中多看了你一眼'}, {'time': ['04:49.00'], 'content': ''}, {'time': ['02:47.44'], 'content': '再也没能忘掉你容颜'}, {'time': ['00:43.69'], 'content': '再也没能忘掉你容颜'}, {'time': ['02:54.83'], 'content': '梦想着偶然能有一天再相见'}, {'time': ['00:51.24'], 'content': '梦想着偶然能有一天再相见'}, {'ti
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值