1. 程式人生 > >python 歌詞解析:解析成一個時間戳語句歌詞的形式,封裝函式(根據時間返回歌詞)

python 歌詞解析:解析成一個時間戳語句歌詞的形式,封裝函式(根據時間返回歌詞)

歌詞解析:解析成一個時間戳語句歌詞的形式,封裝函式(根據時間返回歌詞)

[ti:藍蓮花]
[ar:許巍]
[al:留聲十年絕版青春北京演唱會]
[00:-01.70]藍蓮花
[00:-00.70]演唱:許巍
[00:00.00]
[00:00.70]沒有什麼能夠阻擋
[00:06.01]你對自由的嚮往
[00:11.43]天馬行空的生涯
[00:16.99]你的心了無牽掛
[00:21.20]
[02:11.55][01:50.60][00:22.63]穿過幽暗的歲月
[02:16.93][01:55.60][00:27.81]也曾感到彷徨
[02:22.21][02:01.09][00:33.13]當你低頭的瞬間
[02:27.62][02:06.33][00:38.32]才發覺腳下的路
[02:31.64][02:10.23][00:42.37]
[02:32.97][00:43.79]心中那自由的世界
[02:38.23][00:49.50]如此的清澈高遠
[02:43.30][00:54.31]盛開著永不凋零
[02:47.70][00:58.50]藍蓮花
[02:53.95][03:00.06][01:05.41]

​python程式碼:

# 歌詞解析:解析成一個時間戳語句歌詞的形式,封裝函式(根據時間返回歌詞)


def song(t):

    ln = [

        [0.7,"沒有什麼能夠阻擋"],

        [6.01,"你對自由的嚮往"],

        [11.43,"天馬行空的生涯"],

        [16.99,"你的心了無牽掛"],

        [21.20," "],

        [22.63,"穿過幽暗的歲月"],

        [27.81,"也曾感到彷徨"],

        [33.13,"當你低頭的瞬間"],

        [38.32,"才發覺腳下的路"],

        [42.37," "],

        [43.79,"心中那自由的世界"],

        [49.50,"如此的清澈高遠"],

        [54.31,"盛開著永不凋零"],

        [58.50,"藍蓮花"],

        [65.41," "],

        [110.6,"穿過幽暗的歲月"],

        [115.6,"也曾感到彷徨"],

        [121.09,"當你低頭的瞬間"],

        [126.33,"才發覺腳下的路"],

        [130.23," "],

        [131.55,"穿過幽暗的歲月"],

        [136.93,"也曾感到彷徨"],

        [142.21,"當你低頭的瞬間"],

        [147.62,"才發覺腳下的路"],

        [151.64," "],

        [152.97,"心中那自由的世界"],

        [158.23,"如此的清澈高遠"],

        [163.30,"盛開著永不凋零"],

        [167.70,"藍蓮花"],

        [173.95," "],

        [180.06," "]
    ]

    for i in range(len(ln)):  #遍歷ln列表

        if t < ln[i][0]:      #找到t值第一次小於某時間的下標

            break              #找到之後結束迴圈

    i = i - 1                  #t時間段內正在播放i-1到i之間的歌詞

    print(ln[i][1])            #輸出對應的歌詞

while True:                    #死迴圈

    t = int(input("請輸入秒數:"))

    if t == "#":               #當t位“#”時結束迴圈

        break

    song(t)