如何在python中逐字读取歌曲并播放该歌曲的音频文件
我想让Python从一个文本文件中读取一首歌,同时播放这首歌。读取的方式有点像《Portal(Still Alive)》这首歌的播放方式。
这有点棘手,我觉得,但我需要Python一个字母一个字母地打印出这首歌,同时跟上实际歌曲的节奏。
任何帮助都非常感谢。
祝好!
编辑
import urllib.request # Example URL
url = "http://ntl.matrix.com.br/pfilho/oldies_list/top/lyrics/black_or_white.txt" # Open URL: returns file-like object
lyrics = urllib.request.urlopen(url) # Read raw data, this will return a "bytes object"
text = lyrics.read() # Print raw data
print(text) # Print decoded data:
print(text.decode('utf-8'))
编辑:
好的,我觉得这个问题可能有点宽泛,所以我想说我想做的就是:能够从文本文件中读取每个字符并打印出来,同时能够设置读取/打印的速度。
1 个回答
0
这里有一些基础代码,假设你事先已经有很多信息。
import sys
from time import sleep
# For python 2 import this
#from itertools import izip as zip
# Delay in seconds to wait before printing each *character* of the song lyrics
time_delays = [0.1, 0.1, 0.1, 0.5, 0.2, 0.1, 0.1]
song_lyrics = "thesong"
print "Let's sing a song..."
for song_char, char_delay in zip(song_lyrics, time_delays):
sleep(char_delay)
sys.stdout.write(song_char)
sys.stdout.flush()
希望这对你有帮助。我之所以使用 sys.stdout
而不是 print
,是因为这样更容易控制。而且你需要刷新缓冲区,不然屏幕只会在缓冲区满的时候才更新。